Unity는 서로 다른 신체 부위의 복잡한 상태 머신을 관리하기 위해 Animation Layers 를 사용합니다. 예를 들면, 하체 레이어는 뛰거나 걷는 것을 관리하고, 상체 레이어는 오브젝트를 던지거나 사격하는 것을 관리합니다.
애니메이션 레이어는 Animator Controller 의 좌측 상단에 있는 Layers Widget 에서 관리할 수 있습니다.
해당 창의 오른쪽 톱니바퀴 아이콘을 클릭하면 레이어의 설정을 볼 수 있습니다.
각 레이어 별로, 마스크(애니메이션이 적용될 애니메이션화된 모델의 부분)와 블렌딩 타입을 설정할 수 있습니다. 오버라이드(Override) 는 다른 레이어의 정보를 무시하는 설정이며, Additive 는 이전 레이어 위에 애니메이션을 더하는 설정입니다.
위젯 위에 있는 + 버튼을 누르면 새 레이어를 추가할 수 있습니다.
마스크(Mask) 프로퍼티는 해당 레이어에 사용되는 마스크를 지정합니다. 예를 들어 던지는 애니메이션을 모델의 상체에서만 재생함과 동시에 캐릭터가 걷거나 뛰거나 서 있을 수도 있게 하려면 다음과 같이 상체 부분이 정의된, 던지는 애니메이션을 재생하는 레이어 위에 마스크를 사용합니다.
레이어 사이드바의 ‘M’ 표시는 레이어에 마스크가 적용된 것을 표시합니다.
때때로 동일한 상태 머신을 여러 레이어에 재사용하는 것이 유용한 경우가 있습니다. 예를 들어, “부상” 동작을 두어, “건강” 상태에서의 걷기/뛰기/점프 애니메이션과는 다른 “부상” 상태 고유 애니메이션을 시뮬레이션하기를 원한다면, 레이어 중 하나에서 동기화(Sync) 체크박스를 클릭하고, 동기화를 원하는 레이어를 선택하면 됩니다. 상태 머신 구조는 동일하지만, 상태가 사용하는 실제 애니메이션 클립은 서로 다르게 됩니다.
이는 동기화된 레이어가 자신만의 상태 머신 정의를 가지지 않는다는 의미입니다. 대신, 동기화된 레이어 원본의 인스턴스를 가지게 됩니다. 상태 머신의 레이아웃이나 구조에 변경 사항이 있는 경우(상태나 전환을 추가/제거 등), 이는 동일하게 동기화된 레이어 원본에 적용됩니다. 동기화된 레이어에만 적용되는 유일한 변경 사항은, 각 상태에서 사용되는 애니메이션 선택을 변경한 경우입니다.
타이밍(Timing) 체크박스는 가중치에 따라, 동기화된 레이어의 각각의 애니메이션이 얼마 동안 재생될지 애니메이터가 조절할 수 있도록 합니다. 만약 타이밍 체크박스가 선택되지 않은 경우, 동기화된 레이어의 애니메이션은 자동으로 조절됩니다. 옵션이 선택된 경우, 애니메이션의 재생 시간은 각각의 가중치에 따라 각 애니메이션의 균형에 맞추어 조절됩니다. 두 경우 모두, 애니메이터가 애니메이션의 재생 시간을 조절합니다. 만약 옵션이 선택되지 않은 경우, 원본 레이어의 설정이 단독으로 우선시됩니다. 그 반대의 경우에는, 두 설정 간의 균형을 맞추게 됩니다.
레이어 사이드바의 ‘S’ 표시는 레이어가 동기화된 것을 표시합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.