루리코딩 세상

Unreal Engine Ai 기능 추가하기 (비헤이비어트리, 블랙보드) 본문

이론/Unreal Engine

Unreal Engine Ai 기능 추가하기 (비헤이비어트리, 블랙보드)

루리딩 2025. 6. 9. 17:40

프로젝트 목표

기존의 생성한 [Blue Print Class : Character (BP_Enemy) ] 에 상속받은 Ai에 활용할 기능을 구현한다. 


 사용될 클래스는

[Blue Print Class : AIController]

생성한 AIController로 AI 컨트롤러 클래스를 설정해줬다.

[BP_AIController_Example] 에서 [Event On Possess]

를 통해서 빙의를 해주었다.

 

 

 

 

 


[Behavior Tree] 와 [Black bord]를 설정하자

먼저 정상적으로 작동을 확인하기 위해서,

[Behavior Tree] = [ROOT] - [Sequence] - [Wait] 으로

[BP_AIController_Example]에서 선언한

[Event On Possess]외에 변수로

[Behavior Tree (비헤이비어트리 : 변수)] 를 만들었다.


 

정상적으로 인식하고 ROOT가 실행되는 것을 확인 할 수 있다.

AI행동의 정의는 비헤이비어트리에서 정의 내려준다.

Composites은 3가지가 존재한다.

Selector : 밑에 있는 테스크가 성공할 때까지 진행

Sequence : 밑에 있는 테스크가 실패할 때까지 진행

Simple Parallel : 두가지를 동시에 실행할 때 사용

 

Selector 는 성공하면 다시 ROOT로 이동한다.

각 번호는 순서를 의미한다.

 

 

[전방][후방]

전방 시퀀스 종료시 백그라운드도 함께 종료된다.

 


블랙보드

- AI에서 사용하는 변수들의 집합을 설정하자.


[Behavior Tree]에서 [ROOT]를 클릭하게되면,

아웃라이너에 블랙보드 에셋 슬롯에 설정이 가능하다.

이제 [ Behavior Tree ] - [ Black Bord ] 연결이 됬다.

이후 [ Behavior Tree ] - [ Black Bord ] 와

[Blue Print : AIController] 와도 연결이 필요하다.

F8키로 네비메시 바운드 볼륨의 영역을 확인 할 수 있다.
혼자만 이동한 모습을 볼 수 있다.