[UE4]생각하는 AI

윤정민·2022년 10월 21일
0

Unreal Engine

목록 보기
21/34

1. AI Asset

1) Behavior Tree

(1) Behavior Tree 생성

  • 콘텐츠 브라우저 > Artificial Intelligence > Behavior Tree 클릭

(2) 특징

  • 블루프린트의 또 다른 한 종류라고 생각하면 되지만 로직과 코드가 비교적 많지 않은 것이 특징
  • AI에 알맞게 행동하도록 다양한 태스크들 간에 연결이 이뤄짐

(3) 노드 유형

  • 몇 가지 유형의 노드와 명령이 있지만 주로사용하는 것은 두가지임
  • Composites
    • 행동 트리 가지 중 하나
    • 어떤 태스크를 실행할지 선택
    • 모든 컴포짓 노드는 작은 원 안에 번호가 새겨져 있으며 이는 행동 트리가 따르는 순서
  • Decorators
    • 서비스나 태스크와 같은 역할
    • 기능을 부여할 수 있는 컴포짓을 추가
    • ex) Blackboard 유형의 데코레이터를 이용하면 Blackboard 에셋으로부터 값을 가져와 특정 행동 트리의 가지에 사용

2) BTTask(Behavior Tree Task)

(1) 생성

  • 일반적인 블루프린트 생성 방법을 따름
  • 부모 class로 BTTask_BlueprintBase를 선택

(2) 특징

  • AI가 수행할 작업을 나타냄
  • 일반적인 블루프린트와 같이 태스크 안에 로직을 포함할 수 있음
  • C++로 로직을 작성할 경우 블루프린트를 통해 호출함

3) BTService

(1) 생성

  • BTTask와 같음
  • 부모 클래스로 BTService_BlueprintBase를 따름

(2) 특징

  • 태스크와 거의 같지만 실행시간 내내 호출된다는 점이 차이점

4) Blackboard

(1) 생성

  • 콘텐츠 브라우저 우클릭 > Arificial Intelligence > Blackboard

(2) 특징

  • 데이터 저장소
  • 데이터를 저장하고 행동트리 태스크 안에서 이 데이터를 사용

2. Class for Ai

1) AIController

  • 입력을 통해 어떤 동작을 취하는지 결정되는 Character와 달리 환경과 내비게이션 메시 등에 따라 동작을 취함
  • Blackboard 에셋에 대한 값을 설정
  • 직군의 회전을 조정
  • 내비게이션 메시를 사용

(1) 자주 사용되는 컴포넌트

  • Black Board Component
UPROPERTY(transient)
  UBlackboardComponent* BlackboardComp;
  • Behavior Tree Component
UPROPERTY(transient)
  UBehaviorTreeComponent* BehaviorComp;
profile
그냥 하자

0개의 댓글