专题栏目:ARVRMR虚拟现实

《 Unity3D人工智能编程精粹》

书籍简介:

要想开发一款优秀的游戏,人工智能必不可少。本书精选了Unity3D游戏开发中最关键、最实用的几项人工智能关键技术,以实例的方式由浅入深地讲解了深奥而强大的人工智能技术、设计原则以及编程实现方法,并且对书中的每一个案例都进行了详细注释,所有实例均运行测试通过。掌握了书中的技术,可以使游戏角色具有良好的智能,大大增强游戏的可玩性!

作者简介:

王洪源 等著

出版时间:

2014年11月

章节目录:

第1章 Unity3D人工智能架构模型
1.1 游戏AI的架构模型
1.1.1 运动层
1.1.2 决策层
1.1.3 战略层
1.1.4 AI架构模型的其他部分
1.2 FPS/TPS游戏中的AI解析
1.2.1 FPS/TPS中的运动层
1.2.2 FPS/TPS中的决策层
1.2.3 FPS/TPS中的战略层
1.2.4 FPS/TPS中AI架构模型的支撑部分
第2章 实现AI角色的自主移动——操控行为
2.1 Unity3D操控行为编程的主要基类
2.1.1 将AI角色抽象成一个质点——Vehicle类
2.1.2 控制AI角色移动——AILocomotion类
2.1.3 各种操控行为的基类——Steering类
2.2 个体AI角色的操控行为
2.2.1 靠近
2.2.2 离开
2.2.3 抵达
2.2.4 追逐
2.2.5 逃避
2.2.6 随机徘徊
2.2.7 路径跟随
2.2.8 避开障碍
2.3 群体的操控行为
2.3.1 组行为
2.3.2 检测附近的AI角色
2.3.3 与群中邻居保持适当距离——分离
2.3.4 与群中邻居朝向一致——队列
2.3.5 成群聚集在一起——聚集
2.4 个体与群体的操控行为组合
2.5 几种操控行为的编程解析
2.5.1 模拟鸟群飞行
2.5.2 多AI角色障碍赛
2.5.3 实现动物迁徙中的跟随领队行为
2.5.4 排队通过狭窄通道
2.6 操控行为的快速实现——使用Unity3D开源库UnitySteer
2.7 操控行为编程的其他问题
第3章 寻找最短路径并避开障碍物——A寻路 3.1 实现A寻路的3种工作方式
3.1.1 基本术语
3.1.2 方式1:创建基于单元的导航图
3.1.3 方式2:创建可视点导航图
3.1.4 方式3:创建导航网格
3.2 A寻路算法是如何工作的 3.2.1 A寻路算法的伪代码
3.2.2 用一个实例来完全理解A寻路算法 3.3 用A算法实现战术寻路
3.4 A* Pathfinding Project插件的使用
3.4.1 基本的点到点寻路
3.4.2 寻找最近的多个道具(血包、武器、药等)
3.4.3 战术寻路——避开火力范围
3.4.4 在复杂地形中寻路——多层建筑物中的跨层寻路
3.4.5 RTS中的小队寻路——用操控行为和A寻路实现 3.4.6 使用A Pathfinding Project插件需要注意的问题
3.5 A*寻路的适用性
第4章 AI角色对游戏世界的感知
4.1 AI角色对环境信息的感知方式
4.1.1 轮询方式
4.1.2 事件驱动方式
4.1.3 触发器
4.2 常用感知类型的实现
4.2.1 所有触发器的基类——Trigger类
4.2.2 所有感知器的基类——Sensor类
4.2.3 事件管理器
4.2.4 视觉感知
4.2.5 听觉感知
4.2.6 触觉感知
4.2.7 记忆感知
4.2.8 其他类型的感知——血包、宝物等物品的感知
4.3 AI士兵的综合感知示例
4.3.1 游戏场景设置
4.3.2 创建AI士兵角色
4.3.3 创建玩家角色
4.3.4 显示视觉范围、听觉范围和记忆信息
4.3.5 游戏运行结果
第5章 AI角色自主决策——有限状态机
5.1 有限状态机的FSM图
5.1.1 《Pac-Man(吃豆人)》游戏中红幽灵的FSM图
5.1.2 《QuakeⅡ(雷神2)》中Monster怪兽的有限状态机
5.2 方法1:用Switch语句实现有限状态机
5.2.1 游戏场景设置
5.2.2 创建子弹预置体
5.2.3 创建敌人AI角色
5.2.4 创建玩家角色及运行程序
5.3 方法2:用FSM框架实现通用的有限状态机
5.3.1 FSM框架
5.3.2 FSMState类——AI状态的基类
5.3.3 AdvancedFSM类——管理所有的状态类
5.3.4 PatrolState类——AI角色的巡逻状态
5.3.5 ChaseState类——AI角色的追逐状态
5.3.6 AttackState类——AI角色的攻击状态
5.3.7 DeadState类——AI角色的死亡状态
5.3.8 AIController类——创建有限状态机,控制AI角色的行为
5.3.9 游戏场景设置
第6章 AI角色的复杂决策——行为树
6.1 行为树技术原理
6.1.1 行为树基本术语
6.1.2 行为树中的叶节点
6.1.3 行为树中的组合节点
6.1.4 子树的复用
6.1.5 使用行为树与有限状态机的权衡
6.1.6 行为树执行时的协同(Coroutine)
6.2 行为树设计示例
6.2.1 示例1:有限状态机/行为树的转换
6.2.2 示例2:带随机节点的战斗AI角色行为树
6.2.3 示例3:足球球员的AI行为树
6.3 行为树的执行流程解析——阵地军旗争夺战
6.3.1 军旗争夺战行为树
6.3.2 军旗争夺战的行为树遍历过程详解
6.4 使用React插件快速创建敌人AI士兵行为树
6.4.1 游戏场景设置
6.4.2 创建行为树
6.4.3 编写脚本实现行为树
6.4.4 创建敌人AI士兵角色
6.4.5 创建玩家角色及运行程序
第7章 AI综合示例——第三人称射击游戏
7.1 TPS游戏示例总体设计
7.1.1 TPS游戏示例概述
7.1.2 敌人AI角色行为树设计
7.2 TPS游戏示例场景的创建
7.2.1 游戏场景设置
7.2.2 隐蔽点设置
7.3 为子弹和武器编写脚本
7.3.1 创建子弹预置体
7.3.2 为M4枪编写脚本
7.4 创建玩家角色
7.5 创建第三人称相机
7.6 创建敌人AI士兵角色
7.6.1 用React插件画出行为树
7.6.2 为行为树编写代码
7.6.3 敌人AI士兵角色控制脚本
7.7 创建GUI用户界面
7.8 游戏截图
参考文献

封面图:

发表评论

相关文章