언리얼 기초 21 애니메이션 블루프린트(8)

상태 머신(State Machine)

Third Person 템플릿 애니메이션 블루프린트의 애님그래프 좌측에는 두개의 상태 머신이 있다.

  • Locomotion States 캐릭터가 이동하는 상황에서 사용되는 상태머신
  • Main States 때리거나 맞는 등 갑작스래 발생한 상황 외의, 모든 범용적인 상태를 관리하며 필요할 경우 서브 상태머신(Locomotion State Machine)을 두고 시킨다

Locomotion 상태 머신을 더블 클릭하면 아래와 같다

상태머신은 여러개의 상태(State)를 다루며, 만약 캐릭터가 이 Locomotion 상태 머신을 사용한다면 Idle 상태와 Walk/Run상태 중 조건에 맞는 상태로 전환되게 될 것이다. 현재는 캐릭터가 Idle 상태(State)에 있다.

Idle State를 더블클릭하면 아래의 노드가 보인다

시퀸스 플레이어는 단순히 애니메이션을 플레이 하는 노드이다. 플레이 하는 애니메이션은 MM_Idle 에셋으로 마네킹이 서있는 애니메이션(어깨가 미세하게 흔들리는), 이게 최종적으로 애님 그래프의 Output Pose로 흘러가고 있는 것(동그라미의 흐름 참고)

전이 조건(Transition Rule)

다시 로코모션 상태머신으로 올라가자 화면 상단 경로 부분에 로코모션을 클릭하면 된다

Idle 상태와 Walk/Run 상태 사이에 화살표 아이콘이 보인다 위쪽 아이콘을 더블클릭해보자

앞서 보았던 이 애니메이션 블루프린트 이벤트그래프(EventGraph)의 Should Move 변수가 여기서 쓰이기 위해 세팅되었던 것.

이 변수가 True면 왼쪽 상태에서 오른쪽 상태로의 전환(Transition)이 이루어지는 것.

Idle 상태와 Walk/Run 상태 사이에 화살표 아이콘들중 아래 것을 더블클릭하면 다음과 같다

Not은 반대로 적용하는 것, 해당 변수가 False일경우 상태머신은 자신의 상태를 왼쪽 상태(Idle)로 만들 것이다.

Leave a Comment