애니메이션 전환(Animation transitions)
휴먼 템플릿(Human Template) 파일

아바타 마스크(Avatar Mask)

마스킹을 하면 클립 내에 있는 애니메이션 데이터의 일부를 무시할 수 있으므로, 클립에서 오브젝트나 캐릭터의 전체가 아닌 일부만 애니메이션화할 수 있습니다. 예를 들어, 팔과 다리의 모션 모두를 포함하는 스탠다드 걷기 애니메이션이 있다고 가정합시다. 하지만 캐릭터가 큰 물체를 양 손으로 들고 있는 경우라면 걸을 때 팔을 흔들지 않는 것이 자연스럽습니다. 이러한 경우에 마스크를 사용하면 걷기 애니메이션 위에 짐 운반 애니메이션을 상반신만 재생시키는 식으로 중첩함으로써, 짐을 들고 걸을 때에도 스탠다드 걷기 애니메이션을 사용할 수 있습니다.

마스킹은 임포트할 때 또는 런타임 시점에 애니메이션 클립에 적용할 수 있습니다. 임포트할 때 마스킹을 적용하면 불필요한 애니메이션 데이터를 제외하고 빌드하므로 파일 크기와 메모리 사용량이 줄어들게 되어 더 바람직합니다. 또한 런타임 시점에 블렌드되는 애니메이션 데이터의 양이 줄어들기 때문에 처리 속도도 빨라집니다. 그러나 때로는 임포트할 때 마스킹을 하는 방식이 목적에 부합하지 않을 수도 있습니다. 이러한 경우에는 아바타 마스크 에셋을 만들어 애니메이터 컨트롤러의 레이어 설정에서 사용하면 런타임 시점에 마스크를 적용할 수 있습니다. 이 페이지에서는 아바타 마스크 에셋 생성에 대해 설명합니다.

애니메이션의 어느 부분을 마스킹할지 설정하는 방법으로 두 가지가 있습니다. 애니메이션이 휴머노이드 아바타를 사용한다면 휴머노이드 바디 선택 메서드를 사용하면 됩니다. 휴머노이드 바디의 단순화 다이어그램에서 원하는 부위를 클릭하여 마스크할 부분을 선택 또는 해제하면 됩니다.

이 때 선택할 수 있는 신체 부위는 머리, 왼팔, 오른팔, 왼손, 오른손, 왼발, 오른발, 루트(발 아래의 “그림자”로 표시되는 부분)입니다. 바디 마스크에서 손과 발에 대해서는 역운동학(IK)을 토글 선택하여 IK 곡선을 애니메이션 블렌딩에 포함할지 말지 결정할 수 있습니다.

  • 아바타의 각 부분을 클릭하여 포함할 부분(초록색)과 포함하지 않을 부분(빨간색)을 선택합니다.
  • 아바타 주위의 빈 공간을 더블 클릭하면 전체를 한 번에 전환할 수 있습니다.
휴머노이드 바디 선택 메서드로 아바타 마스크 정의하기
휴머노이드 바디 선택 메서드로 아바타 마스크 정의하기

또는, 휴머노이드 아바타를 사용하지 않는 애니메이션인 경우나 마스킹 여부를 각 골격마다 세부적으로 조절하고자 하는 경우, 트랜스폼 메서드를 사용하면 모델의 계층 구조에서 선택 또는 해제하여 마스킹할 수 있습니다. 우선 마스킹하고 싶은 트랜스폼이 있는 아바타에 대한 참조를 할당한 후 “스켈레톤 임포트” 버튼을 클릭합니다. 그러면 인스펙터에 아바타의 계층 구조가 표시됩니다. 각 뼈대의 체크박스를 선택 또는 해제하여 계층 구조의 각 부분을 마스크로 사용할 수 있습니다.

트랜스폼 메서드를 사용한 아바타 마스크 정의
트랜스폼 메서드를 사용한 아바타 마스크 정의

마스크 에셋은 런타임 시점에 마스킹을 적용하기 위해 애니메이션 레이어를 지정할 때 애니메이터 컨트롤러에서 사용할 수 있습니다. 또는 애니메이션 파일 임포트 설정에서 사용하여 임포트 시점에 애니메이션에 마스킹을 적용할 수 있습니다.

마스크를 사용하면 비활성화된 신체 부위에 해당하는 애니메이션 커브는 필요가 없어지기 때문에 메모리 오버헤드가 전반적으로 줄어드는 장점이 있습니다. 또한, 사용하지 않는 애니메이션 커브는 재생 중에 산출할 필요가 없기 때문에 애니메이션의 CPU 오버헤드도 일반적으로 줄어듭니다.

애니메이션 전환(Animation transitions)
휴먼 템플릿(Human Template) 파일