Blackboard, BehavirTree 블루프린트 추가
- Blackboard: AI에서 사용하는 데이터를 모아놓는 저장소
- Behavior Tree: 데이터를 기반으로 어떤식으로 동작할지 트리로 만든 것
AIController에 Blackboard와 BehaviorTree 멤버 변수 추가
- 생성자에서 만들어둔 블루프린트 Blackboard와 BehaviorTree로 초기화한다
- BehaviorTree를 사용하기 위해선
BehaviorTree/BehaviorTree.h
헤더파일이 필요하다
AIController의 OnPossess 함수 수정
- 빙의가 시작되고 블랙보드와 행동트리가 성공적으로 실행되면 이후에 동작을 지정하면 된다
- 이제 행동트리를 기반으로 AIController가 행동하게 된다
블랙보드에 좌표를 가지고 있을 Vector 키 추가
행동트리에서 MoveTo 트리를 추가하고 블랙보드 키를 PatrolPos로 변경
- MoveTo 노드는 PatrolPos 좌표로 이동하는 Task이다.
BTTaskNode를 상속받은 C++ Class 생성
Task가 실행될 때 무엇을 해야하는지 정해주는 ExecuteTask 함수 추가
- 해당 Task가 호출되면 랜덤으로 주변에 있는 좌표로 움직인다.
행동트리에 랜덤으로 좌표를 찾아서 이동하도록 노드 추가
- FindPatrolPos 노드를 통해 좌표를 랜덤으로 찾고 해당 좌표로 MoveTo 노드를 통해 움직인다.