Unity 游戏 AI 核心术语详解 - 行为树与状态机

本文系统介绍游戏 AI 开发中的核心术语,涵盖行为树(Behavior Tree)、有限状态机(FSM)、目标导向行动计划(GOAP)等主流 AI 架构的关键概念。


一、AI 基础概念

1.1 核心术语

英文术语 中文释义 详细说明
Decision 决策 AI 系统的底层逻辑,决定角色下一步的行为
Behavior 行为 一般情况下指的是单个动作,如”移动”、”攻击”等
Logic Action 逻辑动作 角色需要做出符合游戏身份的动作
Behavior Pool 行为池 一系列行为组成的集合,供 AI 选择使用
Simple Behavior 单一行为 在组织过程中的表现,不可再分的基本行为单元
Composite Behavior 复合行为 由多个单一行为组合而成的复杂行为

1.2 AI 架构对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
┌─────────────────────────────────────────────────────────────────────────┐
│ 游戏 AI 架构对比 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ FSM (有限 │ │ BT (行为树) │ │ GOAP (目标导向)│ │
│ │ 状态机) │ │ │ │ │ │
│ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │
│ │ 基于状态转换 │ │ 基于树结构 │ │ 基于目标规划 │ │
│ │ 动态命令队列 │ │ 静态树结构 │ │ 动态计划生成 │ │
│ │ 简单直观 │ │ 层次清晰 │ │ 灵活智能 │ │
│ │ 适合简单AI │ │ 适合复杂AI │ │ 适合策略AI │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘

二、行为树 (Behavior Tree) 术语

2.1 行为树概述

行为树是一种基于静态树结构的行为系统(Based on Static Tree’s Behavior System):

特征 说明
叶子节点 全部是行为节点 (ActionNode)
中间节点 全部是控制节点 (ControlNode)
控制类型 选择 (Selector)、并行 (Parallel)、序列 (Sequence)

2.2 节点类型

英文术语 中文释义 详细说明
ActionNode 行为节点 具体到最终效果的节点,执行实际动作
ControlNode 控制节点 控制执行哪条线、哪个行为节点的节点
Precondition 前提条件 执行某个节点前需要满足的条件

2.3 三种基本控制结构

英文术语 中文释义 执行逻辑
Sequence 序列 一个行为接着一个行为做,全部成功才返回成功
Parallel 并行 多个行为同时进行,根据配置决定成功条件
Selector 选择 从候选行为中选择一个执行,包括脚本选择和随机选择
1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌─────────────────────────────────────────────────────────────────────────┐
│ 行为树控制结构可视化 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ Sequence (序列) Selector (选择) Parallel │
│ │ │ (并行) │
│ ┌───┴───┐ ┌───┴───┐ ┌───┴───┐ │
│ v v v v v v v v v │
│ [1] [2] [3] [1] [2] [3] [1] [2] [3] │
│ │ │ │ │ │ │ │ │ │ │
│ 全部成功 任一成功 同时执行 │
│ 才返回成功 即返回成功 可配置条件 │
│ │
└─────────────────────────────────────────────────────────────────────────┘

三、有限状态机 (FSM) 术语

3.1 FSM 概述

FSM (Finite State Machine) 是基于动态命令队列的行为系统(Based on Dynamic Command Queue’s Behavior System)。

特征 说明
核心机制 维护一个行为队列,执行队列中的行为命令
行为命令 面向 AI 决策层的接口
行为节点 真正的行为执行单元

3.2 FSM 核心术语

英文术语 中文释义 详细说明
Behavior Machine 行为机器/行为机 行为机的主要任务是维护一个行为队列,并执行队列中的行为命令
Behavior Command 行为命令 AI 把行为命令压入行为队列,等待行为机的处理
Behavior Node 行为节点 FSM 中的节点,真正的行为执行单元,是一组简单行为的集合

3.3 节点生命周期方法

英文术语 中文释义 调用时机
Enter 进入 每个节点进入时调用,用于初始化
Execute 运行 每个节点的运行方法,每帧调用
Exit 离开 每个节点离开时调用,用于清理

💡 重要说明:节点切换时必须调用上一个节点的 Exit 方法(Transition)来完成转换清理工作。


四、GOAP (目标导向行动计划) 术语

4.1 GOAP 概述

GOAP (Goal-Oriented Action Planning) 是一种目标导向型行动计划架构

特征 说明
核心思想 根据目标动态生成行动计划
适用场景 需要灵活规划和决策的复杂 AI

4.2 GOAP 核心术语

英文术语 中文释义 详细说明
Goal Selector 目标选择模块 选择 AI 当前需要完成的目标(相当于更高层的决策层)
Planner 计划器 根据目标和前提条件生成多个子计划的模块
Plan Stepper 计划实施模块 相当于行为层,执行计划
Precondition 前提条件 某个行为需要满足的条件
Effect 效果 某个行为对世界的影响

4.3 GOAP 工作流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
┌─────────────────────────────────────────────────────────────────────────┐
│ GOAP 工作流程 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 1. 目标选择 │───>│ 2. 计划生成 │───>│ 3. 计划实施 │ │
│ │ Goal Selector │ │ Planner │ │ Plan Stepper │ │
│ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ │
│ │ 选择当前目标 │ │ 根据 Precond. │ │ 执行 Action │ │
│ │ 评估优先级 │ │ 生成计划树 │ │ 产生 Effect │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │ │ │ │
│ └───────────────────────┴──────────────────────┘ │
│ │ │
│ 持续监控与重新规划 │
│ │
└─────────────────────────────────────────────────────────────────────────┘

五、数据共享与管理术语

5.1 共享数据

英文术语 中文释义 详细说明
Blackboard 黑板/共享数据 用于存储和共享 AI 决策所需的数据
Working Memory 工作池子 缓存池、双缓存等,用于临时数据存储
Decentralized 分散的 共享数据是分散的,每个 AI 拥有独立数据
Centralized 集中的 共享数据是集中的,多个 AI 共享同一数据源

5.2 数据流

英文术语 中文释义 详细说明
InputParam 输入参数 行为树的输入,可以是黑板数据,也可以是世界信息
OutputParam 输出参数 行为树的输出,可以是 Request 请求,传递到行为层进行动画播放

六、分数系统 (Scoring System)

6.1 概念

英文术语 中文释义 详细说明
Scoring System 分数系统 为每个单独的行为打分,根据分数高低来决定执行哪个行为

6.2 工作原理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
┌─────────────────────────────────────────────────────────────────────────┐
│ 分数系统工作流程 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ 输入因素 评分 决策 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 敌人距离 │ ──────────> │ 攻击:85│ ─────────> │ 执行攻击 │ │
│ │ 自身血量 │ │ 逃跑:30│ │ │ │
│ │ 武器状态 │ │ 巡逻:10│ │ │ │
│ │ ─────── │ └─────────┘ └─────────┘ │
│ └─────────┘ │ │
│ │ 最高分 │
│ └─────────────────────────┴───────────────────────┐ │
│ │ │
│ ▼ │
│ 选择得分最高行为 │
│ │
└─────────────────────────────────────────────────────────────────────────┘

七、术语速查表

7.1 按类别分类

节点相关

英文 中文 说明
ActionNode 行为节点 执行具体动作
ControlNode 控制节点 控制执行流程
BehaviorNode 行为节点 FSM/BT 中的执行单元
Precondition 前提条件 执行前的条件判断

生命周期

英文 中文 说明
Enter 进入 节点初始化
Execute 运行 节点执行
Exit 离开 节点清理
Transition 转换 状态切换

架构类型

英文 全称 中文
FSM Finite State Machine 有限状态机
BT Behavior Tree 行为树
GOAP Goal-Oriented Action Planning 目标导向行动计划

7.2 架构选择建议

场景 推荐架构 理由
简单敌人 AI FSM 结构简单,易于理解
复杂战斗 AI BT 层次清晰,可复用性强
策略游戏 AI GOAP 灵活规划,智能决策
群体 AI BT + Blackboard 共享数据,协调行为

八、总结

本文系统介绍了游戏 AI 开发中的核心术语:

类别 核心内容
基础概念 Decision、Behavior、Behavior Pool
行为树 Sequence、Selector、Parallel、ActionNode、ControlNode
状态机 Behavior Machine、Behavior Command、Enter/Execute/Exit
GOAP Goal Selector、Planner、Precondition、Effect
数据管理 Blackboard、Working Memory、Input/Output Param

💡 学习建议

  • 从 FSM 开始,理解状态转换的基本概念
  • 学习行为树的三种控制结构:Sequence、Selector、Parallel
  • 了解 GOAP 适用于需要动态规划的场景
  • 实践时建议使用成熟的 AI 框架,如 NodeCanvas 或 Behavior Designer

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1487842110@qq.com