상체 애니메이션 덧붙이기(AddMixingTransform)
Unity3D / 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 해주면 하체는 달리면서 상체는 공격하는 애니가 실행된다.
반응형
'Unity3D' 카테고리의 다른 글
간단한 Nav Mesh 예제 (0) | 2012.11.21 |
---|---|
런타임 중 텍스쳐 교체 (0) | 2012.11.20 |
Unity3d Android 해상도 설정하기 ( Screen.SetResolution ) (0) | 2012.11.14 |
Unity remote 사용방법 (iPhone, Android) (0) | 2012.11.08 |
Smooth Follow Camera (0) | 2012.11.06 |