블렌드 스페이스 분석

블렌드 스페이스 분석을 사용하여 블렌드 스페이스 샘플을 정확하게 계산하고 배치합니다.

Choose your operating system:

Windows

macOS

Linux

샘플을 블렌드 그래프에 정확하게 배치하는 것은 오래 걸리는 지루한 작업일 수 있습니다. 애니메이션에 어떤 특징이 있는지 모르는 경우 특히 그렇습니다. 블렌드 스페이스 분석(Blend Space Analysis) 을 사용하면 다양한 관련 프로퍼티를 계산한 다음 자동으로 샘플을 블렌드 스페이스에 배치할 수 있습니다.

이 문서에서는 블렌드 스페이스의 블렌드 스페이스 분석 시스템 개요를 알아봅니다.

전제조건

  • 블렌드 스페이스 개념을 이해하고 있습니다.

  • 프로젝트에 블렌드 스페이스 그래프의 샘플로 사용할 스켈레탈 메시 캐릭터와 필요한 임포트된 애니메이션이 있습니다.

블렌드 스페이스 분석은 애니메이션 블루프린트에서 생성된 블렌드 스페이스 노드에 사용할 수 없습니다.

분석 활성화하기

블렌드 스페이스 분석은 에셋 디테일(Asset Details) 패널에 있는 분석 축 함수 프로퍼티를 설정하여 모든 블렌드 스페이스 타입에 사용할 수 있습니다. 축 함수(Axis Function)없음(None) 이외의 값으로 설정하면 블렌드 스페이스 분석이 활성화되며, 선택할 값은 생성하려는 블렌드 스페이스의 유형에 따라 달라집니다. 예를 들어 에임 오프셋을 생성하는 경우, 보통 오리엔테이션(Orientation) 을 선택하는 것이 좋습니다.

블렌드 스페이스 분석

사용 가능한 축 함수 는 다음과 같습니다:

축 함수

설명

없음(None)

이 축에 대한 분석을 비활성화합니다.

위치(Position)

샘플 기간 동안 본 또는 소켓의 평균 위치를 계산합니다.

속도(Velocity)

샘플 기간 동안 본 또는 소켓의 평균 속도를 계산합니다.

델타 위치(Delta Position)

샘플 기간 동안 본 또는 소켓의 위치 변화를 계산합니다.

오리엔테이션(Orientation)

샘플 기간 동안 본 또는 소켓의 평균 오리엔테이션(롤, 피치, 요)을 계산합니다.

오리엔테이션 비율(Orientation Rate)

샘플 기간 동안 본 또는 소켓의 평균 롤/피치/요 변화 비율을 계산합니다.

델타 오리엔테이션(Delta Orientation)

샘플 기간 동안 본 또는 소켓의 롤/피치/요 변화를 계산합니다.

각 속도(Angular Velocity)

샘플 기간 동안 평균 회전 벡터(초당 도)로 각 속도를 계산합니다.

로코모션(Locomotion)

발 움직임을 기반으로 바이페드 캐릭터의 로코모션 속도를 추정합니다.

루트 모션(Root Motion)

루트 모션을 기반으로 캐릭터의 로코모션 속도를 추정합니다. 이를 위해서는 애니메이션 시퀀스의 루트 모션 데이터가 필요합니다.

분석 프로퍼티

축 함수 타입을 선택하면 추가 프로퍼티가 표시되며, 이를 사용하여 분석 환경을 설정할 수 있습니다. 대부분의 프로퍼티는 모든 타입에서 같지만, 특정 타입에서만 사용 가능한 프로퍼티도 있습니다.

분석 프로퍼티

이름

설명

축(Axis)

분석할 본 또는 소켓의 축입니다. 선택한 축 함수에 따라 다른 을 선택할 수 있습니다:

  • 위치 , 속도 , 델타 위치각 속도 는 분석 축의 X , Y 또는 Z 를 제공합니다.

  • 오리엔테이션 , 오리엔테이션 비율델타 오리엔테이션 은 분석 축의 피치 , 또는 를 제공합니다.

  • 로코모션루트 모션 은 분석 축의 속력(Speed) , 방향(Direction) , Forward Speed , Rightward Speed , Upward Speed , Forward Slope , Rightward Slope 를 제공합니다.

본/소켓(Bone/Socket)

분석할 본 또는 소켓을 지정합니다. 로코모션 으로 설정된 경우 각 발에 하나씩, 총 2개의 본/소켓 프로퍼티가 필요합니다. 일부 분석 기능은 피치, 롤, 요 값을 계산하기 위해 본의 오리엔테이션도 사용할 것입니다. 이 경우 캐릭터의 스켈레톤이 설정된 방식에 따라 페이싱(facing)오른쪽(right) 축도 정확하게 설정해야 합니다.

본 페이싱 축(Bone Facing Axis)

오리엔테이션 , 오리엔테이션 비율 , 델타 오리엔테이션 이 축 함수로 선택된 경우 선택한 본 또는 소켓의 전방을 향하는 축입니다.

본 오른쪽 축(Bone Right Axis)

오리엔테이션 , 오리엔테이션 비율 또는 델타 오리엔테이션 이 축 함수로 선택된 경우 선택한 본 또는 소켓의 오른쪽을 향하는 축입니다.

스페이스(Space)

공간 좌표를 분석에 활용하면 다른 본에 상대적인 특정 본의 위치와 오리엔테이션을 계산할 수 있습니다. 다음 공간 좌표 중에서 선택할 수 있습니다.

  • 월드(World) 스페이스는 캐릭터가 각 애니메이션 시퀀스 시작 시에 위치한 스페이스를 나타내며, 뷰포트 축 디스플레이를 통해 결정할 수 있습니다.

  • 고정(Fixed) 스페이스는 특정 본 또는 소켓의 스페이스를 애니메이션 시퀀스 도중 업데이트하지 않고 사용합니다. 이 스페이스를 사용하면 애니메이션 시퀀스 첫 프레임의 본 또는 소켓을 사용하여 자체 "월드 스페이스" 좌표 프레임을 지정할 수 있습니다.

  • 변경(Changing)고정 과 유사하지만, 스페이스가 애니메이션 시퀀스에서 분석되는 매 프레임마다 업데이트됩니다.

  • 이동(Moving) 스페이스는 변경 과 유사하지만, 속도가 본 스페이스에 대한 상대 속도로 계산됩니다.

분석 스페이스 본/소켓(Analysis Space Bone/Socket)

스페이스가 고정(Fixed) , 변경(Changing) 또는 이동(Moving) 으로 설정된 경우 공간 분석에 사용할 본 또는 소켓을 여기서 지정합니다.

캐릭터 페이싱 축(Character Facing Axis)

캐릭터가 향하는 방향입니다. 뷰포트 축 디스플레이를 통해 결정할 수 있습니다. 일반적으로 +Y 로 설정됩니다.

캐릭터 페이싱 축

캐릭터 상향 축(Character Up Axis)

캐릭터의 위 방향입니다. 뷰포트 축 디스플레이에서 파악할 수 있습니다. 일반적으로 +Z 로 설정됩니다.

시작 시간 프랙션(Start Time Fraction)

분석할 애니메이션 샘플의 정규화된 시작 시간입니다. 분석할 애니메이션의 특정 부분만 필요하다면 조정하는 것이 좋습니다.

끝 시간 프랙션(End Time Fraction)

분석할 애니메이션 샘플의 정규화된 끝 시간입니다. 분석할 애니메이션의 특정 부분만 필요하다면 조정하는 것이 좋습니다.

분석 예시

다음은 블렌드 스페이스 분석을 사용하여 블렌드 스페이스 그래프를 채우는 방법의 몇 가지 예시입니다.

에임 오프셋

에임 오프셋 샘플을 자동으로 배치하려면 블렌드 스페이스 분석을 다음과 같이 사용하면 됩니다. 이 예시에서는 에임 오프셋 에셋을 이미 생성했다고 가정합니다.

에임 오프셋 에셋 디테일 패널에서 가로 축 함수(Horizontal Axis Function)세로 축 함수(Vertical Axis Function) 프로퍼티를 찾아서 오리엔테이션 으로 설정합니다.

에임 오프셋 분석 오리엔테이션

추가 분석 프로퍼티가 각 축 함수 아래에 나타날 것입니다. 가로 축 아래에서 다음과 같이 프로퍼티를 설정합니다.

  • 로 설정합니다. 그러면 선택한 본 또는 소켓을 요(측면) 축에 따라 분석할 것입니다.

  • 본/소켓 을 캐릭터의 무기 또는 무기가 어태치되는 소품 본 으로 설정합니다. 대부분의 경우 오른손에 있는 무기 본입니다.

  • 본 페이싱 축 을 본이 어태치됐을 때 무기가 조준될 방향과 일치되도록 설정합니다. 대부분의 경우 +X 가 됩니다.

  • 본 오른쪽 축 을 본이 어태치됐을 때 무기의 오른쪽이 될 방향과 일치되도록 설정합니다. 대부분의 경우 +Y 가 됩니다.

에임 오프셋 가로 축 프로퍼티

세로 축 함수 아래에서 다음과 같이 프로퍼티를 설정합니다.

  • 피치 로 설정합니다. 그러면 선택한 본 또는 소켓을 피치(상하) 축에 따라 분석할 것입니다.

  • 본/소켓 을 캐릭터의 무기 또는 무기가 어태치되는 소품 본 으로 설정합니다. 대부분의 경우 오른손에 있는 무기 본입니다.

  • 본 페이싱 축 을 본이 어태치됐을 때 무기가 조준될 방향과 일치되도록 설정합니다. 대부분의 경우 +X 가 됩니다.

  • 본 오른쪽 축 을 본이 어태치됐을 때 무기의 오른쪽이 될 방향과 일치되도록 설정합니다. 대부분의 경우 +Y 가 됩니다.

에임 오프셋 세로 축 프로퍼티

이제 에셋 브라우저 에서 샘플을 드래그할 수 있습니다. 그러면 블렌드 그래프 내에서 샘플을 분석하고 자동으로 배치할 것입니다. 또한 그래프가 분석을 바탕으로 범위와 그리드 분할을 자동 조정할 것입니다.

분석할 샘플 추가

Ctrl 키를 누르고 그래프에서 커서를 움직여서 결과를 프리뷰합니다.

분석 결과 프리뷰

샘플을 분석한 뒤 샘플을 보다 정확하게 포함하도록 블렌드 스페이스의 축 범위를 조정해야 할 수도 있습니다.

로코모션

이 예시에서는 세로 축의 전방 움직임과 가로 축의 측면/횡이동 움직임을 제어하는 블렌드 스페이스를 생성합니다. 이 예시에서는 이미 블렌드 스페이스 에셋을 생성했다고 가정합니다.

블렌드 스페이스 에셋 디테일 패널에서 가로 축 함수(Horizontal Axis Function)세로 축 함수(Vertical Axis Function) 프로퍼티를 찾아서 로코모션(Locomotion) 으로 설정합니다.

로코모션 분석

추가 분석 프로퍼티가 각 축 함수 아래에 나타날 것입니다. 가로 축 아래에서 다음과 같이 프로퍼티를 설정합니다.

  • 오른쪽 속력 으로 설정합니다.

  • 본/소켓 1 을 캐릭터의 한쪽 발 본으로 설정합니다.

  • 본/소켓 2 를 캐릭터의 다른 쪽 발 본으로 설정합니다.

로코모션 분석 프로퍼티

세로 축 함수 아래에서 다음과 같이 프로퍼티를 설정합니다.

  • 전방 속력(Forward Speed) 으로 설정합니다.

  • 본/소켓 1 을 캐릭터의 한쪽 발 본으로 설정합니다.

  • 본/소켓 2 를 캐릭터의 다른 쪽 발 본으로 설정합니다.

로코모션 분석 프로퍼티

이제 에셋 브라우저에서 샘플을 드래그할 수 있습니다. 그러면 블렌드 그래프 내에서 샘플을 분석하고 자동으로 배치할 것입니다. 또한 그래프가 분석을 바탕으로 범위와 그리드 분할을 자동 조정할 것입니다.

로코모션 샘플 분석

추가 샘플을 드래그하여 분석 배열에 추가할 수도 있습니다.

추가 샘플

분석 관리하기

그래프에서 샘플 위치를 미세조정할 때 에셋 디테일 패널의 모든 샘플 분석(Analyze all Samples) 을 클릭하여 모든 샘플을 분석된 위치로 되돌릴 수 있습니다.

분석 리셋

분석 후 클린업

블렌드 스페이스의 복잡도에 따라, 그래프에 빨간색 선으로 표시되는 트라이앵글화(triangulation) 문제를 겪게 될 수도 있습니다.

블렌드 스페이스 분석 빨간색 오류

이는 블렌드 스페이스를 보간할 때 블렌딩 불연속을 유발할 수 있으므로 조정해야 합니다. 다음 중 한 가지 방법으로 해결할 수 있습니다.

  • 기존 샘플을 옮깁니다. 이렇게 하면 트라이앵글화 문제는 해결되지만 샘플 위치가 약간 부정확해질 수 있습니다.

  • 기존 샘플을 복제하고 현재 영역 밖에 배치하여 경계를 보다 볼록한 원형의 셰이프로 만듭니다.

  • 위치에 배치할 수 있는 새 샘플을 생성하여 문제가 되는 트라이앵글을 제거합니다.

옮기기 예시

이 예시에서는 두 샘플이 그래프 왼쪽에 서로 거의 겹치도록 배치되어 있어서 블렌딩 문제를 일으키고 있습니다. 에이밍이 +180과 -180으로 구분되므로 여분의 샘플을 선택하여 그래프 오른쪽의 원하는 위치로 옮길 수 있습니다.

샘플을 옮겨서 분석 수정

복제 예시

이 예시에서는 샘플이 포함된 영역의 외부나 가장자리 근처에서 블렌드 스페이스를 사용할 때 경계 샘플 몇 개가 문제를 일으킵니다. 이 샘플을 길거나 얇은 트라이앵글이 더 이상 생성되지 않을 때까지 그래프의 바깥쪽 가장자리로 옮긴 다음 우클릭하고, 복제(Duplicate) 를 선택하여 복제합니다. 이렇게 하면 분석된 위치에 복제본이 배치되고, 방금 옮긴 샘플이 유지됩니다.

경계 블렌드 스페이스 분석 수정