Unity3D
상체 애니메이션 덧붙이기(AddMixingTransform)
blueasa
2012. 11. 16. 15:47
유니티에서 3D 캐릭터가 달리는 중에 상체만 공격애니메이션을 하게 만드려고 이리저리 삽질한 결과 정리..
[중요사항]
1. 우선 AnimationState.Layer가 같은 애니메이션은 Play(or CrossFade)하려는 애니메이션 외 모두를 정지시키면서 실행된다.
같이 실행되려면 레이어를 달리해야된다.
2. 그리고, Layer 디폴트는 0이고 Layer 숫자가 높을수록 애니메이션 우선순위가 높다.
애니메이션 두 개가 동시에 Play 될 때, Layer가 높은 애니메이션이 우선시 된다.
3. AddMixingTransform에 해당 애니메이션이 적용되는 부위(상체라던지..)의 Bone을 찾아서 넣어준다.
예) Transform mixTransform = transform.Find("Bip00 Spine");
animation["Attack"].AddMixingTransform(mixTransform);
[정리]
animation["RUN"].layer = 0;
animation["ATTACK"].layer = 1;
animation["ATTACK"].blendMode = AnimationBlendMode.Blend;
animation["ATTACK"].AddMixingTransform(trBone); // trBone은 알아서 받기..
- 이렇게 하고 RUN 중에 ATTACK 애니를 CrossFade 해주면 하체는 달리면서 상체는 공격하는 애니가 실행된다.
반응형