애니메이션 스테이트 머신
애니메이션 파라미터

스테이트 머신 기초

기본 발상은, 캐릭터가 임의의 시점에서 특정 종류의 액션이 관여한다는 것입니다. 여기서 사용할 수 있는 액션은 게임 플레이 종류에 의존하지만, 아이들, 걷기, 달리기, 점프 등과 같은 전형적인 동작이 포함됩니다. 이러한 액션은 캐릭터가 걷기나 아이들 또는 무언가를 하고 있다는 의미에서 스테이트(상태)라고 불립니다. 일반적으로 캐릭터는 어떤 스테이트에서 다른 스테이트로 바로 전환된다기 보다는, 다음 스테이트에 대한 제약 조건을 가질 것입니다. 예를 들어, 달리면서 점프하기는 캐릭터가 이미 달리고 있을 때만 실행할 수 있으며, 서서 정지하고 있느 경우에는 가능하지 않습니다. 그러므로 아이들 상태에서 점프 상태로 바로 전환되지 말아야 합니다. 캐릭터가 현재의 스테이트에서 들어갈 수 있는 다음 스테이트의 옵션을 스테이트 트랜지션이라고 합니다. 스테이트의 세트, 트랜지션의 세트 및 현재 스테이트의 변수들을 합침으로써 스테이트 머신을 구성합니다.

스테이트 머신의 스테이트와 트랜지션은 다이어그램으로 나타낼 수 있습니다. 노드는 스테이트를 나타내며 노드 사이의 화살표가 트랜지션을 나타냅니다. 현재 노드는 마커가 붙거나 하이라이트되어 있으며, 여기에서 화살표 중 하나를 따라서만 다른 노드로 이동할 수 있습니다.

스테이트 머신의 중요성은 상대적으로 적은 코딩을 통하여 빠르고 쉽게 설계와 업데이트를 할 수 있다는 것에 있습니다. 각 스테이트는 스테이트 머신이 해당 상태로 전환할 때마다 재생할 수 있는 모션(Motion)을 가집니다. 이는 애니메이터와 기획자가 코드가 어떻게 동작할 지에 대한 걱정없이 캐릭터 액션과 애니메이션의 순서를 정의할 수 있게 합니다.

메카님 스테이트 머신

메카님의 애니메이션 스테이트 머신은 특정 캐릭터에 관련한 애니메이션 클립 모두를 둘러보고, 게임에서 다양한 이벤트를 (예를 들어, 사용자 입력에서) 다른 애니메이션으로 트리거하는 방법을 제공합니다.

애니메이션 상태 머신은 Animator Controller 창을 통해 설정할 수 있으며, 이는 다음과 같이 보입니다:

스테이트 머신은 States, Transitions, Events로 구성되며, 더 작은 서브-스테이트 머신은 더 큰 시스템 내의 일부로서 구성할 수 있습니다. 자세한 내용은 애니메이션 스테이트애니메이션 트랜지션 레퍼런스 페이지를 참조하십시오.

애니메이션 스테이트 머신
애니메이션 파라미터