Skip to content

BehaviourTree Module

Technical Docs · AI Module

BehaviourTree

행동 트리 AI 엔진

에이전트의 AI 로직을 설계하기 위한 행동 트리 엔진입니다. 트리 기반의 계층적 의사 결정을 지원하며, 루트에서 자식 노드로 순차 탐색하여 현재 상태에 적절한 행동을 결정합니다.

AI Module Tree-based 3-State Extensible

주요 구성 요소

🌳
Tree
실행 가능한 행동 트리의 최상위 데이터 구조
NodeBase
Action, Condition, Decorator 등 모든 노드의 기본 클래스
📋
TreeCtxProfile
트리 실행 시 노드들이 공유하는 실행 컨텍스트 설정
Success 작업 완료
·
Failure 작업 실패
·
Running 실행 중

핵심 노드 타입

01
Sequence 순차 노드
AND 조건과 유사
Sequence Node

자식 노드들을 순차적으로 실행합니다. 하나라도 Failure를 반환하면 즉시 중단합니다.

실행
Success 다음 자식으로
Failure 즉시 중단 → Failure
02
Selector 선택 노드
OR 조건과 유사
?
Selector Node

자식 노드 중 하나가 성공할 때까지 순차적으로 시도합니다. 모두 실패하면 Failure를 반환합니다.

실행
Failure 다음 자식 시도
Success 즉시 중단 → Success
03
Action 액션 노드
Leaf 노드

실제 게임 로직을 수행하는 리프(Leaf) 노드입니다. 특정 작업 수행 후 결과에 따라 Success 또는 Failure를 반환합니다.

🎬 애니메이션 재생 🚶 이동 ⚔️ 공격
04
Loop 반복 노드
조건부 반복
Loop Node

자식 노드를 반복해서 실행합니다. 자식이 Failure를 반환할 때 반복을 멈추고 다음 단계로 진행합니다.

실행
Success 계속 반복
Failure 반복 종료 → 진행

기능

🔀
계층적 의사 결정
루트에서 자식 노드로 순차 탐색하며 현재 상태에 적절한 행동을 결정합니다.
📊
상태 관리
각 노드는 Success, Failure, Running 세 가지 상태를 반환하여 실행 흐름을 제어합니다.
🔧
커스텀 노드 지원
NodeBase를 확장하여 복잡한 로직을 수행하는 새로운 노드를 쉽게 구현할 수 있습니다.