캐릭터나 AI가 특정 상태에 있고 조건에 따라 다른 상태로 전이하는 구조
FSM ( Finite State Machine )
상태 ( State ) : 현재 어떤 상황인가 ex) Idle, Chase, Attack
전이( Transition ) : 어떤 조건으로 바뀌는가 ex) "적 발견 시 Chase로"
이벤트( Event ) : 전이를 트리거하는 것 ex) OnEnemyDetected, OnHealthLow
핵심 규칙 : 어느 순간이든 반드시 하나의 상태에만 있어야 한다. -> 예측 가능해지고 디버깅하기 쉬워짐
단. 단순 FSM에서 상태가 늘어날수록 전이 조건이 폭발적으로 증가하는 문제 발생. -> 계층형으로 발전
FSM : 단순, 상태 적을 때 적합 ex) UE5에서 직접 구현
HFSM( 계층형 ) : 상태를 그룹화, 공통 전이 처리 ex) BehaviorTree
StateTree : HSFM + 데이터 드리븐, 병렬 처리 ex) UE5 StateTree
HSFM ex) Combat(상위 상태 ) : Chase, Attack, Retreat
이럴 경우 체력이 0이 될 경우 Combat에서 한 번만 정의 해주면 코드가 단순화가 됌.
연결되는 개념들
BehaviorTree : FSM의 확장, Selector/Sequence 노드로 우선순위 행동 처리
StateTree : HFSM + 데이터 드리븐. Mass Entity와 연동 가능.
Animation State Machine : UE5 AnimGraph가 바로 이 구조로 이동/점프/공격 애니메이션 전환이 FSM으로 동작.
'Word' 카테고리의 다른 글
| 크런치 ( Crunch ), 히트박스/헛박스 (Hitbox/Hurtbox) (0) | 2026.06.24 |
|---|---|
| 온보딩 ( Onboarding ) (0) | 2026.06.24 |
| 리팩토링 ( Refactoring ), 도메인 지식 ( Domain Knowledge ) (0) | 2026.06.23 |
| 메타 게임 ( Meta Game ) (0) | 2026.06.23 |
| 포트폴리오 피스 ( Portfolio Piece ) (0) | 2026.06.22 |