- 순서
- 비헤이비어 트리란?
- 비헤이비어 트리의 장단점
- FSM이란?
- FSM의 장단점
- 비헤이비어 트리와 FSM 비교
- 비헤이비어 트리란?
- Behaviour Tree는 게임 AI에서 행동 결정을 트리 구조로 표현한 것임
- 노드 기반으로 행동을 구성함
- 루트 노드 > AI가 실행 시작
- Composite Node > Sequence, Selector 같은 제어 노드
- Decorator Node > 조건 검사, 실행 제한
- Task Node > 실제 행동 수행
- 특징: 행동을 계층적으로 구성하여 복잡한 AI 행동을 모듈화 가능함
- 비헤이비어 트리의 장단점
- 장점
- 유연성: 행동을 트리 구조로 쉽게 조합 가능함
- 모듈화: 노드 단위로 재사용 가능
- 조건 기반 실행: Decorator로 실행 조건 제어 가능
- 디버깅 용이: 트리 구조라 시각화 가능
- 단점
- 상태 유지 어려움: 이전 상태 기억이 어려우며, 일부 행동 상태 관리가 복잡함
- 순차적 실행 한계: 병렬 행동 구현이 어려워 복잡해질 수 있음
- 초기 설계 복잡: 노드 설계가 많아지면 트리 구조가 복잡해짐
- 장점
- FSM이란?
- FSM은 Finite State Machine 즉 유한 상태 기계로 부름
- AI를 상태(State)와 전이(Transition)기반으로 제어하는 방식
- AI는 항상 한 상태에 존재함
- 상태 전환은 이벤트나 조건에 의해 발생함
- FSM의 장단점
- 장점
- 직관적 구조: 상태 > 전이 기반이라 이해하기 쉬움
- 상태 유지 용이: 각 상태가 독립적으로 존재하여 내부 변수 관리에 용이함
- 간단한 AI 설계에 적합: 단순한 행동 관리에는 FSM이 더 직관적임
- 단점
- 복잡도 급증: 상태가 많아지면 상태 전이 관리가 어려울 수 있음
- 재사용 어려움: 특정 상태를 다른 FSM에서 재사용하기 어려움
- 계층적 행동 표현 제한: 행동 계층화가 어려울 수 있음
- 장점
- 비헤이비어 트리와 FSM 비교
| 항목 | Behavior Tree | FSM |
| 구조 | 트리(Node)기반 | 상태(State)기반 |
| 행동 표현 | 계층적, 모듈화 | 단순, 상태별 행동 |
| 상태 유지 | 어려움 | 쉬움 |
| 확장성 | 높음 | 상태가 많으면 복잡함 |
| 재사용성 | 높음(노드 단위) | 낮음(상태 단위) |
| 디버깅 | 시각화 가능 | 상태 전이표 필요 |
- 즉, FSM은 보통 단순한 AI를 제작할 때 사용하며 상태 관리를 중심으로 두고 있음
- 비헤이비어 트리는 FSM을 트리 구조로 확장하여, 조건/행동을 모듈화하여 관리하는 것임
- 실제로 BT의 내부에서 각 Task 노드나 Composite Node가 작은 FSM을 포함하는 경우가 많음
- 즉 FSM은 기초 단위이며, BT는 확장/조합형 구조로 볼 수 있음
'Unreal Engine' 카테고리의 다른 글
| [UE] 언리얼 네트워크 롤 (0) | 2025.09.03 |
|---|---|
| [UE]네트워크 넷 모드 (0) | 2025.09.03 |
| [UE] UE의 string 클래스 (1) | 2025.08.29 |
| [UE] 유효성 검사 (0) | 2025.08.29 |
| [UE]TSubclassOf (1) | 2025.08.29 |