第1章 初识Unity 3D 1
1.1 Unity 3D简介 1
1.1.1 Unity 3D的特色 1
1.1.2 Unity 3D的发展 2
1.1.3 Unity 3D的应用 3
1.2 Unity 3D下载与安装 6
1.2.1 Unity 3D下载 6
1.2.2 Unity 3D安装 7
1.3 资源管理 14
1.3.1 创建新项目 14
1.3.2 创建游戏物体 15
1.3.3 添加游戏物体组件 16
1.3.4 项目保存 16
1.4 Unity 3D游戏发布 18
1.4.1 发布到PC平台 19
实践案例:PC平台游戏场景发布 21
1.4.2 发布到Web平台 25
实践案例:Web平台游戏场景发布 25
1.4.3 发布到Android平台 27
实践案例:Android平台游戏场景发布 32
1.5 本章小结 36
1.6 习题 36
第2章 Unity 3D界面 37
2.1 Unity 3D界面布局 37
2.2 Hierarchy视图 38
2.2.1 视图布局 39
2.2.2 操作介绍 39
2.3 Project视图 39
2.3.1 视图布局 40
2.3.2 操作介绍 40
2.4 Inspector视图 41
2.4.1 视图布局 41
2.4.2 操作介绍 41
2.5 Scene View视图 42
2.5.1 视图布局 42
2.5.2 操作介绍 43
2.6 Game View视图 45
2.6.1 视图布局 45
2.6.2 操作介绍 45
2.7 菜单栏 46
2.7.1 File菜单 46
2.7.2 Edit菜单 46
2.7.3 Assets菜单 47
2.7.4 GameObject菜单 48
2.7.5 Component菜单 49
2.7.6 Window菜单 50
2.7.7 Help菜单 50
2.8 工具栏 51
2.9 其他快捷键 51
实践案例:自由物体创建 52
2.10 资源管理 56
2.10.1 导入系统资源包 58
2.10.2 导入外部资源包 59
2.10.3 资源导出 60
2.11 Unity资源商店 62
2.11.1 Unity资源商店简介 62
2.11.2 Unity资源商店使用 63
综合案例:创建简单3D场景 64
2.12 本章小结 69
2.13 习题 69
第3章 Unity 3D脚本开发基础 70
3.1 JavaScript脚本基础 70
3.1.1 变量 70
3.1.2 表达式和运算符 70
3.1.3 语句 72
3.1.4 函数 74
3.2 C#脚本基础 74
3.2.1 变量 74
3.2.2 表达式和运算符 77
3.2.3 语句 77
3.2.4 函数 79
3.3 Unity 3D脚本编写 80
3.3.1 创建脚本 80
3.3.2 链接脚本 81
3.3.3 运行测试 83
3.3.4 C#脚本编写注意事项 83
实践案例:脚本环境测试 85
实践案例:创建游戏对象 86
实践案例:旋转的立方体 90
综合案例:第一人称漫游 91
3.4 本章小结 96
3.5 习题 96
第4章 Unity 3D图形用户界面 97
4.1 Unity 3D图形界面概述 97
4.1.1 GUI的概念 97
4.1.2 GUI的发展 97
4.2 OnGUI系统 98
4.2.1 Button控件 98
4.2.2 Box控件 102
4.2.3 Label控件 103
4.2.4 Background Color控件 104
4.2.5 Color控件 105
4.2.6 TextField控件 106
4.2.7 TextArea控件 107
4.2.8 ScrollView控件 108
4.2.9 S1ider控件 109
4.2.10 ToolBar控件 111
4.2.11 ToolTip控件 111
4.2.12 Drag Window控件 112
4.2.13 Window控件 113
4.2.14 纹理贴图 115
4.2.15 Skin控件 116
4.2.16 Toggle控件 119
4.3 UGUI系统 120
4.3.1 Canvas 121
4.3.2 Event System 122
4.3.3 Panel控件 123
4.3.4 Text控件 123
4.3.5 Image控件 124
4.3.6 Raw Image控件 124
4.3.7 Button控件 125
4.3.8 Toggle控件 126
4.3.9 Slider控件 127
4.3.10 Serollbar控件 127
4.3.11 Input Field控件 128
实践案例:游戏界面开发 130
4.4 本章小结 136
4.5 习题 136
第5章 三维漫游地形系统 137
5.1 地形概述 137
5.2 Unity 3D地形系统创建流程 138
5.2.1 创建地形 138
5.2.2 地形参数 138
5.3 使用高度图创建地形 139
实践案例:采用高度图创建地形 139
5.4 地形编辑工具 141
5.4.1 地形高度绘制 141
5.4.2 地形纹理绘制 142
5.4.3 树木绘制 143
5.4.4 草和其他细节 144
5.4.5 地形设置 145
5.4.6 风域 146
5.5 环境特效 147
5.5.1 水特效 147
5.5.2 雾特效 148
5.5.3 天空盒 149
综合案例:3D游戏场景设计 150
5.6 本章小结 161
5.7 习题 161
第6章 物理引擎 162
6.1 物理引擎概述 162
6.2 刚体 162
6.2.1 刚体添加方法 163
6.2.2 刚体选项设置 163
实践案例:刚体测试 164
6.3 碰撞体 167
6.3.1 碰撞体添加方法 167
6.3.2 碰撞体选项设置 167
6.4 触发器 170
实践案例:碰撞消失的立方体 171
6.5 物理材质 174
实践案例:弹跳的小球 175
6.6 力 177
实践案例:力的添加 177
6.7 角色控制器 179
6.7.1 添加角色控制器 179
6.7.2 角色控制器选项设置 179
6.8 关节 180
6.8.1 铰链关节 180
6.8.2 同定关节 181
6.8.3 弹簧关节 181
6.8.4 角色关节 182
6.8.5 可配置关节 182
6.9 布料 184
6.9.1 添加布料系统 184
6.9.2 布料系统属性设置 184
6.10 射线 185
实践案例:拾取物体 185
6.11 物理管理器 187
综合案例:迷宫夺宝 188
6.12 本章小结 194
6.13 习题 194
第7章 模型与动画 195
7.1 三维模型概述 195
7.1.1 主流三维建模软件简介 195
7.1.2 三维模型导入Unity 3D 196
7.2 Mecanim动画系统 200
7.3 人形角色动画 200
7.3.1 创建Avatar 201
7.3.2 配置Avatar 202
7.3.3 人形动画重定向 202
7.4 角色动画在游戏中的应用 203
7.4.1 Animator组件 203
7.4.2 Animator Controller 203
7.4.3 Animator动画状态机 204
实践案例:模型动画 204
7.5 本章小结 208
7.6 习题 208
第8章 导航系统 209
8.1 Unity 3D导航系统 209
8.1.1 设置NavMesh 209
8.1.2 烘焙 209
8.1.3 设置导航代理 211
实践案例:自动寻路 212
8.2 障碍物 214
实践案例:障碍物绕行 214
8.3 本章小结 216
8.4 习题 216
第9章 游戏特效 217
9.1 粒子系统 217
9.1.1 粒子系统概述 217
9.1.2 粒子系统属性 217
实践案例:尾焰制作 225
实践案例:礼花模拟 227
实践案例:火炬模拟 228
实践案例:喷泉模拟 231
9.2 光影特效 234
9.2.1 光照基础 234
9.2.2 阴影 238
实践案例:光照过滤 239
9.3 音乐特效 241
9.3.1 导入音效 241
9.3.2 播放音效 241
实践案例:背景音乐播放 243
综合案例:万圣节的尖叫 246
9.4 本章小结 251
9.5 习题 251
第10章 二维卡牌游戏开发 253
10.1 正交摄像机 253
10.2 精灵 254
10.2.1 精灵的实现 254
10.2.2 精灵的尺寸 255
10.2.3 精灵渲染器 255
10.2.4 图片导入设置 256
10.2.5 精灵编辑 257
10.3 二维物理系统 257
10.3.1 刚体 257
10.3.2 碰撞体 258
10.3.3 Joint 2D 261
实践案例:帧动画 264
综合案例:二维卡牌游戏开发 265
10.4 本章小结 277
10.5 习题 277
第11章 3D射击游戏开发 278
11.1 3D射击游戏构思 278
11.2 3D射击游戏设计 278
11.3 3D射击游戏实施 279
11.3.1 项目准备 279
11.3.2 武器设定 283
11.3.3 子弹设定 286
11.3.4 射击动画 293
11.3.5 射击功能 298
11.3.6 游戏优化 299
11.3.7 游戏发布 300
11.4 本章小结 301
11.5 习题 302
第12章 虚拟现实应用开发 303
12.1 虚拟现实概述 303
12.1.1 虚拟现实概念 303
12.1.2 虚拟现实系统基本特征 303
12.1.3 虚拟现实系统分类 303
12.1.4 虚拟现实系统组成 304
12.1.5 虚拟现实应用 305
12.2 虚拟现实开发软件及平台 307
12.2.1 Virtools 307
12.2.2 Quest 3D 307
12.2.3 VR-Platform 307
12.2.4 Unity 3D 308
12.2.5 Unreal Engine4 309
12.3 虚拟现实开发设备 310
12.3.1 Oculus Rift 310
12.3.2 Microsoft HoloLens 313
12.3.3 Gear VR 314
12.3.4 HTC Vive 314
实践案例:交互式虚拟漫游 326
12.4 本章小结 333
12.5 习题 333
第13章 增强现实开发 334
13.1 增强现实概述 334
13.1.1 增强现实概念 334
13.1.2 增强现实原理 334
13.1.3 增强现实应用 335
13.1.4 增强现实开发插件 335
13.2 Vuforia发展历程 335
13.3 Vuforia核心功能 336
13.3.1 图片识别 336
13.3.2 圆柱体识别 336
13.3.3 多目标识别 337
13.3.4 文字识别 337
13.3.5 云识别 337
实践案例:AR动物开发 338
13.4 本章小结 347
13.5 习题 347
参考文献 348