AI 구조 설계
13강. AI 구조 설계
1. 이번 강의에서 해결할 문제
Enemy Character가 플레이어 검색, 거리·시야 계산, 경로 요청, 상태 선택과 공격 쿨다운을 모두 담당합니다. 몸, 판단 데이터와 행동 조합의 책임을 나눕니다.
2. 학습 목표
3. 핵심 개념
| 구성 요소 | 책임 | 갖지 않을 책임 |
|---|---|---|
| Enemy Character | 몸, 이동 설정, 회전, 공격 실행, 체력 | 플레이어 탐색과 BT Branch 선택 |
| AIController | 목표 감지, 수학 계산, Blackboard 갱신 | Mesh와 체력 저장 |
| Blackboard | 현재 목표·위치·상태의 공유 데이터 | 계산 로직 |
| Behavior Tree | 조건과 행동의 우선순위·조합 | Actor의 장기 런타임 상태 직접 저장 |
| DataAsset | 튜닝 값 | 현재 목표나 현재 상태 |
Blueprint는 Behavior Tree 그래프, Blackboard 키, C++ 자식 기본값과 에셋 연결에 사용합니다. 시야·거리·공격 조건의 핵심 함수는 C++로 둡니다.
4. 단계별 실습
C++ · 파일 경로: Source/TopDownSurvival/AI/MathAIController.h
#pragma once
#include "CoreMinimal.h"
#include "AIController.h"
#include "MathAIController.generated.h"
class UBehaviorTree;
UCLASS()
class TOPDOWNSURVIVAL_API AMathAIController : public AAIController
{
GENERATED_BODY()
protected:
virtual void OnPossess(APawn* InPawn) override;
UPROPERTY(EditDefaultsOnly, Category = "AI")
TObjectPtr<UBehaviorTree> BehaviorTreeAsset;
};
C++ · 파일 경로: Source/TopDownSurvival/Enemies/MathAIEnemyCharacter.cpp · 생성자
#include "AI/MathAIController.h"
AMathAIEnemyCharacter::AMathAIEnemyCharacter()
{
AIControllerClass = AMathAIController::StaticClass();
AutoPossessAI = EAutoPossessAI::PlacedInWorldOrSpawned;
}
C++ · 파일 경로: Source/TopDownSurvival/AI/MathAIController.cpp
#include "AI/MathAIController.h"
#include "BehaviorTree/BehaviorTree.h"
void AMathAIController::OnPossess(APawn* InPawn)
{
Super::OnPossess(InPawn);
if (!BehaviorTreeAsset)
{
UE_LOG(LogTemp, Error, TEXT("%s has no BehaviorTree"), *GetName());
return;
}
if (!RunBehaviorTree(BehaviorTreeAsset))
{
UE_LOG(LogTemp, Error, TEXT("%s failed to run BehaviorTree"), *GetName());
}
}
Blueprint 작업
BP_MathAIController 자식을 만들고 BehaviorTreeAsset은 16강에서 연결합니다. BP_MathAIEnemy의 AI Controller Class가 BP_MathAIController인지 확인합니다.
5. 코드와 수학·AI가 동작하는 이유
Possess는 Controller와 Pawn 연결이 준비된 시점이므로 AI 실행을 시작하기 적합합니다. Character는 어느 Behavior Tree가 실행되는지 몰라도 몸과 공격 API를 제공합니다. Controller는 Pawn을 바꿔도 판단 구조를 재사용할 수 있습니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
AI 구조 설계 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.