하위 상태 머신
솔로 및 뮤트 기능

애니메이션 레이어

Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 오브젝트를 던지거나 사격하는 것을 관리합니다.

애니메이션 레이어는 Animator Controller 의 좌측 상단에 있는 Layers Widget 에서 관리할 수 있습니다.

해당 창의 오른쪽 톱니바퀴 아이콘을 클릭하면 레이어의 설정을 볼 수 있습니다.

각 레이어 별로, 마스크(애니메이션이 적용될 애니메이션화된 모델의 부분)와 블렌딩 타입을 설정할 수 있습니다. 오버라이드(Override) 는 다른 레이어의 정보를 무시하는 설정이며, Additive 는 이전 레이어 위에 애니메이션을 더하는 설정입니다.

위젯 위에 있는 + 버튼을 누르면 새 레이어를 추가할 수 있습니다.

마스크(Mask) 프로퍼티는 해당 레이어에 사용되는 마스크를 지정합니다. 예를 들어 던지는 애니메이션을 모델의 상체에서만 재생함과 동시에 캐릭터가 걷거나 뛰거나 서 있을 수도 있게 하려면 다음과 같이 상체 부분이 정의된, 던지는 애니메이션을 재생하는 레이어 위에 마스크를 사용합니다.

레이어 사이드바의 ‘M’ 표시는 레이어에 마스크가 적용된 것을 표시합니다.

애니메이션 레이어 동기화

때때로 동일한 상태 머신을 여러 레이어에 재사용하는 것이 유용한 경우가 있습니다. 예를 들어, “부상” 동작을 두어, “건강” 상태에서의 걷기/뛰기/점프 애니메이션과는 다른 “부상” 상태 고유 애니메이션을 시뮬레이션하기를 원한다면, 레이어 중 하나에서 동기화(Sync) 체크박스를 클릭하고, 동기화를 원하는 레이어를 선택하면 됩니다. 상태 머신 구조는 동일하지만, 상태가 사용하는 실제 애니메이션 클립은 서로 다르게 됩니다.

이는 동기화된 레이어가 자신만의 상태 머신 정의를 가지지 않는다는 의미입니다. 대신, 동기화된 레이어 원본의 인스턴스를 가지게 됩니다. 상태 머신의 레이아웃이나 구조에 변경 사항이 있는 경우(상태나 전환을 추가/제거 등), 이는 동일하게 동기화된 레이어 원본에 적용됩니다. 동기화된 레이어에만 적용되는 유일한 변경 사항은, 각 상태에서 사용되는 애니메이션 선택을 변경한 경우입니다.

타이밍(Timing) 체크박스는 가중치에 따라, 동기화된 레이어의 각각의 애니메이션이 얼마 동안 재생될지 애니메이터가 조절할 수 있도록 합니다. 만약 타이밍 체크박스가 선택되지 않은 경우, 동기화된 레이어의 애니메이션은 자동으로 조절됩니다. 옵션이 선택된 경우, 애니메이션의 재생 시간은 각각의 가중치에 따라 각 애니메이션의 균형에 맞추어 조절됩니다. 두 경우 모두, 애니메이터가 애니메이션의 재생 시간을 조절합니다. 만약 옵션이 선택되지 않은 경우, 원본 레이어의 설정이 단독으로 우선시됩니다. 그 반대의 경우에는, 두 설정 간의 균형을 맞추게 됩니다.

화면에서는 Fatigued 레이어가 베이스 레이어와 동기화되어 있습니다. 상태 머신의 구조는 베이스 레이어와 같은 상태로 되어 있고, 각 상태에서 사용되는 각각의 애니메이션이 서로 다르지만 동급의 애니메이션으로 교환되어 있습니다
화면에서는 “Fatigued” 레이어가 베이스 레이어와 동기화되어 있습니다. 상태 머신의 구조는 베이스 레이어와 같은 상태로 되어 있고, 각 상태에서 사용되는 각각의 애니메이션이 서로 다르지만 동급의 애니메이션으로 교환되어 있습니다

레이어 사이드바의 ‘S’ 표시는 레이어가 동기화된 것을 표시합니다.


  • 2018–04–25 일부 편집 리뷰를 거쳐 페이지 수정됨
하위 상태 머신
솔로 및 뮤트 기능