ecsimsw

Blend Tree 본문

Blend Tree

JinHwan Kim 2019. 2. 25. 23:10
  • Blend Tree
    - Blend Tree는 여러가지 애니메이션이 혼합되어 각가 다른 비중으로 합쳐져 매끄러운 동작을 수행하도록 하는 작업 방식이다.
      예를 들면, 캐릭터가 달리면서 회전할 때, 입력 정도에 따라 꺾는 애니메이션과 달리는 애니메이션을 혼합하여 더 부드럽게 표현할 수 있는 것이다.
      Transition 방식은 변수나 시간을 기준으로 한 애니메이션에서 다음 애니메이션으로 전이되는 데 사용되고,
      Blend Tree 방식은 모션이 블렌딩 파라미터에 따른 비중으로 혼합되어 최종 모션으로 결정되어 동작하도록 작업하는 방식이다.
  • Add Motion field
    - 먼저 컨트롤 창의 빈 공간에 우클릭하여 Create State -> From new blend tree 를 선택하는 것으로 새로운 blend tree를 생성한다.
    - 먼저 컨트롤 창의 빈 공간에 우클릭하여 Create State -> From new blend tree 를 선택하는 것으로 새로운 blend tree를 생성한다.
      이 blend tree를 더블 클릭 하는 것으로 그래프를 열 수 있다. 인스펙터에서 Tree 이름을 변경하고 하단의 +를 눌러 모션 필드를 추가하고 클립을 드래그 하는 것으로 동작을 추가한다.

    달리기에 방향 전환 모션을 주고자 Blend Tree state를 생성하였다. 근원이 되는 좌측의 Run을 루트 노드, 우측 혼합될 노드를 자식 노드라고 한다.
  • Parameters
    - Transition과 마찬가지로 파라미터로 값을 설정하여 모션을 제어할 수 있다.
      Blend Type을 2D Freeform Directional으로 선택 후, 인스펙터의 parameters에 x,y축에 따라 영향을 받을 두 변수를 선택한다. 각 모션별 x,y position을 설정하면 축에 대입되는 변수의 값에 따라 모션이 혼합되어 동작된다.
      parameter 그래픽에선 모션의 위치에 따라 파라미터 값이 변할 때 어떤 모션이 가중되어 합쳐지는지 시각화 되어 보여준다. 빨간점을 움직여 현재 위치(x,y값)가 변수의 값일 때의 동작을 아래 애니메이션으로 확인해 볼 수 있다.

'Etc > Unity' 카테고리의 다른 글

Coroutine  (0) 2019.03.07
Socket connection  (3) 2019.02.27
Transition  (0) 2019.02.24
Mecanim  (0) 2019.02.23
Input Class / Input Manager / GetKey / GetButton  (0) 2019.02.22
Comments