Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 오브젝트를 던지거나 사격하는 것을 관리합니다.
애니메이션 레이어는 Animator Controller 의 좌측 상단에 있는 Layers Widget 에서 관리할 수 있습니다.
해당 창의 오른쪽 톱니바퀴 아이콘을 클릭하면 레이어의 설정을 볼 수 있습니다.
각 레이어 별로 마스크와 블렌딩 타입을 지정할 수 있습니다. 마스크는 애니메이션을 적용할 신체 부위를 지정합니다. 블렌딩 타입은 애니메이션이 적용되는 방식을 지정합니다.
위젯 위에 있는 + 버튼을 누르면 새 레이어를 추가합니다.
Mask 프로퍼티는 해당 레이어에 사용되는 마스크를 지정합니다. 예를 들어 던지는 애니메이션을 모델의 상체에서만 재생함과 동시에 캐릭터가 걷거나 뛰거나 서 있을 수도 있게 하려면 다음과 같이 상체 부분이 정의된, 던지는 애니메이션을 재생하는 레이어 위에 마스크를 사용합니다.
An ‘M’ symbol in the Layers sidebar indicates that the layer has a mask applied.
때때로 동일한 상태 머신을 여러 레이어에 재사용하는 것이 유용한 경우가 있습니다. 예를 들어, “부상” 동작을 두어, “건강” 상태에서의 걷기/뛰기/점프 애니메이션과는 다른 “부상” 상태 고유 애니메이션을 시뮬레이션하기를 원한다면, 레이어 중 하나에서 동기화(Sync) 체크박스를 클릭하고, 동기화를 원하는 레이어를 선택하면 됩니다. 상태 머신 구조는 동일하지만, 상태가 사용하는 실제 애니메이션 클립은 서로 다르게 됩니다.
이는 동기화된 레이어가 자신만의 상태 머신 정의를 가지지 않는다는 의미입니다. 대신, 동기화된 레이어 원본의 인스턴스를 가지게 됩니다. 상태 머신의 레이아웃이나 구조에 변경 사항이 있는 경우(상태나 전환을 추가/제거 등), 이는 동일하게 동기화된 레이어 원본에 적용됩니다. 동기화된 레이어에만 적용되는 유일한 변경 사항은, 각 상태에서 사용되는 애니메이션 선택을 변경한 경우입니다.
타이밍(Timing) 체크박스는 가중치에 따라, 동기화된 레이어의 각각의 애니메이션이 얼마 동안 재생될지 애니메이터가 조절할 수 있도록 합니다. 만약 타이밍 체크박스가 선택되지 않은 경우, 동기화된 레이어의 애니메이션은 자동으로 조절됩니다. 옵션이 선택된 경우, 애니메이션의 재생 시간은 각각의 가중치에 따라 각 애니메이션의 균형에 맞추어 조절됩니다. 두 경우 모두, 애니메이터가 애니메이션의 재생 시간을 조절합니다. 만약 옵션이 선택되지 않은 경우, 원본 레이어의 설정이 단독으로 우선시됩니다. 그 반대의 경우에는, 두 설정 간의 균형을 맞추게 됩니다.
An ‘S’ symbol in the Layers sidebar indicates that the layer is a synced layer.