튜토리얼: 고정 휴머노이드 애니메이션의 루트 모션 스크립팅
1D 블렌딩

블렌드 트리(Blend Trees)

게임 애니메이션에서는 두 가지 이상의 모션을 블렌드하는 작업을 자주 합니다. 가장 흔한 예로 캐릭터의 속도에 따른 걷기와 달리기 애니메이션 블렌딩을 들 수 있습니다. 또 다른 예로는 캐릭터가 달리다가 꺾을 때 좌우로 몸을 기울이는 것과 같은 경우가 있습니다.

트랜지션과 블렌드 트리를 구별하는 것이 중요합니다. 둘 다 자연스러운 애니메이션을 만들기 위해 사용되나, 각각 다른 종류의 상황에 사용된다는 차이가 있습니다.

  • Transitions 는 일정 시간 안에 어떤 애니메이션 스테이트에서 다른 애니메이션 스테이트로 매끄럽게 전환하는 데 사용됩니다. 트랜지션은 애니메이션 상태 머신의 일부로서 지정됩니다. 어떤 모션에서 전혀 다른 모션으로 트랜지션되는 경우도 트랜지션이 빠르게 일어난다면 보통 문제가 없습니다.

  • Blend Trees 는 여러 개의 애니메이션을 블렌드하고, 각 애니메이션의 일부가 각각 다른 비중으로 합쳐져 매끄럽게 블렌딩되도록 하기 위해 사용합니다. 각각의 모션이 최종 효과에 어느 정도 영향을 주도록 할 것인지는 블렌딩 파라미터 를 사용하여 제어하는데, 이 파라미터는 애니메이터 컨트롤러에 관련된 수치인 애니메이션 파라미터 중에서 하나입니다. 모션을 자연스럽게 블렌드하기 위해서는 성질과 타이밍이 유사한 모션끼리 블렌드되어야 합니다. 블렌드 트리는 애니메이션 상태 머신의 특별한 스테이트 타입입니다.

유사한 모션의 예로 다양한 걷기와 달리기 애니메이션이 있습니다. 제대로 블렌드하기 위해, 클립에서의 움직임이 정규화된 시간 기준으로 같은 시점에 일어나야 합니다. 예를 들어, 걷기와 달리기 애니메이션에서 발이 땅에 착지하는 동작이 정규화된 시간 기준 같은 순간에 일어나도록 일치시킬 수 있습니다(왼발이 0.0에 착지, 오른발이 0.5에 착지 등). 정규화된 시간이 사용되기 때문에, 클립의 길이가 달라도 무방합니다.

블렌드 트리 사용

새로운 블렌드 트리에서 작업하기 위해 다음 단계를 수행합니다.

  1. 애니메이터 컨트롤러 창의 빈 공간에 마우스를 마우스 오른쪽 버튼으로 클릭합니다.
  2. 컨텍스트 메뉴가 나타나면 Create State > From New Blend Tree 를 선택합니다.
  3. 블렌드 트리를 더블 클릭하여 블렌드 트리 그래프를 엽니다.

이제 애니메이터 창에 전체 블렌드 트리의 그래프가 나타나며, 인스펙터는 현재 선택된 노드와 그 직계 자식 노드를 보여줍니다.

애니메이터 창이 전체 블렌드 트리의 그래프를 보여줍니다. 왼쪽은 루트 블렌드 노드만 있는 블렌드 트리의 경우입니다(자식 노드가 아직 추가되지 않음). 오른쪽은 루트 블렌드 노드와 세 개의 애니메이션 클립 자식 노드가 있는 블렌드 트리입니다.
애니메이터 창이 전체 블렌드 트리의 그래프를 보여줍니다. 왼쪽은 루트 블렌드 노드만 있는 블렌드 트리의 경우입니다(자식 노드가 아직 추가되지 않음). 오른쪽은 루트 블렌드 노드와 세 개의 애니메이션 클립 자식 노드가 있는 블렌드 트리입니다.

애니메이션 클립을 블렌드 트리에 추가하기 위해서는 블렌드 트리를 선택하고 인스펙터의 모션 필드에 있는 + 아이콘을 클릭하면 됩니다.

모션이 추가되지 않은 상태의 블렌드 노드를 인스펙터에서 볼 경우. + 아이콘을 사용하여 애니메이션 클립이나 자식 블렌드 트리를 추가합니다.
모션이 추가되지 않은 상태의 블렌드 노드를 인스펙터에서 볼 경우. + 아이콘을 사용하여 애니메이션 클립이나 자식 블렌드 트리를 추가합니다.

또는 블렌드 트리에서 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 선택하는 방식으로 애니메이션 클립이나 자식 블렌드 노드를 추가할 수도 있습니다.

블렌드 트리 노드에서 마우스 오른쪽 버튼으로 클릭했을 때의 컨텍스트 메뉴
블렌드 트리 노드에서 마우스 오른쪽 버튼으로 클릭했을 때의 컨텍스트 메뉴

블렌드 트리에 애니메이션 클립과 입력 파라미터를 설정하면, 파라미터 값이 변할 때 애니메이션이 어떻게 합쳐지는지를 인스펙터 창에서 그래픽 시각화를 통해 보여줍니다. 슬라이더를 드래그하면 트리의 루트에서 나오는 화살표의 셰이딩이 변화하면서 현재 어떤 애니메이션 클립이 우세한지 보여줍니다.

다섯 개의 애니메이션 클립으로 구성된 2D 블렌드 트리를 인스펙터에서 미리보기 하는 경우
다섯 개의 애니메이션 클립으로 구성된 2D 블렌드 트리를 인스펙터에서 미리보기 하는 경우

블렌드 트리 그래프의 어떤 노드든지 선택하여 인스펙터에서 확인할 수 있습니다. 선택한 노드가 애니메이션 클립일 경우 해당 애니메이션 클립의 인스펙터가 나타납니다. 애니메이션을 모델에서 임포트한 경우, 읽기 전용으로 설정됩니다. 블렌드 노드를 선택했다면 블렌드 노드의 인스펙터가 나타납니다.

블렌드 타입 메뉴에서 1D 또는 2D 블렌딩을 선택할 수 있습니다. 두 타입의 차이는 이 섹션의 해당 페이지에서 설명합니다.

블렌드 트리(Trees) 및 루트 모션(Motion)

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

튜토리얼: 고정 휴머노이드 애니메이션의 루트 모션 스크립팅
1D 블렌딩