Unity 애니메이션 시스템 가이드
이 문서는 Unity 애니메이션 시스템에 대한 주요 개념과 용어를 설명하고, 각 용어의 정의를 제공합니다. Unity에서 애니메이션을 구현할 때 유용한 참고 자료가 될 것입니다.
애니메이션 기본 용어
| 용어 | 정의 |
|---|---|
| 애니메이션 클립 | 애니메이션화된 캐릭터나 단순한 애니메이션에 사용되는 데이터로, “대기”, “걷기”, “뛰기”와 같은 단일 모션입니다. |
| 애니메이션 커브 | 애니메이션 클립에 부착되어 게임의 다양한 파라미터에 의해 제어되는 곡선입니다. |
| 아바타 마스크 | 어떤 신체 부위를 포함하거나 제외할지 결정하는 기능으로, 애니메이션 레이어와 임포터에서 사용됩니다. |
| 아바타 | 한 골격을 다른 골격에 리타게팅하기 위한 인터페이스입니다. |
| 리타게팅 | 한 모델에서 생성된 애니메이션을 다른 모델에 적용하는 방법입니다. |
| 리깅 | 메시의 골격에 골조 계층 구조를 만드는 과정으로, 보통 외부 도구에서 진행됩니다. |
| 스키닝 | 캐릭터의 메시 또는 '피부'에 골조를 결합하는 과정입니다. |
| T-포즈 | 캐릭터가 T 자 모양으로 팔을 뻗은 자세로, 아바타를 만들기 위해 필요합니다. |
| 바인드-포즈 | 캐릭터가 모델링된 자세입니다. |
애니메이터 용어
| 용어 | 정의 |
|---|---|
| 애니메이터 컴포넌트 | 모델을 애니메이션화하는 컴포넌트로, 애니메이션을 제어하는 애니메이터 컨트롤러에 대한 참조를 포함합니다. |
| 루트 모션 | 애니메이션에 의해 캐릭터 루트의 움직임이 결정되며, 외부에 의해 제어될 수 있습니다. |
| 애니메이터 컨트롤러 | 애니메이션 파라미터에 의해 제어되는 애니메이션 상태 머신과 애니메이션 블렌드 트리를 통해 애니메이션을 제어합니다. |
| 애니메이터 창 | 애니메이터 컨트롤러를 보고 편집할 수 있는 인터페이스입니다. |
| 애니메이션 레이어 | 모델의 특정 애니메이션을 제어하는 상태 머신을 포함합니다. |
| 애니메이션 상태 머신 | 애니메이션 상태 간의 상호 작용을 제어하는 그래프이며, 각 상태는 블렌드 트리나 단일 애니메이션 클립을 참조합니다. |
| 애니메이션 블렌드 트리 | 플로트 애니메이션 파라미터를 기반으로 비슷한 애니메이션 클립끼리 블렌딩하는 데 사용됩니다. |
| 애니메이션 파라미터 | 스크립팅과 애니메이터 컨트롤러 간의 통신을 위해 사용되며, 특정 파라미터는 애니메이션 클립 내 커스텀 커브에 기반합니다. |
| 역운동학 | 세계의 다양한 오브젝트에 기반하여 캐릭터의 신체 부위를 제어할 수 있는 능력입니다. |
애니메이션 시스템 활용 예제
캐릭터 애니메이션 구현
- 애니메이션 클립 만들기:
- Unity 에디터에서 캐릭터의 다양한 모션을 생성합니다.
- 애니메이터 컨트롤러 설정:
- 캐릭터에 애니메이터 컴포넌트를 추가하고, 생성한 애니메이션 클립을 애니메이터 컨트롤러에서 설정합니다.
- 이벤트 트리거링:
- 게임의 진행 상황에 따라 애니메이션을 전환할 수 있는 스크립트를 작성합니다.
사용자 입력에 따른 애니메이션 전환
- 사용자 입력 감지:
- WASD 키를 눌러 캐릭터의 이동과 애니메이션을 제어합니다.
- 애니메이션 파라미터 변경:
- 사용자 입력에 따라 애니메이션 상태 머신의 파라미터 값을 변경하여 애니메이션을 트리거합니다.
복잡한 애니메이션 효과
- 애니메이션 블렌드 트리 사용:
- 다양한 애니메이션을 중첩하여 자연스러운 움직임을 연출합니다.
- 애니메이션 레이어 활용:
- 캐릭터의 상반신과 하반신의 애니메이션을 서로 다른 레이어로 나눠 제어합니다.
이번 가이드를 통해 Unity 애니메이션 시스템의 기본 개념과 활용 방안을 이해하고, 이를 기반으로 더 많은 애니메이션 효과를 구현해 보시기 바랍니다.