BehaviourTree Module
Technical Docs · AI Module
BehaviourTree
행동 트리 AI 엔진
에이전트의 AI 로직을 설계하기 위한 행동 트리 엔진입니다. 트리 기반의 계층적 의사 결정을 지원하며, 루트에서 자식 노드로 순차 탐색하여 현재 상태에 적절한 행동을 결정합니다.
AI Module Tree-based 3-State Extensible
CORE COMPONENTS
주요 구성 요소
Tree
실행 가능한 행동 트리의 최상위 데이터 구조
NodeBase
Action, Condition, Decorator 등 모든 노드의 기본 클래스
TreeCtxProfile
트리 실행 시 노드들이 공유하는 실행 컨텍스트 설정
NODE TYPES
핵심 노드 타입
01
Sequence 순차 노드
AND 조건과 유사
→
자식 노드들을 순차적으로 실행합니다. 하나라도 Failure를 반환하면 즉시 중단합니다.
실행
→
Success 다음 자식으로
Failure 즉시 중단 → Failure
02
Selector 선택 노드
OR 조건과 유사
?
자식 노드 중 하나가 성공할 때까지 순차적으로 시도합니다. 모두 실패하면 Failure를 반환합니다.
실행
→
Failure 다음 자식 시도
Success 즉시 중단 → Success
03
Action 액션 노드
Leaf 노드
▶
실제 게임 로직을 수행하는 리프(Leaf) 노드입니다. 특정 작업 수행 후 결과에 따라 Success 또는 Failure를 반환합니다.
🎬 애니메이션 재생 🚶 이동 ⚔️ 공격
04
Loop 반복 노드
조건부 반복
↻
자식 노드를 반복해서 실행합니다. 자식이 Failure를 반환할 때 반복을 멈추고 다음 단계로 진행합니다.
실행
→
Success 계속 반복
Failure 반복 종료 → 진행
FEATURES
기능
계층적 의사 결정
루트에서 자식 노드로 순차 탐색하며 현재 상태에 적절한 행동을 결정합니다.
상태 관리
각 노드는 Success, Failure, Running 세 가지 상태를 반환하여 실행 흐름을 제어합니다.
커스텀 노드 지원
NodeBase를 확장하여 복잡한 로직을 수행하는 새로운 노드를 쉽게 구현할 수 있습니다.