Unreal Engine

[UE] 비헤이비어 트리와 FSM

programmer-faust 2025. 8. 29. 04:40
  • 순서
    1. 비헤이비어 트리란?
    2. 비헤이비어 트리의 장단점
    3. FSM이란?
    4. FSM의 장단점
    5. 비헤이비어 트리와 FSM 비교
  • 비헤이비어 트리란?
    1. Behaviour Tree는 게임 AI에서 행동 결정을 트리 구조로 표현한 것임
    2. 노드 기반으로 행동을 구성함
      • 루트 노드 > AI가 실행 시작
      • Composite Node > Sequence, Selector 같은 제어 노드
      • Decorator Node > 조건 검사, 실행 제한
      • Task Node > 실제 행동 수행
    3. 특징: 행동을 계층적으로 구성하여 복잡한 AI 행동을 모듈화 가능함
  • 비헤이비어 트리의 장단점
    1. 장점
      • 유연성: 행동을 트리 구조로 쉽게 조합 가능함
      • 모듈화: 노드 단위로 재사용 가능
      • 조건 기반 실행: Decorator로 실행 조건 제어 가능
      • 디버깅 용이: 트리 구조라 시각화 가능
    2. 단점
      • 상태 유지 어려움: 이전 상태 기억이 어려우며, 일부 행동 상태 관리가 복잡함
      • 순차적 실행 한계: 병렬 행동 구현이 어려워 복잡해질 수 있음
      • 초기 설계 복잡: 노드 설계가 많아지면 트리 구조가 복잡해짐
  • FSM이란?
    1. FSM은 Finite State Machine 즉 유한 상태 기계로 부름
    2. AI를 상태(State)와 전이(Transition)기반으로 제어하는 방식
    3. AI는 항상 한 상태에 존재함
    4. 상태 전환은 이벤트나 조건에 의해 발생함
  • FSM의 장단점
    1. 장점
      • 직관적 구조: 상태 > 전이 기반이라 이해하기 쉬움
      • 상태 유지 용이: 각 상태가 독립적으로 존재하여 내부 변수 관리에 용이함
      • 간단한 AI 설계에 적합: 단순한 행동 관리에는 FSM이 더 직관적임
    2. 단점
      • 복잡도 급증: 상태가 많아지면 상태 전이 관리가 어려울 수 있음
      • 재사용 어려움: 특정 상태를 다른 FSM에서 재사용하기 어려움
      • 계층적 행동 표현 제한: 행동 계층화가 어려울 수 있음
  • 비헤이비어 트리와 FSM 비교
항목 Behavior Tree FSM
구조 트리(Node)기반 상태(State)기반
행동 표현 계층적, 모듈화 단순, 상태별 행동
상태 유지 어려움 쉬움
확장성 높음 상태가 많으면 복잡함
재사용성 높음(노드 단위) 낮음(상태 단위)
디버깅 시각화 가능 상태 전이표 필요
  1. 즉, FSM은 보통 단순한 AI를 제작할 때 사용하며 상태 관리를 중심으로 두고 있음
  2. 비헤이비어 트리는 FSM을 트리 구조로 확장하여, 조건/행동을 모듈화하여 관리하는 것임
  3. 실제로 BT의 내부에서 각 Task 노드나 Composite Node가 작은 FSM을 포함하는 경우가 많음
  4. 즉 FSM은 기초 단위이며, BT는 확장/조합형 구조로 볼 수 있음

'Unreal Engine' 카테고리의 다른 글

[UE] 언리얼 네트워크 롤  (0) 2025.09.03
[UE]네트워크 넷 모드  (0) 2025.09.03
[UE] UE의 string 클래스  (1) 2025.08.29
[UE] 유효성 검사  (0) 2025.08.29
[UE]TSubclassOf  (1) 2025.08.29