[UE] Behavior Tree(1)

GamzaTori·2024년 4월 29일
0

UE4 Blueprint C++

목록 보기
18/19

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 노드를 통해 움직인다.
profile
게임 개발 공부중입니다.

0개의 댓글