1. 有限状态机(FSM)
- 原理:将行为分解为离散状态(如巡逻、攻击、逃跑),通过事件触发状态转移
。
- 优点:实现简单、执行效率高,适合线性逻辑(如角色动画控制)
。
- 缺点:状态爆炸问题(N个状态需N×(N-1)条转移规则),难以维护复杂行为
。
- 案例:《吃豆人》幽灵行为
。
2. 分层状态机(HFSM)
- 原理:在FSM基础上嵌套子状态,形成树状结构(如“战斗”父状态包含近战/远程子状态)
。
- 优点:逻辑分层管理,减少冗余代码;支持状态复用(如“休息”子状态可被多个父状态调用)
。
- 缺点:深层嵌套时调试困难,需谨慎设计继承关系
。
- 案例:《荒野大镖客2》NPC日常行为(如“工作→休息→娱乐”分层)
。
3. 行为树(BT)
- 原理:树形结构组织节点(选择/序列/装饰/动作节点),通过轮询机制动态决策
。
- 优点:模块化强,支持优先级抢占和并行任务;易扩展(新增行为只需添加子树)
。
- 缺点:高频遍历消耗CPU,需依赖黑板(Blackboard)共享数据
。
- 案例:《艾尔登法环》Boss战多阶段行为
。
4. 状态树(ST)
- 原理:混合状态机与行为树特性,节点既是状态也是任务,支持双向驱动(事件+条件)
。
- 优点:兼具状态边界清晰和行为灵活性的优势
。
- 缺点:实现复杂度高,需平衡状态与任务逻辑
。
- 案例:RTS游戏单位控制(如《星际争霸2》AI)
。
5. 目标导向行动规划(GOAP)
- 原理:基于代价函数(如距离、伤害)规划最优行动序列,实现NPC目标驱动行为
。
- 优点:动态适应环境变化,适合开放世界(如NPC自主寻路、资源收集)
。
- 缺点:计算开销大,需预定义大量原子动作和效用函数
。
- 案例:《辐射4》NPC生存行为
。
6. 分层任务网络(HTN)
- 原理:分解高层任务为子任务(如“建造房屋”→收集木材+雇佣工人),通过递归求解实现复杂规划
。
- 优点:更贴近人类决策逻辑,适合策略游戏(如《文明》系列AI)
。
- 缺点:领域知识依赖性强,任务库需人工设计
。
7. 效用AI(Utility-Based AI)
- 原理:量化行为收益(如攻击得分=伤害×命中率),动态选择最高效用行为
。
- 优点:支持连续决策,适合动态场景(如《生化危机4》动态难度调整)
。
- 缺点:需精细调参,效用函数设计影响平衡性
。
8. 机器学习(ML)
- 原理:通过数据训练模型(如DQN、PPO)实现自适应行为,分为监督学习、强化学习等
。
- 优点:能处理复杂非线性问题(如《GT赛车7》AI学习玩家驾驶风格)
。
- 缺点:需大量训练数据和算力;黑箱特性可能导致不可预测行为
。
- 前沿应用:
- 生成式AI:自动生成剧情/角色(如网易伏羲AI NPC)
。
- 多模态交互:语音/表情驱动虚拟角色(如米哈游《Whispers from the Star》)
。
对比总结表
| 技术 | 复杂度 | 执行效率 | 适用场景 | 2025年趋势 |
| FSM |
低 |
高 |
简单状态切换(动画、小游戏) |
逐渐被HFSM替代
|
| HFSM |
中 |
中高 |
中规模AI(RPG敌人、载具) |
仍是主流方案之一
|
| BT |
中高 |
中 |
复杂决策(Boss战、策略AI) |
与ST结合使用增多
|
| GOAP/HTN |
高 |
低 |
开放世界/策略游戏 |
云端AI优化算力瓶颈
|
| 机器学习 |
极高 |
可变 |
自适应系统、生成内容 |
大模型+强化学习成焦点
|
posted @
2018-08-18 22:40
JeasonBoy
阅读(
2153)
评论()
收藏
举报