[Go-Unity 3D] 18. Animation Layer, Blend Tree 레이어,블렌더 ⭐⭐⭐
카테고리: Go Unity
Animation Layer / Blend Tree
고박사의 유니티 기초를 정리.
1. Animation Layer
레이어 생성, 설정
Animation Layer 부위별로 다른 애니메이션을 사용 Animator 탭의 레이어 생성 Base Layer,~~
레이어 설정
- Weight : 가중치를 설정해서 합성하는 정도를 선택
- Mask : 현재 레이어에서 사용할 avatar Mask
- Blending : 앞 순서의 애니메이션 계산에 덮어쓸 것인지(Override) 가산(Additive) 할 것인지 선택
- Sync : 다른 레이어와의 동기화 설정
- IK Pass : IK 애니메이션 사용 여부
운동학 FK, IK
순방향 운동학(Forward Kinematics : FK), 역 운동학(Inverse Kinematics IK)
아바타 마스크 (Mask)
생성
Project탭 -> + -> Avatar Mask
설정
- Humanoid는 스켈레톤 단위로 부위를 지정,
- 부위 클릭시 초록색(사용)/ 빨간색(X)로 변경
- Transform은 유니티 게임오브젝트의 레이어 단위로 부위를 지정
- Animation Type이 Humanoid가 아닐 때나 Humanoid지만 좀 더 세부적으로 부위를 선택할 때 사용
2. Blend Tree
: 여러개의 애니메이션 클립을 혼합해서 재생하는 기능
생성, 설정
- Animator View - 우클릭 - Create State - From New Blend Tree
- 생성하면 Float 파라미터 1개 자동 생성
- 노드 더블클릭시 내부로 이동해 설정 가능
Blend Tree 내부 설정
- Add Motion, Add Blentd Tree
- Inspector View의 Motion 리스트에 + 선택
Blend Tree Inspector View
- Blend Type : 블렌드 트리의 속성 (1D, 2D, Direct)
- Parameter : 어떤 애니메이션 클립, 블렌드 트리를 재생할 것인지 제어
- Motion : 블렌드 트리에 등록되는 애니메이션 클립, 블렌드 트리
Blend Type
Blend Type
- 1D : 하나의 파라미터로 애니메이션 블렌드
- 2D : 두 개의 파라미터로 애니메이션 블렌드
- 2D Simple Directional : 모두 다른 방향을 향하는 경우 ex) 대기, 각 방향 걷기(전,후,좌,우)
- 2D Freeform Directional : 다른 방향과 같은방향이 함께 있는 경우 ex) 대기, 각 방향 걷기(전,후,좌,우), 각 방향 뛰기
- 2D Freeform Cartesian : 한 방향을 향하는 경우 ex) 전진, 전진하며 좌/우 돌기
- Direct : Moiton 개수만큼 파라미터 필요
1D
하나의 파라미터로 애니메이션 블렌드 대기/걷기/뛰기를 매끄럽게 연결, 이동속도(파라미터)의 변화에 따라 애니메이션 블렌드 할 때 사용
1D
- 한개의 파라미터(MoveSpeed)로 블렌드
- Automate Thresholds가 true면 각 Motion의 값을 자동 설정 0 0.5 1
- 파라미터 값과 일치하는 Threshold 재생, 블렌드 된 애니메이션 재생
- 만약 moveSpeed가 0.1 이면 첫 번째 모션 80% 두번째 20%로 재생
2D
두개의 파라미터로 애니메이션 블렌드 방향성을 가지는 애니메이션을 블렌드 할 때 사용
2D
- 2D Simple Directional : 각 방향에 제일 큰 값만 인식 (걷기,뛰기 X)
- 2D Freeform Directional : 같은방향 여러개 애니메이션 배치 가능(걷기,뛰기 O)
- 2D Freeform CarTesian : 동일한 방향으로 진행되는 애니메이션
2D Simple Directional
2D Freeform Directional
2D Freeform CarTesian
Direct
모션 개수만큼 파라미터 필요 ex) 표정변화
3. 정리
- Blend Tree 를 사용하여 파라미터 값에따라 다른애니메이션 재생
댓글남기기