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를 통해 걷는 애니메이션과 인사하는 애니메이션 상,하체 따로 진행시키는 방법을 알아보자

반응형

+ Recent posts