Animator Controller Layers
애니메이터 컨트롤러의 상태 머신들은 레이어로 나눌 수 있다.
예를들어 다른 신체 부위의 움직임을 나타낼때 사용 된다.
IK Pass : Inverse Kinematics 를 체크 하게 되면 그 레이어에 맞는 인덱스와 함께 OnAnimatorIk 함수가 호출된다.
Base Layer는 0이고 그다음에 추가되는 레이어들은 1부터 증가하는 자연수 인덱스를 가지게된다.
추가 되는 레이어들은 이전 레이어에 반응하는 방식과 관련된 추가 옵션이 있다.
Weight : 레이어가 가지는 가중치 값이 ‘0’이면 애니메이션의 전혀 영향을 주지 않는다.
(애니메이션 우선순위)
Mask : 애니메이션에서 신체의 어떤 부분만 제어할 것인지 AvatorMask 를 등록해 정할 수 있다.
Blending :1) Override : 가중치 낮게 지정된 레이어의 애니메이션을 대체한다.
2) Additive : 기존 애니메이션의 혼합되거나 더해지는 연산을 취한다.
ex) 캐릭터가 숨을 가쁘게 몰아쉬면서 점점 피곤해지는 레이어를 생각해보자
이 예에서, 숨을 가쁘게 쉬는 애니메이션이 더 낮은 레이어에 할당된 애니메이션에 추가된다. 레이어의 가중치를 높이면 피곤한 애니메이션이 더 뚜렷하게 보일 것이다.
Sync : 동기화 할 레이어를 선택할 수 있다. 그러면 선택한 레이어의 애니메이션과 동일한 상태 머신이 생성되지만 움직임이 없다. 이것은 부상당한 행동 같은 것을 표현 할 때
캐릭터가 건강한 상태와 체력을 잃어가는 과정에 이들을 혼합할 수 있다.
Timing : 동기화된 레이어에 있는 각 애니메이션의 지속 시간을 가중치를 기준으로 결정할 수 있다.
기본있는 BaseLayer에는 Walk 애니메이션을 추가한다.
Walk
(팔과 다리를 움직이게 했다.)
handWave 레이어
wavehand
추가 한 handWave 레이어 설정 값
Weight값은 0.5로 주고
Bleding은 Override로 설정했다.
파라미터 hand를 실행할때 손을 흔드는 모습을 볼 수 있다.
그런데 좌우로만 움직이는게 아니라 앞뒤로도 움직인다.
앞뒤로 움직이는 Base Layer와 좌우로 움직이는 Wavehand 레이어가 섞인 모습을 볼 수 있다.
다음은 Avatar를 통해 걷는 애니메이션과 인사하는 애니메이션 상,하체 따로 진행시키는 방법을 알아보자
'유니티 > 애니메이션' 카테고리의 다른 글
유니티) Humanoid Avatars (애니메이션 파트 나누기) (0) | 2019.01.06 |
---|---|
유니티) Animator Sub-state Machine hierarchies 애니메이션 하위구조 만들기 (0) | 2018.12.30 |
유니티) Blend Trees 에니메이션 디테일주기 (0) | 2018.12.28 |
유니티)기초 Animation, Animator Controller (1) | 2018.12.22 |