本书详细阐述了与Unity关卡设计相关的基本解决方案,主要包括道具的导入和配置、创建地形、动画基础、Unity中的游戏角色、基于高级动画的Mecanim系统、场景光照、音频、粒子系统等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
Unity是近几年非常流行的一个3D游戏开发引擎(特别是移动平台),它的特点是跨平台能力强,支持PC、Mac、Linux、网页、iOS、Android等几乎所有的平台,移植便捷,3D图形性能出众,为众多游戏开发者所喜爱。在手机平台,Unity几乎成为3D游戏开发的标准工具。本书则在此基础上将其与关卡设计进行有机的结合,并讨论较为高级的开发技术和解决方案。
前 言
读者或许已经安装了Unity,但却苦于无处下手;或者读者希望了解Unity 5.0中所发布的最新特性。无论读者是否首次接触Unity,或者计划逐步转向Unity阵营,本书均提供了有价值的内容。通过本书的阅读,读者可学习如何构建室外环境,通过实例逐步了解相关开发工具和特性,并根据实际任务提升自己的技术水平。另外,读者还可通过本书附带的资源文件开始任一章节的学习,并可有选择性地进行阅读。通过本书的学习,读者将熟悉关卡设计、动画、建模,以及与市场上优秀引擎相关的知识。
目 录
第1章 Unity初探..................................................................................................... 1
1.1 启动项目............................................................................................... 1
1.2 窗口...................................................................................................... 2
1.2.1 Scene窗口.................................................................................... 3
1.2.2 Game窗口.................................................................................... 6
1.2.3 Project窗口................................................................................ 10
1.2.4 Console窗口............................................................................... 12
1.2.5 窗口控制.................................................................................... 13
1.3 Main Camera对象的功能...................................................................... 16
1.4 本章小结.............................................................................................. 17
第2章 道具的导入和配置....................................................................................... 18
2.1 对象的操控方式................................................................................... 18
2.1.1 对齐机制.................................................................................... 19
2.1.2 灰块........................................................................................... 20
2.2 组件..................................................................................................... 21
2.2.1 添加组件.................................................................................... 21
2.2.2 禁用组件.................................................................................... 22
2.2.3 组件选项.................................................................................... 22
2.3 将道具导入至Unity中.......................................................................... 23
2.3.1 所支持的格式............................................................................. 24
2.3.2 从Blender中导出....................................................................... 24
2.3.3 导入处理.................................................................................... 26
2.4 配置网格.............................................................................................. 27
2.4.1 模型-网格选项............................................................................ 27
2.4.2 双面法线.................................................................................... 28
2.4.3 标记........................................................................................... 29
2.5 预制组件.............................................................................................. 29
2.6 父对象机制.......................................................................................... 31
2.6.1 父对象和预制组件...................................................................... 31
2.6.2 轴心点....................................................................................... 32
2.7 配置纹理.............................................................................................. 32
2.7.1 所支持的格式............................................................................. 32
2.7.2 纹理导出的准备工作.................................................................. 32
2.7.3 纹理类型的设置......................................................................... 33
2.8 材质..................................................................................................... 35
2.8.1 Unity中的材质........................................................................... 36
2.8.2 创建材质.................................................................................... 37
2.8.3 着色器类型................................................................................ 38
2.9 在Unity中使用LOD............................................................................ 41
2.9.1 LOD的准备方式......................................................................... 41
2.9.2 在Unity中设置LOD................................................................... 42
2.9.3 LODBias..................................................................................... 44
2.10 碰撞器............................................................................................... 44
2.11 本章小结............................................................................................ 45
第3章 创建地形..................................................................................................... 46
3.1 地形规划.............................................................................................. 46
3.2 画刷..................................................................................................... 48
3.2.1 创建画刷.................................................................................... 48
3.2.2 导入画刷对象............................................................................. 50
3.3 利用高度图创建地形............................................................................ 51
3.3.1 绘制高度图................................................................................ 51
3.3.2 导出高度图................................................................................ 52
3.3.3 在地形中使用高度图.................................................................. 53
3.4 关卡网格.............................................................................................. 55
3.5 对象层................................................................................................. 55
3.6 地形纹理.............................................................................................. 57
3.6.1 导入纹理.................................................................................... 57
3.6.2 地形的纹理化............................................................................. 59
3.7 Unity中的水面效果.............................................................................. 59
3.8 向关卡中添加树木................................................................................ 62
3.9 使用Unity Tree editor........................................................................... 65
3.10 绘制细节内容..................................................................................... 69
3.11 设置细节............................................................................................ 69
3.11.1 草皮......................................................................................... 70
3.11.2 其他细节.................................................................................. 71
3.12 自定义地形设置条件.......................................................................... 73
3.12.1 基础地形.................................................................................. 73
3.12.2 树木和细节对象........................................................................ 74
3.12.3 分辨率...................................................................................... 75
3.13 天空盒............................................................................................... 76
3.14 本章小结............................................................................................ 77
第4章 动画基础..................................................................................................... 78
4.1 动画的基础内容................................................................................... 78
4.2 使用Animation编辑器.......................................................................... 78
4.3 创建自定义动画................................................................................... 79
4.4 编辑器控制选项................................................................................... 80
4.5 Curve编辑器........................................................................................ 82
4.6 使用曲线工具....................................................................................... 84
4.7 自定义动画和世界空间......................................................................... 85
4.8 利用动画触发事件句柄......................................................................... 85
4.9 向Unity中导入道具动画...................................................................... 88
4.10 本章小结............................................................................................ 92
第5章 Unity中的游戏角色..................................................................................... 93
5.1 配置游戏角色....................................................................................... 93
5.2 从Blender中导出角色.......................................................................... 93
5.2.1 模型概览.................................................................................... 94
5.2.2 导出为FBX格式........................................................................ 95
5.2.3 导入参考动画............................................................................. 96
5.3 在Unity中配置游戏角色...................................................................... 98
5.3.1 通用模型和人物模型之间的差异................................................. 98
5.3.2 人物动画模型........................................................................... 101
5.3.3 错误的拓扑示例........................................................................ 104
5.4 附加选项............................................................................................ 106
5.5 本章小结............................................................................................ 107
第6章 基于高级动画的Mecanim系统.................................................................. 108
6.1 动画控制器........................................................................................ 108
6.2 动画状态............................................................................................ 110
6.3 参数................................................................................................... 111
6.4 设置转换条件..................................................................................... 112
6.5 混合树............................................................................................... 113
6.5.1 概述......................................................................................... 113
6.5.2 构建混合树............................................................................... 114
6.5.3 混合树内部............................................................................... 114
6.5.4 其他混合树选项........................................................................ 117
6.6 调整时间缩放值................................................................................. 118
6.7 分层................................................................................................... 118
6.7.1 构建过程.................................................................................. 118
6.7.2 挥舞手臂.................................................................................. 119
6.8 2D混合机制....................................................................................... 121
6.8.1 混合变化.................................................................................. 121
6.8.2 调整运动行为........................................................................... 122
6.9 创建运动行为..................................................................................... 124
6.9.1 设置......................................................................................... 124
6.9.2 行走......................................................................................... 125
6.9.3 转向......................................................................................... 126
6.9.4 射击......................................................................................... 127
6.10 本章小结.......................................................................................... 130
第7章 场景光照................................................................................................... 131
7.1 光照组件............................................................................................ 131
7.2 光照类型............................................................................................ 133
7.2.1 点光源...................................................................................... 133
7.2.2 聚光灯...................................................................................... 134
7.2.3 有向光源.................................................................................. 135
7.2.4 区域光源.................................................................................. 136
7.3 环境光源............................................................................................ 137
7.4 全局光照............................................................................................ 138
7.4.1 配置环境.................................................................................. 138
7.4.2 静态对象和动态对象................................................................. 139
7.4.3 修复缝隙中的光照.................................................................... 141
7.4.4 自发光材质............................................................................... 142
7.4.5 阴影......................................................................................... 142
7.5 光照贴图............................................................................................ 144
7.5.1 静态光源和动态光源................................................................. 144
7.5.2 动态阴影和静态阴影................................................................. 146
7.6 光照选项............................................................................................ 147
7.7 将光照应用于关卡中.......................................................................... 149
7.8 光照探测器........................................................................................ 149
7.9 反射探测器........................................................................................ 151
7.9.1 反射探测器的类型.................................................................... 152
7.9.2 反射探测器的设置.................................................................... 154
7.10 连续烘焙.......................................................................................... 155
7.11 投影仪.............................................................................................. 156
7.11.1 基本应用................................................................................ 156
7.11.2 其他应用................................................................................ 158
7.12 光照效果.......................................................................................... 160
7.12.1 光照Cookies........................................................................... 160
7.12.2 光晕和火焰............................................................................. 164
7.13 本章小结.......................................................................................... 167
第8章 音频.......................................................................................................... 168
8.1 音频资源和接收对象.......................................................................... 168
8.1.1 音频监听器............................................................................... 169
8.1.2 音频资源.................................................................................. 169
8.1.3 音频剪辑.................................................................................. 171
8.1.4 2D和3D音频........................................................................... 172
8.2 混音器............................................................................................... 174
8.2.1 混音器的工作方式.................................................................... 174
8.2.2 运行期内的调整........................................................................ 176
8.3 滤波器和混响区................................................................................. 177
8.4 本章小结............................................................................................ 179
第9章 粒子系统................................................................................................... 180
9.1 何为粒子系统..................................................................................... 180
9.2 粒子编辑器........................................................................................ 181
9.3 创建瀑布效果..................................................................................... 183
9.4 配置粒子系统..................................................................................... 184
9.4.1 发射方向.................................................................................. 185
9.4.2 配置粒子.................................................................................. 186
9.4.3 调整......................................................................................... 188
9.4.4 纹理层动画............................................................................... 188
9.5 硬币粒子............................................................................................ 189
9.6 本章小结............................................................................................ 190
第10章 最后的编辑和构建操作............................................................................ 191
10.1 刚体................................................................................................. 191
10.2 项目设置.......................................................................................... 194
10.3 场景配置.......................................................................................... 198
10.4 关卡加载和流机制............................................................................ 199
10.5 关卡载入时的限制条件..................................................................... 200
10.6 发布关卡.......................................................................................... 201
10.7 本章小结.......................................................................................... 203