Version: Unity 6.0 (6000.0)
언어 : 한국어
상태 머신 동작
애니메이션 레이어

하위 상태 머신

일반적으로 캐릭터는 여러 단계로 구성된 복잡한 동작을 수행합니다. 전체 액션을 단일 상태로 처리하는 대신 별도의 단계를 식별하고 각 단계에 별도의 상태를 사용하는 것이 좋습니다. 예를 들어 캐릭터가 몸을 웅크리고 안정적으로 조준한 후 사격하고 다시 일어서는 ’트릭샷’이라는 동작을 수행할 수 있습니다.

트릭샷 동작의 상태 순서
‘트릭샷’ 동작의 상태 순서

이는 제어 목적에는 유용하지만, 이러한 복잡한 동작이 더 많이 추가될수록 상태 머신이 커지고 다루기 힘들어진다는 단점이 있습니다. 에디터에서 빈 공간을 사용하여 상태 그룹을 시각적으로 분리하는 것만으로도 작업을 약간 단순화할 수 있습니다. 그러나 메카님에서는 이보다 한 단계 더 나아가 상태 머신 다이어그램에서 상태 그룹을 이름이 지정된 하나의 항목으로 축소할 수 있습니다. 이러한 축소된 상태 그룹을 하위 상태 머신 이라고 합니다.

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

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

육각형을 더블 클릭하면 에디터가 초기화되어 서브 상태 머신을 완전히 독립적인 상태 머신인 것처럼 편집할 수 있습니다. 창의 상단에 있는 막대는 현재 편집 중인 하위 상태 머신을 보여 주는 ’브레드크럼 트레일’을 보여 줍니다(다른 하위 상태 머신 내에서 하위 상태 머신을 만들 수도 있음). 트레일에서 항목을 클릭하면 에디터가 해당 하위 상태 머신에 포커스를 맞춥니다.

브레드크럼 트레일
‘브레드크럼 트레일’

외부 전환

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

트릭샷 하위 상태 머신 내에서 대상 상태 선택
‘트릭샷’ 하위 상태 머신 내에서 대상 상태 선택

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

Up 상태
‘Up’ 상태

Up 상태는 뷰에서 하위 상태 머신을 둘러싸는 상태 머신인 ’외부 세계’를 나타냅니다. 하위 상태 머신의 상태에서 Up 상태로의 전환을 추가하면 연결할 둘러싸는 머신의 상태 중 하나를 선택하라는 메시지가 표시됩니다.

둘러싸는 머신의 상태에 연결
둘러싸는 머신의 상태에 연결
상태 머신 동작
애니메이션 레이어