目录 第1篇基础知识篇 第1章虚拟现实技术概述3 1.1虚拟现实技术的相关概念3 1.1.1虚拟现实3 1.1.2增强现实3 1.1.3混合现实4 1.1.4VR、AR和MR的区别4 1.2虚拟现实系统的基本特征5 1.3虚拟现实系统的分类6 1.4虚拟现实系统的组成6 1.5虚拟现实技术的应用7 1.6虚拟现实开发软件及平台9 1.7虚拟现实开发设备12 1.7.1Oculus Rift12 1.7.2HoloLens13 1.7.3Gear VR14 1.7.4HTC Vive14 1.8虚拟博物馆开发项目15 1.9小结19 1.10习题19 第2章初识Unity引擎20 2.1Unity引擎概述20 2.1.1Unity引擎的特点20 2.1.2Unity引擎的发展21 2.1.3Unity引擎的应用22 2.2Unity引擎的下载与安装25 2.2.1下载Unity引擎25 2.2.2安装Unity引擎26 2.2.3登录Unity引擎35 2.3Unity引擎编辑器36 2.3.1界面布局36 2.3.2工作视图37 2.3.3菜单栏45 2.3.4工具栏50 2.4Unity引擎的基本操作51 2.4.1创建项目51 2.4.2创建游戏对象52 2.4.3添加材质53 2.4.4添加组件54 2.4.5保存项目55 2.4.6发布项目56 2.5基础操作综合项目59 2.6小结62 2.7习题63 第3章脚本开发基础64 3.1脚本概述64 3.2脚本编写64 3.2.1创建脚本64 3.2.2链接脚本66 3.2.3运行脚本66 3.2.4注意事项66 3.3脚本开发实践项目67 3.3.1移动的立方体67 3.3.2创建游戏对象73 3.3.3变换的立方体75 3.4脚本开发综合项目78 3.5小结84 3.6习题84 第4章GUI游戏界面85 4.1GUI概述85 4.1.1GUI的概念85 4.1.2GUI的发展85 4.2UGUI控件86 4.2.1Canvas控件86 4.2.2EventSystem事件系统87 4.2.3Text控件88 4.2.4Image控件89 4.2.5Raw Image控件89 4.2.6Button 控件90 4.2.7Toggle控件91 4.2.8Input Field控件92 4.2.9Slider控件94 4.2.10Scrollbar控件95 4.2.11Panel控件96 4.3Rect Transform97 4.3.1Anchors98 4.3.2Pivot98 4.4GUI游戏界面综合项目99 4.5小结119 4.6习题120 第5章3D游戏场景121 5.1游戏场景概述121 5.2创建场景地形122 5.2.1使用高度图创建地形122 5.2.2使用地形编辑器创建地形124 5.3创建光源阴影136 5.3.1光源分类136 5.3.2光照阴影140 5.4添加角色控制141 5.4.1第一人称角色141 5.4.2第三人称角色142 5.5添加环境效果144 5.5.1添加天空盒144 5.5.2添加水效果144 5.5.3添加雾效果146 5.6添加影音效果147 5.6.1添加音效147 5.6.2添加视频149 5.7系统资源管理153 5.7.1导入系统资源包154 5.7.2导入外部资源包155 5.7.3导出系统内资源156 5.8资源商店157 5.8.1资源商店简介157 5.8.2资源商店的使用157 5.93D游戏场景综合项目160 5.10小结177 5.11习题177 第6章物理系统178 6.1物理系统概述178 6.2常用物理组件178 6.2.1刚体组件178 6.2.2角色控制器组件180 6.2.3触发器组件181 6.2.4碰撞器组件181 6.2.5布料组件185 6.2.6关节组件186 6.3常用物理材质193 6.4射线检测194 6.5物理管理器195 6.6物理系统实践项目196 6.6.1可拖拽的刚体196 6.6.2碰撞消失的立方体199 6.6.3弹跳的小球202 6.6.4拾取物体206 6.7物理系统综合项目208 6.8小结215 6.9习题215 第7章动画系统216 7.1Mecanim概述216 7.1.1Mecanim系统的特性216 7.1.2Mecanim的核心概念216 7.1.3Mecanim的工作流程218 7.2人形动画218 7.2.1创建Avatar218 7.2.2配置Avatar219 7.2.3动画重定向219 7.3动画状态机221 7.3.1连接设置221 7.3.2过渡设置221 7.4动画系统实践项目222 7.4.1顺序角色动画项目222 7.4.2键盘交互动画项目226 7.4.3鼠标交互动画项目233 7.5动画系统综合项目240 7.6小结253 7.7习题253 第8章粒子系统254 8.1粒子系统概述254 8.2粒子系统属性254 8.2.1通用属性255 8.2.2其他属性257 8.3粒子系统实践项目269 8.3.1燃烧的火焰项目269 8.3.2发光的法杖项目276 8.3.3上升的气泡项目279 8.4粒子系统综合项目282 8.5小结293 8.6习题293 第9章导航系统294 9.1导航系统概述294 9.2导航设置步骤294 9.2.1设置导航对象294 9.2.2烘焙(Bake)295 9.2.3设置导航网格代理296 9.3导航系统实践项目298 9.3.1AI路径规划项目298 9.3.2AI障碍绕行项目301 9.3.3AI导航追击项目303 9.4AI导航综合项目310 9.5小结320 9.6习题320 第2篇综合实践篇 第10章2D扑克牌游戏323 10.1游戏构思323 10.2游戏设计323 10.3游戏实施324 10.4游戏测试333 10.5小结334 10.6习题334 第11章3D射击游戏335 11.1游戏构思335 11.2游戏设计335 11.3游戏实施336 11.3.1项目准备336 11.3.2武器设定338 11.3.3子弹设定340 11.3.4开枪动画346 11.3.5射击功能351 11.3.6游戏优化353 11.4游戏测试354 11.5小结355 11.6习题355 参考文献357