AI의 기억으로 AI에서 사용하는 변수를 저장하고 이를 cpp에서 접근하여 지정이 가능하도록 한다.
AI가 알아야 하는 모든 요소는 블랙보드 키(Blackboard Key)를 통해 참조 할 수 있다.
BT(Behavior Tree / 행동 트리)의 '뇌'
'BB_XXXX'라고 이름을 짓는다.
2. BT(Behavior Tree / 행동 트리)
🔸 루트(Root): Tree의 시작점 --- 데코레이터, 서비스에 붙을 수 있다. --- 디테일 패널에서 사용할 BB(블랙보드)를 고를 수 있다.
🔸 컴포짓(Composite): 분기의 루트를 정의하고 그 분기의 기본규칙(흐림 제어의 형태, 자손 분기의 실행방식)을 정의한다. 모두 왼쪽에서 오른쪽으로 분기가 실행이 된다. --- 셀렉터(selector): 복수의 서브트리 중 하나를 선택하는데 사용한다. --- 시퀀스(sequence): 자손을 순서대로 실행하는데 사용이 된다. 시퀸스는 셀렉터와 달리 실패하는 노드에 도달할 때까지 자손을 계속해서 실행한다. --- 단순 병렬(simple parallel) : 전체 노드트리와 동시에 하나의 태스크를 실행할 수 있다. 🔸 데코레이터(Decorator) / 조건문: 다른 노드에 붙어 트리 내 분기 or 노드 하나라도 실행여부를 결정한다.
🔸 서비스(Service): 컴포짓에 붙어 정해진 빈도에 따라 실행된다.
🔸 태스크(Task):행동 트리의 마지막 트리로 출력 연결이 없다. --- 새 태스크를 생성하면 새 블루프린트가 자동으로 생성되고 실행이 된다.
✅ 비헤이비어 트리 TIP
비헤이비어 트리를 생성할 때 자동으로 추가되는 디폴트 루트 노드는 비헤이비어 트리의 프로퍼티를 환경성정할 때와 사용 중인 블랙보드 에셋을 할당할 때 사용하므로 루트에서 컴포짓이 나오는 시기에 트리의 실제 '루트'를 할당 해준다
출처: 언리얼 5 가이드 문서
적절한 이름 규칙을 정하여 타입별 접두사를 추가하는 것이 좋다. (비헤이비어 트리 태스크 BTT, 비헤이비어 트리 데코레이터 BTD, 비헤이비어 트리 서비스 BTS)