state machine

상태는 포즈를 맡고, 전이는 조건을 맡는다

C++ 캐릭터가 계산한 값을 Anim Blueprint가 받아오면, 스테이트 머신은 현재 변수 조합에 맞는 애니메이션 상태를 선택합니다.

Idle

대기 포즈

CurrentSpeed가 임계값보다 낮고 지면에 있을 때 기본 상태입니다.

Walk_Run

이동 블렌드

속도를 Blend Space 축에 연결해 걷기와 달리기를 자연스럽게 섞습니다.

Jump

공중 상태

bIsInAir가 참이면 이동보다 높은 우선순위로 전환합니다.

Attack

액션 잠금

공격 중에는 전이 조건을 좁혀 포즈가 중간에 끊기지 않게 합니다.

1

공중 여부 먼저

점프 전이는 이동 속도보다 먼저 평가해야 착지와 점프가 흔들리지 않습니다.

2

액션 중단 금지

공격, 회피, 피격처럼 재생 시간을 지켜야 하는 상태는 별도 조건을 둡니다.

3

속도 임계값 마지막

지면 상태가 확정된 뒤 CurrentSpeed로 Idle과 Walk_Run을 나눕니다.

마무리 기준

스테이트 머신을 설계할 때는 애니메이션 이름보다 “어떤 변수 변화가 어떤 전이를 허용하는가”를 먼저 적어 두면 수정이 쉬워집니다.