World에서 명시된 Class의 모든 Actor를 배열 형태로 반환
느리다고 함
Single은 처음 충돌하는 object만 반환
Multi는 Line과 충돌하는 모든 object 반환
Dummy Object
임의의 지점을 가리키는 용도
만약 Possess-UnPossess가 자주 발생한다면 IsValid()를 통해 유효성 검사를 해주는 것이 좋음
AI의 행동을 결정
과거 면접에서 FSM을 이용하여 구현한 Project를 살펴보며 State가 추가되면 어떻게 할거냐고 물어봤던 적이 있음
아직까지 정확하게 어떤점을 질문한건지는 이해할 수 없지만 아마 새 State가 추가되었을 때 Behavior Tree와의 차이점에 대한 설명을 요구한 것으로 생각됨
크게 Selector와 Sequence로 구분
자식노드 중 1개라도 성공한다면 실행을 멈추지만 실패하면 다음 자식 노드 실행
자식노드 중 1개라도 실패한다면 노드 실패, 자식 노드 모두 수행
실질적인 작업을 의미하는 노드
Behavior Tree의 Node는 항상 그 결과를 반환해야 하며, 총 4개의 반환 가능 결과가 있는 것으로 알고 있음
Task에서 Blackboard의 데이터를 갱신하기 위해서는 Key값이 필요
Key를 public하게 공개
Behavior Tree에서 원하는 BlackBoard의 키로 설정
그 외
이 방식으로 직접 원하는 Key의 이름으로 접근하는 방법도 존재
Simple Move To Location보다 자세한 설정 가능
Use Pathfinding 미설정 시 AI Navigation을 사용하지 않음
Composite이나 Task Node에 붙어 해당 Branch가 실행되는 동안 수행되는 작업
Composite이나 Task Node에 붙어서 해당 Node(Branch)가 수행될지 여부를 결정하는 조건문
Notify Observer를 통해 정지 시점 결정, Observer Abort를 통해 정지 가능한 Node 범위 결정
Enviroment Query System과 AI Perception이 존재
EQS는 AI 주변 환경을 기반으로 한 AI 결정에 도움을 주는 System
AI Perception은 AI에게 시각, 청각적인 요소를 활용할 수 있도록 하는 System
자세한 내용은 수업을 따라가면서 추가
Behavior Tree에서 사용할 수 있는 Data 모음