1. Behavior Tree(비헤이비어 트리)란?
Behavior Tree는 AI의 행동을 트리 구조로 구성하여 순차적 또는 조건부 로직을 실행하는 시스템입니다.
기본적으로 AI가 어떤 행동을 해야 하는지 결정하는 "AI의 두뇌" 역할을 합니다.
Behavior Tree의 주요 노드(Node) 종류
Behavior Tree는 다양한 노드로 구성되며, 각각의 역할이 다릅니다.
1. Root Node (루트 노드)
- 트리의 시작점입니다.
- 트리에서 하나만 존재해야 합니다.
2. Composite Nodes (복합 노드)
- 여러 개의 하위 노드를 가질 수 있으며, 특정 방식으로 실행됩니다.
- 주요 유형:
- Selector(선택자): 자식 노드를 순서대로 실행하며, 하나라도 성공하면 그 이후 노드는 실행되지 않음.
- Sequence(시퀀스): 자식 노드를 순서대로 실행하며, 하나라도 실패하면 나머지는 실행되지 않음.
- Simple Parallel(병렬 실행): 한 노드는 계속 실행되면서, 다른 노드를 실행하는 방식.
3. Decorator Nodes (데코레이터 노드)
- 특정 노드의 실행 여부를 결정하는 노드입니다.
- 대표적인 예:
- Blackboard 조건 체크: 특정 변수가 특정 값인지 확인 후 실행.
- Invert(반전): 조건을 반대로 적용(예: 성공 → 실패, 실패 → 성공).
4. Task Nodes (태스크 노드)
- AI가 실제로 수행할 행동을 정의하는 노드입니다.
- 예를 들어:
- Move To: 특정 위치로 이동.
- Attack Player: 플레이어 공격.
- Wait: 일정 시간 동안 대기.
5. Service Nodes (서비스 노드)
- 특정 조건을 지속적으로 검사하는 노드.
- 예: 일정 간격으로 주변의 적을 감지하고, 발견하면 블랙보드 변수 업데이트.