728x90
반응형
- 개요

몬스터의 AI의 구성은 위와 같이 이뤄져있다
차례대로 다음과 같다
- BehaviorTree : 우선순위 알고리즘과 트리 구조를 사용하여 인공지능을 설계
- Blackboard : AI의 의사결정을 위한 데이터를 모아놓은 저장소
- AIController 클래스 : PlayerController와 다르게 환경과 게임 월드의 입력에 반응하는 Controller 클래스
- BehaviorTree 컴포넌트 : AIController가 부착된 Pawn의 BehaviorTree를 설정 / 관리하는 컴포넌트
- Blackboard 컴포넌트 : AIController가 부착된 Pawn의 Blackboard를 설정 / 관리하는 컴포넌트
- AIController 내부에서 Blackboard라는 이름의 멤버변수로 제공
1) 행동 트리의 기본적인 동작 방식

행동 트리는 위와 같이 트리 기반으로 설계할 수 있다
따라서 다음과 같은 동작 방식을 지닌다
- 항상 왼쪽에 있는 노드에 우선순위를 부여한다
- 왼쪽 노드부터 우선 실행한다
2) 행동 트리 모델의 구성 요소 - Composites 노드

행동트리는 기본적으로 행동을 중심으로 설계하는데, 이때 Composites 노드를 통해 다수의 행동을 컨트롤한다
- Selector 노드 : 여러 Tasks 노드 중에서 하나의 노드를 지정하여 수행 -> 공격하거나 회피하기
- Sequence 노드 : 여러 Tasks 노드를 순차적으로 모두 수행 -> 공격한 후에 회피하기
- Parrallel 노드 : 여러 Tasks 노드를 동시에 모두 수행 -> 공격하면서 회피하기
3) 행동 트리 모델의 구성 요소 - Composites 노드의 부가 요소

Composites 노드에 우클릭하여 부가적인 기능을 추가하는 것이 가능하다
- Decorator : Composites 노드가 실행되는 조건을 설정
- 예시 : 마트 공휴일이 아니라면(Decorator), 마트에서 장 보기(Sequence)
- Service : Composites 노드가 활성화될 때 주기적으로 실행하는 부가 명령을 설정
- 예시 : 2시간 동안 시험을 보되(Sequence), 1시간마다 종료 알림(Service)
- Abort : Decorator의 조건에 부합하면 Composite 노드의 활동을 전부 중단하고, Root 부터 다시 실행
- 예시 : 연락이 없다면(Decorator), 연락이 올때까지 일하기(Sequence), 연락이 오면 중지(Abort)
4) 행동 트리 모델의 구성요소 - Tasks 노드의 결과

Composites 노드에 의해 관리되는 Tasks 노드들은 다양한 실행 결과를 반환하는데,
이런 실행 결과를 사용하여 다양한 작업을 처리할 수 있다
- Succeed(성공) : Task 노드가 성공하여 완료됨
- Failed(실패) : Task 노드는 완료되었지만 실패함
- Aborted(중지) : Task 노드가 외부요인으로 인해 완료되지 못한 채로 실패함
- InProgress(진행중) : Task 노드의 결과를 반환하지 않고 홀딩하는 중
728x90
반응형
'언리얼 엔진 - 게임 프로젝트 > GAS 프레임워크 RPG 프로젝트' 카테고리의 다른 글
| 몬스터 AI - 3) Service 클래스를 이용한 몬스터의 추적 구현 (0) | 2025.09.19 |
|---|---|
| 몬스터 AI - 2) AIController 클래스와 Service 클래스 (0) | 2025.09.19 |
| 데미지 처리 심화 - 최종) 속성 공격 / 저항의 추가와 공격 스킬의 세분화 (0) | 2025.09.14 |
| 데미지 처리 심화 - 4) 처리된 데미지에 따라 다른 UI 출력 (0) | 2025.09.13 |
| 데미지 처리 심화 - 3) 사용자 정의 AbilitySystemGlobals 클래스 & 사용자 정의 GEContext 클래스의 사용 (0) | 2025.09.12 |