所有分类
  • 所有分类
  • 在线课堂
  • 精品课程
  • 课件资料
  • 资料手册
文档家VIP会员升级

Unity VR虚拟现实完全自学教程 邵伟 2019年版

Unity VR虚拟现实完全自学教程  

作者:邵伟 

出版时间: 2019年版 

内容简介 

  本书是 VR 自学爱好者的一本入门书,全书共 16 章,全面讲述了在制作 VR 应用程序的过程中所必备的软/硬件知识。硬件层面以 HTC VIVE 为主要硬件平台,同时介绍了两款配合其使用的外部设备―― VIVE 追踪器和 Leap Motion;软件层面以制作 VR 应用程序的核心工作流程为主线,以 Unity 为游戏引擎,从 VR 交互原则、材质、UI、编程开发、调试优化等方面逐步展开介绍各工作环节的主要内容。同时,本书辅以丰富的案例项目,重点介绍了 SteamVR、InteractionSystem、VRTK 等必备插件在实际项目中的使用方法,帮助读者快速上手制作属于自己的 VR 应用程序。本书适合对制作 VR 应用程序感兴趣的人员,以及有志于从事 VR 软件开发工作的人员阅读,同时也适合院校及培训虚拟现实机构相关专业的师生参考。 

目录 

第 1 章 VR 行业概述 /1 

1.1 VR 介绍 /1 

1.2 VR 技术应用案例 /1 

1.3 VR 技术当前面临的挑战 / 5 

1.3.1 硬件价格 / 5 

1.3.2 运算及显示能力 /5 

1.3.3 交互 / 5 

1.3.4 移动性 /6 

1.3.5 内容 / 7 

1.3.6 小结 / 7 

第 2 章 Unity VR 概述 / 8 

2.1 Unity VR / 8 

2.1.1 图形渲染 /8 

2.1.2 真实物理引擎 / 9 

2.1.3 多 VR 平台原生支持 /9 

2.1.4 丰富的资源 /10 

2.1.5 对开发者友好 /10 

2.1.6 不断更新的 Unity 版本 / 11 

2.2 使用 C#脚本进行 VR 交互开发 /12 

第 3 章 当前主流 VR 硬件 / 13 

3.1 HTC VIVE / 13 

3.2 Oculus Rift / 13 

3.3 Gear VR / 14 

3.4 Cardboard /14 

3.5 Daydream 平台 15 

3.6 逐渐崛起的 VR 一体机 / 16 

3.6.1 Oculus Go 和小米 VR 一体机 /17 

3.6.2 HTC VIVE Focus /18 

3.7 未来展望 /18 

第 4 章 VR 应用程序开发工作流程 /20 

4.1 资源准备 /20 

4.2 模型优化及重拓扑 /23 

4.3 展 UV 的过程 / 24 

4.4 材质贴图制作 /25 

4.5 将资源导入 Unity / 25 

4.6 导入开发工具包 /26 

4.7 场景搭建 /26 

4.8 设置光照环境 /27 

4.9 交互开发 /28 

4.10 测试优化 / 28 

4.11 发布应用程序 / 28 

4.12 常用开发工具 /29 

第 5 章 VR 交互设计原则 / 36 

5.1 设计必要的新手引导 /36 

5.2 使用十字线(准星)/36 

5.3 避免界面深度引起的疲劳感 /37 

5.4 使用恒定的速度 /37 

5.5 保持用户在地面上 /38 

5.6 保持头部的跟踪 /38 

5.7 用光来引导用户的注意力 /39 

5.8 借助比例 /39 

5.9 使用空间音频 /40 

5.10 充分使用反馈 /40 

第 6 章 HTC VIVE 硬件 / 41 

6.1 简介 /41 

6.2 产品特点 /41 

6.3 VIVE PRO / 43 

6.4 HTC VIVE 硬件拆解结构 / 44 

6.4.1 头显 /44 

6.4.2 控制器 /45 

6.5 HTC VIVE 控制器按键名称 / 46 

6.6 HTC VIVE 定位原理/ 47 

6.7 Inside-Out 与 Out-Inside 位置跟踪技术 / 47 

6.7.1 Outside-In 跟踪技术 /48 

6.7.2 Inside-Out 跟踪技术 / 48 

6.8 HTC VIVE 的安装 / 49 

第 7 章 VR 中的 UI ./51 

7.1 概述 /51 

7.2 将 UI 容器转换为世界空间坐标 / 52 

7.3 VR 中的 UI 交互 /53 

第 8 章 Unity VR 写实材质 . 55 

8.1 Unity 材质基础 / 55 

8.2 基于物理的渲染理论 /56 

8.3 PBR 材质的优势 / 57 

8.3.1 高品质写实级别材质表现 /58 

8.3.2 为实时渲染而生 / 58 

8.3.3 标准的材质制作流程 /59 

8.4 PBR 材质主要贴图类型 /59 

8.4.1 颜色贴图(Albedo/Basecolor Map)/59 

8.4.2 金属贴图(Metallic Map) /60 

8.4.3 光滑度贴图(Roughness Map) /60 

8.5 PBR 材质制作软件 / 61 

8.5.1 Substance Designer /61 

8.5.2 Substance Painter /65 

8.5.3 Quixel Suite /66 

8.5.4 Marmoset Toolbag /66 

8.6 制作 PBR 椅子材质 /67 

8.6.1 在 Substance Painter 中制作贴图 /67 

8.6.2 导出贴图到 Unity /74 

8.7 Substance in Unity 的使用 / 76 

第 9 章 SteamVR /81 

9.1 SteamVR 简介 /81 

9.1.1 SteamVR Runtime /81 

9.1.2 SteamVR Plugin / 81 

9.1.3 获取控制器引用及按键输入 /83 

9.2 使用SteamVR Plugin实现与物体的交互 /84 

9.3 InteractionSystem /89 

9.3.1 InteractionSystem 核心模块 / 89 

9.3.2 使用 InteractionSystem 实现传送 / 91 

9.3.3 使用 InteractionSystem 实现与物体的交互 / 93 

9.3.4 使用 InteractionSystem 实现与 UI 的交互 /95 

9.4 需要注意的问题 . 96 

第 10 章 使用 VRTK 进行交互开发 /99 

10.1 VRTK 简介 /99 

10.1.1 什么是 VRTK / 99 

10.1.2 VRTK 能做什么 /99 

10.1.3 为什么选择 VRTK /100 

10.1.4 未来版本 103 

10.2 SteamVR Plugin、InteractionSystem 与 VRTK 的关系 /103 

10.3 配置 VRTK /103 

10.3.1 一般配置过程 /104 

10.3.2 快速配置 VRTK/108 

10.4 VRTK 中的指针 / 109 

10.4.1 指针 /109 

10.4.2 指针渲染器 /113 

10.5 在 VRTK 中实现传送 /115 

10.5.1 VRTK 中的传送类型 /115 

10.5.2 限定传送区域 /118 

10.5.3 在 VR 场景中实现传送 /119 

10.6 使用 VRTK 实现与物体的交互 /121 

10.6.1 概述 / 121 

10.6.2 配置方法 / 122 

10.6.3 VRTK 的抓取机制 / 127 

10.7 VRTK 中的控制器高亮和振动 /129 

10.7.1 控制器高亮 /129 

10.7.2 控制器振动 /131 

10.8 VRTK 中与 UI 的交互 / 132 

10.9 实例:开枪射击效果/ 134 

10.10 实例:攀爬效果 / 140 

10.11 实例:实现释放自动吸附功能 / 143 

第 11 章 将基于 PC 平台的应用移植到 VR 平台 / 148 

11.1 项目移植分析 /148 

11.2 初始化 VR 交互 /149 

11.3 Player 的移植 / 150 

11.4 设置道具为可交互对象 / 152 

11.5 实现控制器与道具的交互逻辑 /154 

11.6 修改 UI 渲染模式为 World Space / 156 

11.7 玩家伤害闪屏效果 /157 

11.8 根据报错信息调整代码 /158 

11.9 游戏结束及重新开始 / 159 

第 12 章 Leap Motion for VR /162 

12.1 概述 /162 

12.2 硬件准备 /163 

12.3 软件环境 /164 

12.4 Leap Motion VR 初始开发环境 /164 

12.5 替换 Leap Motion 在 VR 环境中的手部模型 /165 

X Unity VR 虚拟现实完全自学教程 

12.6 实现与 3D 物体的交互 / 167 

12.7 实例:使用 Leap Motion 实现枪械的组装 /171 

第 13 章 VIVE Tracker 的使用 / 175 

13.1 外观结构 /175 

13.2 使用场景 /176 

13.3 初次使用 Tracker /177 

13.4 使用 Tracker 作为控制器 / 178 

13.5 使用 Tracker 与现实世界物体进行绑定 179 

13.6 小结 /181 

第 14 章 Unity VR 游戏案例――《水果忍者 VR》原型开发 /182 

14.1 项目简介 /182 

14.2 初始化项目 / 182 

14.3 配置武士刀 / 183 

14.4 编写水果生成逻辑 /185 

14.5 实现切割水果的效果 /187 

14.6 制作分数和游戏结束 UI /189 

14.7 编写计分、计时和游戏结束等逻辑 / 190 

第 15 章 Unity VR 案例―― Tilt Brush 原型开发 / 194 

15.1 项目分析 /194 

15.2 初始化项目并编写脚本 /195 

15.3 实现修改笔刷颜色功能 /197 

15.4 扩展内容:将绘制交互修改为 VRTK 版本 / 201 

15.5 异常处理 /202 

第16 章 Unity VR 性能优化工具和方法 / 204 

16.1 Unity Profiler / 204 

16.2 Memory Profiler / 205 

16.3 Frame Debugger / 205 

16.4 优化原则和措施 /206 

16.4.1 LOD 技术 /206 

16.4.2 较少 Draw Call 数量 / 207 

16.4.3 使用单通道立体渲染 / 208 

16.4.4 使用 The Lab Renderer / 209 

16.4.5 小结 / 210 

附录A XR 技术词汇解释/ 211 

附录B Unity 编辑器基础小贴士/ 217 

 

书籍下载:

资源下载
资源下载
0
文档家VIP会员升级
没有账号?注册  忘记密码?

社交账号快速登录