Animator Override Controller 에셋을 사용하여 상태 머신의 구조, 파라미터, 로직을 유지하면서 Animator 컨트롤러에서 애니메이션 클립을 오버라이드할 수 있습니다. 이 기법을 사용하여 동일한 Animator 컨트롤러의 여러 배리에이션을 생성할 수 있습니다.
예를 들어 게임에는 고블린, 오거, 엘프 등 다양한 캐릭터가 있습니다. 각 캐릭터는 대기, 회전, 조깅을 위해 서로 다른 애니메이션 클립을 사용하지만 각 상태 머신의 구조, 파라미터, 로직은 동일합니다. 이 경우 모든 캐릭터에 대한 기본 Animator Controller를 만들고 각 캐릭터에 대한 Animator Override Controller 에셋을 만들 수 있습니다.
기본 Animator 컨트롤러를 만들 경우 장점은 하나의 Animator 컨트롤러만 수정하여 게임플레이 로직, 구조 또는 게임 내 모든 캐릭터의 파라미터를 변경할 수 있다는 것입니다. 또한 게임에 새 캐릭터를 추가하려면 추가 Animator Override Controller 에셋만 생성하면 됩니다.
Animator Override Controller 에셋을 사용하려면 먼저 Animator Controller 에셋을 생성하고 정의해야 합니다. 이 단계는 이미 생성되고 정의된 Animator 컨트롤러(이름은 NPC Animator)로 시작합니다.
Animator Override 컨트롤러로 Animator 컨트롤러를 확장하려면 다음 단계를 따르십시오.
프로젝트 창에서 새 Animator Override Controller 에셋을 생성하려면 Assets > Create > Animation > Animator Override Controller로 이동합니다. 프로젝트 창에서 Create 버튼을 사용해도 됩니다
프로젝트 창에서 New Animator Override Controller 에셋을 선택하여 인스펙터 창에 해당 설정을 표시합니다.
Animator Override Controller 에셋의 이름을 Ogre Animator로 변경합니다.
오버라이드할 Animator Controller 에셋을 선택하려면 Controller 필드를 사용합니다. 이렇게 하려면 다음 작업 중 하나를 수행합니다.
Animator Controller 에셋을 선택하고 프로젝트 창에서 Controller 필드로 드래그합니다.
Animator Controller 피커(⊙)를 선택하고 표시되는 창에서 NPC Animator Controller를 선택합니다.
인스펙터 창에 두 개의 열로 구성된 표가 있는 Animator Override Controller가 표시됩니다. 첫 번째 열에는 원래 Animator 컨트롤러의 애니메이션 클립이 표시됩니다. 두 번째 열에는 오버라이드하는 클립이 표시됩니다. 기본적으로 각 오버라이드 애니메이션 클립은 원본 애니메이션 클립과 동일합니다.
Override 열의 필드를 사용하여 각 원본 애니메이션 클립에 대한 오버라이드 애니메이션 클립을 선택합니다. 예를 들어, NPC Animator 컨트롤러의 원본 애니메이션 클립은 오거 버전으로 오버라이드됩니다.
상태 머신에서 초 단위 또는 정규화된 시간을 사용하여 전환 종료 시간을 설정할 수 있습니다. Animator Override Controller를 사용하는 경우 전환 종료 시간을 정규화된 시간으로 설정해야 합니다.
초 단위로 설정하면 오버라이드 클립을 전환 종료 시간보다 짧게 지정할 경우 종료 시간이 무시될 수 있습니다. 종료 시간에 정규화된 시간을 사용하는 경우 상태 머신으로 정의한 비율에 따라 클립이 종료됩니다.
게임 오브젝트에 Animator Override Controller 에셋을 할당하려면 다음 단계를 따르십시오.
계층 창에서 Animator Override Controller를 사용할 게임 오브젝트를 선택합니다.
인스펙터 창에서 선택한 게임 오브젝트와 연결된 Animator Controller 컴포넌트를 찾습니다.
Animator Controller 컴포넌트에서 Animator 컨트롤러로 Ogre Animator를 선택합니다.
이 예시에서 Ogre Animator라는 Animator Override Controller 에셋은 NPC Animator라는 원본 Animator 컨트롤러와 동일한 로직, 전환 및 블렌드를 사용하지만, Ogre Animator Override Controller 에셋에 지정된 애니메이션 클립을 재생합니다.