본문 바로가기
언리얼엔진/블루프린트

BehaviorTree

by 오늘의논리 2023. 4. 7.
728x90

BehaviorTree는 인공지능 기술 중 하나로, 게임 개발에서 주로 사용됩니다. 행동 트리(Behavior Tree)는 게임 캐릭터나 NPC와 같은 동작을 수행하는 에이전트의 행동을 결정하기 위해 사용됩니다.

BehaviorTree는 루트 노드에서 시작하여 자식 노드를 순차적으로 실행하면서 에이전트의 행동을 결정합니다. 각 노드는 특정 조건을 만족하면 자식 노드로 이동하거나, 액션을 수행하거나, 다른 노드로 이동하는 등의 동작을 수행합니다. 노드는 기본적으로 세 가지 유형이 있습니다.

컴포짓(Composite) 노드: 자식 노드를 가지는 노드로, 자식 노드를 실행하는 방법을 정의합니다.

데코레이터(Decorator) 노드: 자식 노드를 감싸는 노드로, 자식 노드의 결과를 수정하거나 추가 정보를 제공합니다.

액션(Action) 노드: 실제 행동을 수행하는 노드로, 게임 캐릭터의 움직임, 스킬 사용 등을 담당합니다.

BehaviorTree는 게임 개발에서 사용되는 대표적인 인공지능 기술 중 하나이며, 게임 캐릭터나 NPC의 행동을 결정하는 데 매우 유용합니다.

 

새로운 블루프린트 클래스를 만들고

 

AI Controller 선택합니다.

 

생성 내가 컨트롤하고싶은 액터-디테일-AI Controller class에서 방금만든 AI Controller 선택합니다.

 

그리고 다시 콘텐츠 브라우저로 돌아와서 마우스 우클릭-인공지능-Behavior Tree 블랙보드 둘다 생성해 줍니다.

 

그리고 AI Controller Class 돌아와서 On Possess 이벤트와 Run Behavior Tree 연결합니다.

이제 Behavior Tree 안으로 들어와서 원하는 기능들을 구현해주면되는데 기본적으로 Composites Tasks 있는데 Task 행동, Composites 판단 등이라고 생각하면 된다.

또는 새로운 Task 만들어 있다. Task 만들면 이벤트 사이에 기능을 만들면 된다.

 

그리고 액터중에 NavMeshBoundsVloume 사용할 건데

해당 볼륨을 드래그 드롭 다음 말그대로 범위를 설정해주는건데 크기로 해당지역을 설정해주면

이렇게 초록색으로 표시된다. 표시되지 않으면 P 키를 눌러보자

728x90

'언리얼엔진 > 블루프린트' 카테고리의 다른 글

플레이어 입력 처리  (0) 2023.04.09
크로스헤어 및 발사  (0) 2023.03.29
애니메이션 리타겟팅  (0) 2023.03.29
에임 오프셋  (0) 2023.03.27
애니메이션 몽타주  (0) 2023.03.27

댓글