全书内容分为三篇。第壹篇是入门篇,针对完全没有任何Unity开发经验的开发者。学完本部分内容后,开发者应该对Unity的基本知识有所了解。第二篇是进阶篇,里面涵盖了AR/VR开发所必须掌握的Unity3D技能。学完本部分内容后,开发者应该掌握AR/VR开发所必须具备的Unity3D技能。第三篇是实战篇,主要通过实战案例的开发学习来掌握主流AR/VR设备平台的知识和技能。学完本部分内容后,学员应对主流的VR/AR设备平台及其开发工具有充分的了解和认识。
Contents?目 录
本书赞誉
前言
第一篇 入门篇
第1章初识神兵:为什么选择Unity 2
1.1 常用3D引擎介绍 2
1.1.1 什么是游戏引擎 2
1.1.2 游戏引擎架构基础 3
1.1.3 主流3D引擎对比分析 6
1.2 Unity的发展史及代表作品 7
1.2.1 Unity的前世今生 7
1.2.2 Unity的代表作品 8
1.3 Unity的授权、服务与安装 10
1.3.1 Unity的授权类型和服务 10
1.3.2 Unity的安装 10
1.4 如何获取Unity开发的学习资源 12
1.4.1 Unity的开发者官方认证培训 12
1.4.2 Unity官方的网站资源 12
1.4.3 值得推荐的第三方学习资源 13
1.5 本章小结 14
第2章蹒跚学步:和Unity的第一次亲密接触 15
2.1 Unity编辑器入门 15
2.1.1 界面布局 15
2.1.2 Unity的工具栏 19
2.1.3 顶部菜单栏 22
2.1.4 Console视图 26
2.2 Unity中的核心概念和子系统 27
2.2.1 游戏场景 27
2.2.2 游戏对象 27
2.2.3 组件 28
2.2.4 预设体 29
2.2.5 Unity的核心子系统 29
2.3 Unity Asset Store游戏资源商城 32
2.4 本章小结 33
第3章无往不利:在Unity中使用C#进行编程 34
3.1 C#语言概述 34
3.1.1 为什么选择C# 34
3.1.2 C#的开发环境 35
3.2 C#的基本语法和使用 35
3.2.1 变量和数据类型 35
3.2.2 表达式与运算符 37
3.2.3 流程控制 43
3.2.4 函数 45
3.2.5 类、对象和方法 48
3.3 Unity的脚本系统 51
3.3.1 创建脚本 52
3.3.2MonoDevelop编辑器及Visual Studio 54
3.3.3 事件函数 54
3.4 本章小结 58
第二篇 进阶篇
第4章创建一个新世界:游戏场景 60
4.1 创建基础的游戏场景 60
4.1.1 Unity中的地形引擎 60
4.1.2 基本几何体的使用 65
4.1.3 添加天空盒 66
4.2 创建外部的游戏资源 68
4.2.13D模型、材质和动画的创建工具 68
4.2.2 音效创建工具 71
4.2.3 其他资源创建工具 71
4.3 导入外部的游戏资源 71
4.3.1 2D图像文件的导入和设置 72
4.3.2 3D模型的导入和设置 72
4.3.3 3D动画的导入和设置 73
4.3.4 音频和视频的导入和设置 74
4.3.5 Unity资源包的导入和导出 74
4.4实战:创建BattleStar项目并准备游戏资源 75
4.4.1BattleStar游戏的策划与设计 75
4.4.2创建BattleStar项目并添加版本控制 76
4.4.3创建并导入BattleStar项目所需的3D美术资源 76
4.4.4创建BattleStar的基本游戏场景 81
4.5 本章小结 88
第5章有了光就有了一切:Enlighten 89
5.1 Unity光照系统介绍 89
5.1.1 Light组件简介 89
5.1.2 常见的光源类型 90
5.1.3 Light inspector中的参数简介 91
5.2 全局光照 93
5.2.1 全局光照简介 93
5.2.2 烘焙 94
5.2.3 Lightmap的使用 95
5.2.4Light Probe和Re?ection Probe的使用 95
5.3实战:给BattleStar游戏场景添加光照 100
5.3.1给场景添加光照前的准备工作 101
5.3.2 给场景添加太阳光 101
5.3.3 添加发光贴图 102
5.3.4 添加点光源 103
5.3.5 添加Light Probe Group 107
5.3.6 添加Ref?lection Probe 110
5.3.7 进行光照烘焙处理 111
5.4 本章小结 113
第6章让游戏画面栩栩如生:粒子系统和其他 114
6.1 Shuriken粒子系统 114
6.1.1 什么是粒子系统 114
6.1.2 Shuriken粒子系统 115
6.2 Shader的使用 117
6.2.1 什么是Shader 117
6.2.2 Unity中的标准Shader 118
6.2.3 创建自定义的Shader 126
6.3 Post Processing的使用 130
6.3.1 Post Processing简介 130
6.3.2如何在Unity项目中添加Post Processing 131
6.4实战:美化BattleStar游戏场景的视觉效果 133
6.4.1设置场景材质(标准Shader的使用) 133
6.4.2制作添加粒子系统特效1:烟尘 134
6.4.3制作添加粒子系统特效2:火花 138
6.4.4 给游戏添加后处理特效 142
6.4.5第三方插件Amplify Shader Editor的使用 147
6.5 本章小结 155
第7章 玩家的好帮手:UI系统 156
7.1 Unity中的UI系统简介 156
7.1.1 UGUI系统简介 156
7.1.2 Canvas简介 157
7.1.3 交互元素简介 163
7.2 实战:给BattleStar游戏添加UI 168
7.3 本章小结 173
第8章让角色活灵活现:Unity中的动画系统 174
8.1 Unity动画系统 174
8.1.1 Legacy Animation System 174
8.1.2 Mecanim动画系统概览 175
8.1.3 Mecanim动画系统的使用 179
8.2实战:让BattleStar游戏中的角色动起来 183
8.2.1 导入NPC角色资源 183
8.2.2 设置NPC基础状态机 184
8.2.3 添加状态机之间的切换 187
8.2.4 编写控制角色动画的脚本 188
8.3 本章小结 190
第9章最简单的游戏AI:NavMesh寻路系统 191
9.1 Unity中的寻路系统 191
9.1.1 寻路系统内部工作原理 191
9.1.2 烘焙设置:NavMesh 192
9.1.3添加障碍物:NavMesh Obstacle 195
9.1.4跳过障碍物:Off-Mesh Lin
......