第1章 游戏AI的基础知识 1
1.1 创建生活幻象 1
1.2 利用AI进一步完善游戏 2
1.3 在Unity使用AI 3
1.4 定义主体 3
1.5 有限状态机概述 3
1.6 通过主体视角查看场景 4
1.7 路径跟踪 5
1.7.1 A寻路 6
1.7.2 使用网格导航 7
1.8 群集方案 9
1.9 行为树 9
1.10 模糊逻辑 11
1.11 本章小结 12
第2章 有限状态机 13
2.1 FSM应用 13
2.2 生成状态机行为 14
2.2.1 生成AnimationController资源 14
2.2.2 Layers项和Parameters项 16
2.2.3 动画控制查看器 18
2.2.4 行为的图像化 18
2.2.5 生成第一个状态 19
2.2.6 状态间的转换 19
2.3 创建玩家坦克对象 20
2.4 生成敌方坦克对象 20
2.4.1 选择转换 21
2.4.2 实现过程 22
2.5 本章小结 32
第3章 实现感知系统 33
3.1 基本的感知系统 33
3.1.1 视锥 34
3.1.2 基于球体的听觉、感觉和嗅觉 35
3.1.3 扩展AI 35
3.1.4 感知系统的创新 36
3.2 构建场景 36
3.3 创建玩家坦克 37
3.3.1 实现玩家坦克 38
3.3.2 实现Aspect类 40
3.4 创建AI角色 41
3.5 使用Sense类 43
3.6 视见功能 44
3.7 触觉系统 46
3.8 测试结果 48
3.9 本章小结 49
第4章 寻路方案 50
4.1 路径跟踪 50
4.1.1 路径脚本 52
4.1.2 使用路径跟踪器 53
4.1.3 躲避障碍物 56
4.1.4 添加定制层 57
4.1.5 实现躲避逻辑 58
4.2 A寻路算法 63
4.2.1 算法回顾 63
4.2.2 算法实现 64
4.3 导航网格 83
4.3.1 构建地图 83
4.3.2 静态障碍物 84
4.3.3 导航网格的烘焙 84
4.3.4 使用NavMesh主体对象 87
4.3.5 设置目的地 88
4.3.6 Target类 89
4.3.7 斜面测试 90
4.3.8 区域探索 92
4.3.9 Off Mesh Links连接 94
4.3.10 生成Off Mesh Links 94
4.3.11 设置Off Mesh Links 95
4.4 本章小结 97
第5章 群集行为 98
5.1 群集算法初探 98
5.2 理解群集算法背后的概念 98
5.3 Unity示例中的群集行为 100
5.3.1 模拟个体行为 101
5.3.2 创建控制器 108
5.4 替代方案 110
5.5 使用人群群集算法 118
5.5.1 实现简单的群集模拟 118
5.5.2 使用CrowdAgent组件 120
5.5.3 添加障碍物 121
5.6 本章小结 124
第6章 行为树 125
6.1 行为树的基本概念 125
6.1.1 理解不同的节点类型 126
6.1.2 定义复合节点 126
6.1.3 理解修饰节点 127
6.1.4 描述叶节点 128
6.2 估算现有方案 128
6.3 实现基本的行为树框架 129
6.3.1 实现Node基类 129
6.3.2 将节点实现于选取器上 130
6.3.3 序列的实现 132
6.3.4 将修饰节点实现为反相器 133
6.3.5 创建通用行为节点 135
6.4 框架测试 136
6.4.1 行为树的规划 136
6.4.2 检查场景构建结果 137
6.4.3 考察MathTree节点 138
6.4.4 执行测试 143
6.5 本章小结 146
第7章 模糊逻辑 147
7.1 定义模糊逻辑 147
7.2 模糊逻辑应用 149
7.2.1 实现简单的模糊逻辑系统 149
7.2.2 扩展集合 157
7.2.3 数据的逆模糊化 157
7.3 使用观测数据 158
7.4 模糊逻辑的其他应用 161
7.4.1 加入其他概念 161
7.4.2 创建独特的体验 161
7.5 本章小结 162
第8章 整合过程 163
8.1 制定规则 163
8.2 创建高塔对象 164
8.3 构建坦克对象 173
8.4 构建场景环境 177
8.5 测试示例 178
8.6 本章小结 179