상태 머신 동작(State Machine Behaviours)
애니메이션 레이어

하위 상태 머신

캐릭터가 여러 단계로 구성되는 복잡한 액션을 취하는 것은 일반적입니다. 이 경우 전체 액션을 하나의 상태로 처리하는 것보다는 단계별로 이를 분리하여 각각에 대해 분리된 상태를 사용하는 것이 좋습니다. 예를 들어 캐릭터는 “트릭샷” 액션을 취할 수 있는데 이는 쪼그려 앉아 조준하고 발사한 후 다시 일어나는 단계로 나눌 수 있습니다.

트릭샷 액션의 상태 순서
“트릭샷” 액션의 상태 순서

물론 제어를 위한 목적으로는 유용하지만, 복잡한 액션이 추가되는 만큼 상태 머신이 더욱 커지고 취급이 어려워진다는 단점이 있습니다. 이 문제는 에디터에서 빈 공간을 통해 시각적으로 상태 그룹을 분리하여 해결할 수도 있습니다. 하지만 메카님은 상태 머신 다이어그램에서 상태 그룹을 단일 이름을 가지는 항목으로 축소하여 이러한 작업을 더욱 간편하게 합니다. 이렇게 축소된 상태 그룹을 하위 상태 머신 이라고 합니다.

애니메이터 컨트롤러(Animator Controller) 창의 빈 공간을 마우스 오른쪽 버튼으로 클릭한 후 컨텍스트 메뉴에서 하위 상태 머신 생성(Create Sub-State Machine) 을 선택하여 하위 상태 머신을 생성할 수 있습니다. 에디터에서 하위 상태 머신은 노멀 상태와 구분할 수 있도록 길쭉한 육각형 모양으로 표시됩니다.

하위 상태 머신
하위 상태 머신

육각형을 더블 클릭하면 에디터가 비워지며 하위 상태 머신을 마치 별도의 상태 머신인 것처럼 수정할 수 있습니다. 창의 상단 바는 “이동 경로 트레일”을 보여주며, 어떤 하위 상태 머신이 수정 중인지 나타냅니다. 이 때 하위 상태 머신에 다른 하위 상태 머신을 추가할 수 있습니다. 트레일의 항목을 클릭하면 에디터가 특정 하위 상태 머신을 표시합니다.

이동 경로 트레일
“이동 경로 트레일”

외부 전환

위에서 언급한 바와 같이 하위 상태 머신은 에디터에서 상태 그룹을 시각적으로 축소시키는 방법이므로 하위 상태 머신으로 전환할 때에는 어떤 상태에 이를 연결할지 선택해야 합니다.

트릭샷 하위 상태 머신에서 목표 상태 선택
“트릭샷” 하위 상태 머신에서 목표 상태 선택

하위 상태 머신에 Up 로 시작하는 이름을 가진 추가 상태가 있음을 확인할 수 있습니다.

Up 상태
“Up” 상태

Up 상태는 “외부 월드”를 나타내며, 이는 뷰에서 하위 상태 머신을 포함하는 상태 머신을 의미합니다. 하위 상태 머신의 상태에서 Up 상태에 전환을 추가하는 경우 포함된 상태 머신의 상태 중 어떤 것에 연결할지 선택하라는 메시지가 표시됩니다.

상위 상태 머신에 연결
상위 상태 머신에 연결
상태 머신 동작(State Machine Behaviours)
애니메이션 레이어