상태 그래프를 이용한 상태 전환 작업

상태(States)는 오브젝트가 특정 상태에 있을 때 어떻게 행동해야 하는지를 규정하는 것이다. 상태(State)는 주로 인공지능(AI) 행동, 씬이나 레벨 구조 또는 상태 전환을 위해 요구되는 씬의 어떤 측면에 사용된다. 예를 들어, 적이면서 비 비플레이어 캐릭터의 상태 머신(state machine)은 "순찰(Patrolling)", "추적(Chasing)", "공격(Attacking)", "도피(Fleeing)" 네 개의 상태를 가질 수 있고, 문의 상태 기계은 "잠김(Locked)", "잠금 해제(Unlocked)", "열림(Open)" 세 개의 상태를 가질 수 있다. 그래프에 추가할 수 있는 상태 타입은 스크립트 상태(Script State)와 수퍼 상태(Super State) 두 가지가 있다. 스크립트 상태(Script State)는 중첩된(nested) 스크립트 그래프(script graph)로 구성되며, 수퍼 상태(Super State)에는 중첩된(nested) 상태 그래프(state graph)로 구성된다. (역자주-이후 부터는 상태라는 말 대신 State(스테이트)라고 사용하겠다. 텍스트가 번역된 것이 아니기 때문에 스테이트를 머릿속에서 상태라고 번역해 가며 읽지 않기 때문에 스테이트라고 바로 읽는 것이 더 자연스럽다.) 참고: State는 트랜지션(Transitions)을 통해 다른 State로 연결(전환)된다. Script State와 Super State 두 가지 모두 "nesters" 형태인데 이는 머신(Machine)과 똑같은 원리로 동작한다는 것을 의미한다. 즉, 해당 하위 그래프(Sub-graph)는 내장시키는 임배드(embed)로 작업하거나 참조형으로 연결시키는 그래프(graph)로 작업할 수 있다. Super State의 인스펙터(Inspector)도 같은 방식...