튜토리얼: "in-place" 휴머노이드 애니메이션에서의 루트 모션 스크립팅
1D 블렌딩

블렌드 트리

게임 애니메이션에서 자주 있는 작업은 두 가지 이상의 모션 간에 블렌드를 하는 것입니다. 가장 잘 알려진 사례는 캐릭터의 속도에 따른 걷기/달리기 애니메이션에 대한 블렌딩입니다. 또 하나의 사례는 달릴 때 좌우로 몸을 기울이는 것과 같은 경우입니다.

트랜지션과 블렌드 트리를 구별하여 생각하는 것이 중요합니다. 모두 매끄러운 애니메이션을 만들기 위해 사용되는 것이지만, 각각 다른 상황에서 사용됩니다.

  • 트랜지션은, 어떤 애니메이션 스테이트에서 다른 애니메이션 스테이트에 대한 변화를 일정한 시간 내에사 매끄럽게 하는 데에 사용됩니다. 트랜지션은 애니메이션 스테이트 머신의 일부로서 지정됩니다. 어떤 모션에서 전혀 다른 모션의 트랜지션도 빠른 트랜지션이라면 보통은 문제가 없습니다.

  • 블렌드 트리는 여러 개의 애니메이션에 대해 각 애니메이션 전부의 부분들을 다양한 정도로 포함시킴으로써 매끄럽게 블렌드할 수 있도록 하는 것입니다. 각각의 모션을 최종 애니메이션에 어느 정도 영향을 주도록 할 것인지는 _블렌딩 파라미터_를 사용하여 제어하는데, 이것은 애니메이터 컨트롤러에 관련된 애니메이션 파라미터 중 하나입니다. 블렌드된 모션이 자연스럽게 보이려면, 성질과 타이밍이 유사한 모션들끼리 블렌드 되어야 합니다. 블렌드 트리는 애니메이션 스테이트 머신의 특별한 스테이트 타입입니다.

비슷한 모션의 사례는 다양한 걷기/ 달리기 애니메이션에서 볼 수 있습니다. 블렌드가 제대로 작동하기 위해서 클립의 움직임은 정규화된 시간에서 동기화할 필요가 있습니다. 예를 들어, 걷기 및 달리기 애니메이션은 발이 땅에 착지하는 동일한 정규화된 시간에 일어나도록 동기시킬 수 있습니다(예를 들어 왼발이 0.0에서 착지, 오른발이 0.5에서 착지 등). 정규화된 시간이 사용되기 때문에 클립의 길이가 다른 것은 영향을 주지 않습니다.

블렌드 트리의 사용

새로운 블렌드 트리에서 작업하기 위해서는:

  1. Animator Controller 창의 빈 공간에서 마우스 오른쪽 클릭합니다.
  2. 오른쪽 클릭을 통해 나타나는 컨텍스트 메뉴에서 Create State > From New Blend Tree를 선택합니다.
  3. Blend Tree 더블 클릭하여 Blend Tree Graph에 들어갑니다.

이제 Animator Window에 블렌드 트리 전체 그래프를 표시하고, 인스펙터는 현재 선택되어 있는 노드 및 그 직계 자식 노드를 표시합니다.

Animator Window는 <span class="doc-prop">Blend Tree</span> 전체의 그래프를 표시합니다. 그 왼쪽에 있는 것은 루트의 블렌드 노드를 가진 블렌드 트리가 있으며, 자식 노드로써 세 개의 애니메이션 클립을 보유하고 있습니다.
Animator Window는 Blend Tree 전체의 그래프를 표시합니다. 그 왼쪽에 있는 것은 루트의 블렌드 노드를 가진 블렌드 트리가 있으며, 자식 노드로써 세 개의 애니메이션 클립을 보유하고 있습니다.

To add animation clips to the blend tree you can select the blend tree, then click the plus icon in the motion field in the inspector.

<span class="doc-inspector">Inspector</span>에 모션을 추가하기 전에 블렌드 노드를 표시
Inspector에 모션을 추가하기 전에 블렌드 노드를 표시

Alternatively, you can add animation clips or child blend nodes by right-clicking on the blend tree and selecting from the context menu:

The context menu when right-clicking on a blend tree node.
The context menu when right-clicking on a blend tree node.

이에 따라, 파라미터의 변화에 따라 애니메이션이 어떻게 조합될 지를 표시합니다 (슬라이더를 드래그하면 트리의 루트에서 화살표가 변화하여 현재 우위에 있는 애니메이션 클립을 표시합니다).

A 2D Blendtree set up with five animation clips, being previewed in the inspector
A 2D Blendtree set up with five animation clips, being previewed in the inspector

블렌드 트리 그래프의 임의의 노드를 선택하여 인스펙터에서 표시할 수 있습니다. 만약 선택된 노드가 애니메이션 클립인 경우는 인스펙터에 그 애니메이션 클립이 표시됩니다. 애니메이션을 모델에서 가져온 경우, 설정은 읽기 전용이 됩니다. 만약 노드가 블렌드 노드인 경우, 인스펙터에 블렌드 노드가 표시됩니다.

You can choose either 1D or 2D blending from the Blend Type menu; the differences between the two types are described on their own pages in this section.

블렌드 트리와 루트 모션

애니메이션 간의 블렌딩은 선형 보간을 사용하여 이루어집니다. (즉, 블렌딩 파라미터에 의해 가중되는 개별 애니메이션의 평균이 각 애니메이션의 양입니다.) 그러나 루트 모션은 같은 방법으로 보간되지 않습니다. 이것이 캐릭터에 어떤 영향을 미칠지에 대한 자세한 내용은 루트 모션 페이지를 참조하십시오.

튜토리얼: "in-place" 휴머노이드 애니메이션에서의 루트 모션 스크립팅
1D 블렌딩