-
AIController란?
언리얼에는 액터를 조종하기 위해 Controller라는 계층을 두고 있는데 플레이어의 경우 PlayerController를 통해 입력을 받고 이 입력을 조종하는 캐릭터에 전달해주게 된다.
AIController는 AI를 위한 컨트롤러이며 비헤이비어 트리(일명 BT)의 입력을 받아 행동을 하도록 만드는 보조 클래스다.
비헤이비어 트리 기본
BT는 언리얼의 AI 시스템으로 노드를 이용해 AI의 행동 패턴을 구현할 수 있는 비주얼 스크립팅의 일종으로 볼 수 있다.
BT의 구성은 AI에 필요한 정보를 공유할 수 있도록 도와주는 블랙보드가 존재하고 이 블랙 보드를 이용해 AI 행동을 결정하는 비헤이비어 트리로 나뉜다.
BT의 태스크 실행 시 다음 네 값 중 하나를 반환한다.
- Aborted 실행 중 중단 됨.
- Failed 실행했으나 실패함.
- Succeeded 성공.
- InProgress 실행 중.