내일배움캠프-언리얼

TIL - 75

이시보 2026. 5. 13. 22:08

AI

1. 상태 머신(State Machine)

상태 머신은 AI의 행동 상태를 정의하고 상태 전환 조건을 관리하는 방식이다.
주로 캐릭터 애니메이션과 간단한 AI 로직에 사용된다.

핵심 개념

  • State(상태)
    • Idle : 대기
    • Patrol : 순찰
    • Chase : 추적
    • Attack : 공격
    • Dead : 사망
  • Transition(전이)
    • 특정 조건 만족 시 상태 변경
    • 예:
      • 플레이어 발견 → Chase
      • 공격 거리 진입 → Attack
      • 체력 0 → Dead

UE5 구현 방식

  • Animation Blueprint의 State Machine 사용
  • 변수 기반 전환
    • Speed
    • IsInAir
    • IsAttacking
    • IsDead 등

장점

  • 구조 단순
  • 디버깅 쉬움
  • 애니메이션 제어에 적합

단점

  • 상태 증가 시 복잡도 급증
  • 다양한 행동 조합 구현 어려움

2. Behavior Tree (행동 트리)

Behavior Tree는 트리 구조 기반 AI 의사결정 시스템이다.
언리얼 엔진의 대표적인 AI 시스템이며 복잡한 NPC 행동 구현에 적합하다.

기본 구성

Root

  • 트리 시작 노드

Composite Node

여러 행동 흐름 제어

  • Selector
    • 왼쪽부터 성공 가능한 행동 선택
    • 예: 공격 가능하면 공격, 아니면 추적
  • Sequence
    • 순차 실행
    • 하나 실패 시 전체 실패

Task

실제 행동 수행

예:

  • Move To
  • Wait
  • Attack
  • Find Player

Decorator

조건 검사

예:

  • 플레이어 감지 여부
  • 체력 체크
  • 거리 조건

Service

주기적 정보 갱신

예:

  • 플레이어 위치 업데이트
  • 시야 체크

3. Blackboard

Behavior Tree와 함께 사용하는 데이터 저장소

주요 변수 예시

  • TargetActor
  • TargetLocation
  • IsPlayerDetected
  • HP

Behavior Tree는 Blackboard 값을 읽어서 행동 결정


4. UE5 AI 구성 흐름

  1. AIController 생성
  2. Blackboard 생성
  3. Behavior Tree 생성
  4. AIController에서 BT 실행
  5. Pawn Sensing 또는 AI Perception으로 플레이어 감지
  6. Blackboard 값 업데이트
  7. Behavior Tree가 행동 결정

5. 상태 머신 vs Behavior Tree 비교

항목상태 머신Behavior Tree
구조 단순 계층적
유지보수 어려워질 수 있음 상대적으로 쉬움
확장성 낮음 높음
사용 목적 애니메이션 AI 의사결정
추천 규모 소규모 AI 복잡한 AI

핵심 요약

  • State Machine:
    상태 기반 행동 제어, 애니메이션에 적합
  • Behavior Tree:
    조건 기반 의사결정 시스템, 복잡한 AI 구현에 적합
  • Blackboard:
    AI 데이터 저장소 역할
  • UE5 AI 기본 구조:
    AIController + Blackboard + Behavior Tree + Perception 시스템 조합 사용

'내일배움캠프-언리얼' 카테고리의 다른 글

TIL - 77  (0) 2026.05.20
TIL - 76  (0) 2026.05.19
TIL - 74  (0) 2026.05.07
TIL - 73  (0) 2026.05.06
TIL - 72  (0) 2026.04.27