Unreal Engine/AI

AIPerceptionComponent의 OnTargetPerceptionUpdated 이벤트는 AIPerceptionComponent에 등록된 SensesConfig에 대한 결과를 나타내는 Stimulus(자극) 구조체를 반환합니다. 값 설명 Age 자극이 발생한 시간입니다. Expiration Age 자극이 무효화되기까지의 시간입니다. Strength 자극에 정의된 가중치입니다. Stimulus Location 자극이 시작된 곳입니다. PlayerCharacter의 AIPerceptionStimuliSourceComponent에서 설정한 Senses를 가졌다면 PlayerCharacter의 위치를 나타냅니다. Recevier Location 자극이 AIPerceptionComponent에 등록된 곳입..
Nofity Observer(관찰자 알림) On Result Change: 조건이 변경되었을 때마다 재시작합니다. On Value Change: 관찰되는 블랙보드 값이 바뀔 때마다 재시작합니다. Observer Aborts(관찰지 중단) None: 아무것도 중단하지 않습니다. Self: 자신과 이 노드 아래 실행중인 서브 트리도 중단합니다. Lower Priority: 이 노드의 오른쪽에 있는 모든 노드를 중단합니다. Both: 자신, 그 아래 실행중인 서브 트리, 이 노드 오른쪽에 있있는 모든 노드를 중단합니다.
비헤이비어 트리는 태스크를 실행할 때 태스크 클래스의 ExecuteTask라는 멤버 함수를 실행합니다. ExecuteTask 함수는 다음 중 하나의 값을 반환해야합니다. 반환 값 설명 Aborted 태스크 실행 중에 중단되었습니다. 결과적으로 실패했습니다. Failed 태스크를 수행했지만 실패했습니다. Succeeded 태스크를 성공적으로 수행했습니다. InProgress 태스크를 계속 수행하고 있습니다. ExecuteTask 함수의 실행 결과에 따라 컴포짓 내에 있는 다음 태스크를 계속 수행할지, 중단할지가 결정됩니다.
블랙보드 블랙보드는 인공지능의 판단에 사용하는 데이터 집합을 의미합니다. NPC의 의사 결정은 블랙보드에 있는 데이터를 기반으로 진행됩니다. 비헤이비어 트리 블랙보드 데이터에 기반해 설계한 비헤이비어 트리의 정보를 저장한 애셋입니다. 언리얼 에디터에서는 비헤이비어 트리를 시각화해 저장할 수 있는도록 편집기능을 제공합니다. 비헤이비어 트리 노드의 종류 비헤이비어 트리의 노드는 루트(Root), 컴포짓(Composite), 태스크(Task), 데코레이터(Decorator), 서비스(Service). 총 5 가지의 종류가 존재합니다. 루트(Root) 비헤이비어 트리의 시작을 나타내는 노드이며, 한 개의 노드만 연결할 수 있습니다. 디테일 패널에서 이 비헤이비어 트리에서 사용할 블랙보드 애셋을 설정할 수 있습니..
AIControllerClass = APRAIController::StaticClass(); AutoPossessAI = EAutoPossessAI::PlacedInWorldOrSpawned; PRAIController 클래스를 생성하고 생성한 AIController를 사용하도록 AIController의 클래스 속성을 PRAIController의 클래스로 설정하고 AI의 생성옵션을 PlaceInWorldOrSpawned로 설정합니다. 레벨에 배치하거나 새롭게 생성하는 캐릭터마다 PRAIController 액터가 생성되고 캐릭터는 각 PRAIController의 지배를 받습니다.
한돌이
'Unreal Engine/AI' 카테고리의 글 목록