# 메카님 애니메이션 시스템

> Learn how clips, controllers, avatars, and the Animator component work together.

메카님 애니메이션 시스템은 [애니메이션 클립](/engine/6000.0/manual/animation-section/animation-overview/animation-clips.md)을 기반으로 합니다. 애니메이션 클립은 캐릭터 또는 게임 오브젝트가 시간의 흐름에 따라 위치, 회전 또는 기타 프로퍼티를 변경하는 방식에 대한 정보를 포함합니다. 각 애니메이션 클립을 녹화본으로 생각해 보십시오. 외부 소스의 애니메이션 클립은 Autodesk® 3ds Max® 또는 Autodesk® Maya®와 같은 타사 소프트웨어를 사용하여 아티스트 또는 애니메이터가 만듭니다.

많은 애니메이션 클립을 [애니메이터 컨트롤러](/engine/6000.0/manual/animation-section/animation-overview/class-animator-controller.md)라는 구조화된 플로차트와 유사한 시스템으로 구성할 수 있습니다. 애니메이터 컨트롤러는 재생 중인 애니메이션 클립과 다음 애니메이션 클립 재생 시점의 기준을 추적하는 [상태 머신](/engine/6000.0/manual/animation-section/animation-overview/class-animator-controller/animation-state-machines.md) 역할을 합니다.

예를 들어 간단한 애니메이터 컨트롤러에는 회전하고 반사되는 수집 가능한 아이템에 대한 단일 애니메이션 클립이 포함될 수 있습니다. 문에 대한 애니메이터 컨트롤러에는 두 개의 애니메이션 클립이 포함될 수 있습니다. 하나는 문 열기, 다른 하나는 문 닫기입니다.

더 고급인 애니메이터 컨트롤러에는 대기, 회전, 걷기, 가볍게 뛰기와 같은 캐릭터의 각 행동에 대해 수십 개의 휴머노이드 애니메이션이 포함될 수 있습니다. 이 애니메이터 컨트롤러는 여러 애니메이션 클립을 블렌딩하고 플레이어가 씬에서 움직일 때 유동적인 모션을 제공하기 위해 [블렌드 트리](/engine/6000.0/manual/animation-section/animation-overview/class-animator-controller/animation-state-machines/class-blend-tree.md)를 사용할 수 있습니다.

메카님 애니메이션 시스템은 휴머노이드 캐릭터를 처리하기 위한 특수한 기능을 제공합니다. 여기에는 한 소스에서 다른 소스로 애니메이션을 [다시 타게팅](/engine/6000.0/manual/animation-section/animation-overview/avatar-creationand-setup/retargeting.md)하고 캐릭터가 올바르게 변형되도록 [근육 정의](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/class-fbximporter/fbximporter-rig/muscle-definitions.md)를 조정하는 기능이 포함됩니다. 예를 들어 타사 애니메이션 라이브러리에서 애니메이션을 자체 캐릭터로 다시 타게팅한 후 해당 캐릭터의 모션 범위를 조정할 수 있습니다. 이러한 특수 기능은 휴머노이드 캐릭터를 일반적인 내부 형식으로 매핑하는 Unity의 [아바타](/engine/6000.0/manual/animation-section/animation-overview/avatar-creationand-setup.md) 시스템을 통해 사용할 수 있습니다.

애니메이션 클립, 애니메이터 컨트롤러, 아바타는 [Animator 컴포넌트](/engine/6000.0/manual/animation-section/animation-overview/class-animator.md)가 있는 게임 오브젝트를 통해 서로 연결됩니다. 이 컴포넌트는 애니메이터 컨트롤러와 필요한 경우 모델의 아바타를 참조합니다. 애니메이터 컨트롤러는 애니메이션 클립도 참조합니다.


**메카님 애니메이션 시스템의 여러 부분이 서로 연결되는 방식:**
![](/api/media?file=/engine/6000.0/media/images/MecanimHowItFitsTogether.jpg)

이전 다이어그램은 다음의 워크플로를 보여 줍니다.

1. 애니메이션 클립은 [외부 소스에서 임포트](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/class-fbximporter/class-animation-clip.md)하거나 Unity에서 생성됩니다. 이 예에서는 [임포트된 휴머노이드 애니메이션](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/configuringthe-avatar.md)입니다.
2. 애니메이션 클립은 애니메이터 컨트롤러에 배치되고 배열됩니다. Animator 창에 애니메이터 컨트롤러가 표시됩니다. 애니메이션 또는 중첩된 하위 상태 머신을 나타내는 상태는 선으로 연결된 노드로 표시됩니다. 이 애니메이터 컨트롤러는 프로젝트(Project) 창의 에셋으로 존재합니다.
3. 리깅된 캐릭터 모델인 `Astrella`라는 우주 비행사는 Unity의 [아바타](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/class-fbximporter/fbximporter-rig/class-avatar.md) 포맷에 매핑된 뼈대의 특정 구성을 가지고 있습니다. 매핑은 프로젝트 창의 임포트된 캐릭터 모델 아래 아바타 에셋으로 저장됩니다.
4. 캐릭터 모델을 애니메이션화할 때는 Animator 컴포넌트가 연결되어 있습니다. 인스펙터(Inspector) 창에서 [Animator 컴포넌트](/engine/6000.0/manual/animation-section/animation-overview/class-animator.md)에 [Animator Controller](/engine/6000.0/manual/animation-section/animation-overview/class-animator-controller.md)와 [Avatar](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/class-fbximporter/fbximporter-rig/class-avatar.md)가 할당되어 있습니다. 애니메이터는 이를 함께 사용하여 모델을 애니메이션화합니다. 아바타 레퍼런스는 휴머노이드 캐릭터를 애니메이션화할 때만 필요합니다. [다른 애니메이션 유형](/engine/6000.0/manual/working-in-unity/working-with-gameobjects/models/importing/generic-animations.md)의 경우 애니메이터 컨트롤러만 필요합니다.

다음 주제에서는 메카님 애니메이션 시스템에 대한 자세한 내용을 설명합니다.

* [Animation Clips](/engine/6000.0/manual/animation-section/animation-overview/animation-clips.md)
* [휴머노이드 아바타](/engine/6000.0/manual/animation-section/animation-overview/avatar-creationand-setup.md)
* [Animator 컴포넌트](/engine/6000.0/manual/animation-section/animation-overview/class-animator.md)
* [애니메이터 컨트롤러](/engine/6000.0/manual/animation-section/animation-overview/class-animator-controller.md)
* [애니메이터 오버라이드 컨트롤러](/engine/6000.0/manual/animation-section/animation-overview/animator-override-controller.md)
* [플레이어블 API](/engine/6000.0/manual/animation-section/animation-overview/playables.md)
* [퍼포먼스 및 최적화](/engine/6000.0/manual/animation-section/animation-overview/mecanim-peformanceand-optimization.md)
* [메카님 FAQ](/engine/6000.0/manual/animation-section/animation-overview/mecanim-faq.md)
