언어:
페이지 정보
엔진 버전:
언리얼 엔진

스테이트 머신 생성

언리얼 엔진

실제로 스테이트 머신 을 생성하기 전, 시간을 조금 들여서 정확히 어떤 스테이트(상태)가 필요한지, 그리고 각 스테이트 사이의 트랜지션(이행)을 유발시키는 정황에 대해서도 미리 계획을 세우는 것이 좋습니다. 그러면 스테이트 머신 뿐만 아니라 그것을 구동시키는 변수는 물론, 어떤 애니메이션이 각 상태의 부분이 될 것인지에 대해 확고한 공략 계획이 서게 됩니다.

스테이트 머신은 애니메이션 블루프린트 에디터애님 그래프 안에서 New State Machine (새 스테이트 머신)으로 만들 수 있습니다.

애니메이션 블루프린트 의 애님 그래프 안에 우클릭한 다음 컨텍스트 메뉴에서 State Machines > New State Machine (스테이트 머신 > 새 스테이트 머신)을 선택하면 됩니다.

![](CreateNewStateMachine.png)

일반적으로 스테이트 머신의 이름은 생성 직후에 지어주는 것이 좋습니다.
  1. 내 블루프린트 창에서 새 스테이트 머신에 우클릭한 다음, Name 칸에 이름을 입력해 줍니다.

    RenameStateMachine.png

    여기서는 스테이트 머신 이름을 "Locomotion" (운동) 이라 지었습니다.

    LocomotionSMNode.png

  2. 스테이트 머신을 더블클릭하여 열어 그 스테이트와 트랜지션을 정의할 수 있습니다.

    StateMachineEntryPoint.png

    그러면 새 그래프 탭이 열리는데, 이 그래프는 본질적으로 애니메이션을 발동시키는 시발점 말고는 없는 상태로 나옵니다.

스테이트와 컨듀잇 생성

스테이트를 새로 만드는 것은 블루프린트에서 노드를 새로 만드는 것과 비슷합니다.

  1. 우선 우클릭 컨텍스트 메뉴에서 만드는 방법이 있습니다.

    AddState_CM.png

    또는 그래프의 빈 부분으로 선을 끌어 놓아 뜨는 컨텍스트 메뉴를 통해 만드는 방법도 있습니다.

    AddStateDragWire.png

  2. 그래프의 노드에 우클릭 하여 스테이트 이름을 변경할 수 있습니다.

    StateDefault.png

    위에서 생성된 스테이트 이름이 아래에서는 Idle 로 변경되었습니다.

    StateRenamed.png

  3. 컨듀잇(Conduit, 도관) 생성도 비슷합니다. 그래프에 우클릭하거나, 그래프의 빈 곳으로 선을 끌어 놓으면 됩니다.

    CreateConduit.png

트랜지션 룰 생성

트랜지션 룰 은 스테이트와 컨듀잇을 연결하는 선을 따라 자동 생성됩니다. 트랜지션 룰은 그래프에서 다음과 같은 작은 원형 방향 아이콘으로 나타납니다:

NewTransitionRule.png

즉 그래프의 빈 곳으로 선을 끌어 스테이트나 컨듀잇을 새로 만들 때는, 해당 선에 대해 트랜지션 룰이 자동으로 생성된다는 뜻입니다. 추가적으로 원래 노드로 선을 다시 끌어 놓으면, 해당 노드로 역이행하는 두 번째 트랜지션 룰을 만들 수도 있습니다.

CreateTransition.png

트랜지션 룰에 더블클릭 하면 새로운 그래프가 열려 트랜지션의 성공 또는 실패 조건을 정의할 수 있습니다.

TranstionRule.png

위에서 IsSecondaryAttacking? 부울이 True 인 경우, 새로운 스테이트로의 트랜지션이 발생할 수 있습니다.