《VR与AR开发高级教程 基于Unity》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:吴亚峰,刘亚志,于复兴编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115444264
  • 页数:297 页
图书介绍:本书主要对虚拟现实和增强现实应用开发各方面的技术进行详细介绍,书中案例采用的开发平台为主流的虚拟现实和增强现实平台。这类虚拟现实和增强现实平台具有市场占有率高,使用方便,支持的操作系统广泛(包括Windows、Android、iOS)等优势。同时,这些主流的平台还可以方便地集成到Unity等主流3D应用开发工具中使用,非常受各移动和嵌入式平台开发人员的欢迎。

第1章 初见增强现实 1

1.1 增强现实简介 1

1.2 AR工具简介 1

1.3 Unity开发环境搭建 2

1.3.1 Windows平台下Unity的下载及安装 2

1.3.2 Mac OS平台下Unity的下载及安装 6

1.3.3 目标平台的SDK与Unity集成 9

1.4 Vuforia开发环境的搭建 12

1.5 本章小结 16

1.6 习题 16

第2章 Vuforia核心功能介绍 17

2.1 扫描图片——Image Target 17

2.2 圆柱体识别——Cylinder Targets 18

2.2.1 图片标准 18

2.2.2 如何获取实际物体的具体参数 18

2.2.3 如何制作自定义的商标 19

2.2.4 如何达到最好的效果 20

2.3 多目标识别——MultiTargets 20

2.3.1 多目标识别原理 21

2.3.2 对多目标识别的选择建议 21

2.4 标记框架——Frame Markers 21

2.5 文字识别——Text Recognition 22

2.5.1 可识别字体格式 22

2.5.2 使用文本识别 22

2.5.3 应用过滤器 23

2.6 用户自定义目标——User Defined Targets 23

2.6.1 适合被追踪的场景和物体 24

2.6.2 介绍用户自定义目标预制件 24

2.7 虚拟按钮——Virtual Button 24

2.7.1 按钮的设计以及布局 24

2.7.2 虚拟按钮的相关特性 25

2.7.3 虚拟按钮的摆放 25

2.8 云识别——Cloud Recognition 26

2.8.1 云识别的优势以及注意事项 26

2.8.2 云识别的两种管理方式 26

2.9 智能地形——SmartTerrain 28

2.9.1 智能地形子对象 28

2.9.2 使用范围及设备要求 29

2.9.3 智能地形工作原理 29

2.10 物体识别——Object Recognition 30

2.10.1 可识别物体 30

2.10.2 下载Vuforia扫描仪 31

2.10.3 扫描3D物体步骤 31

2.11 本章小结 33

2.12 习题 33

第3章 Vuforia核心功能官方案例详解 35

3.1 官方案例下载及ARCamera参数讲解 35

3.2 扫描图片官方案例详解 37

3.2.1 预制件通用脚本介绍 38

3.2.2 运行效果 39

3.2.3 开发流程 40

3.3 圆柱识别案例详解 43

3.3.1 运行效果 43

3.3.2 开发流程 43

3.4 多目标识别案例详解 47

3.4.1 运行效果 48

3.4.2 开发流程 48

3.5 标记框架案例详解 53

3.5.1 运行效果 53

3.5.2 开发流程 53

3.6 文字识别案例详解 54

3.6.1 运行效果 54

3.6.2 开发流程 55

3.7 自定义目标识别案例详解 58

3.7.1 运行效果 59

3.7.2 开发流程 59

3.8 虚拟按钮案例详解 63

3.8.1 运行效果 63

3.8.2 开发流程 63

3.9 云识别案例详解 69

3.9.1 运行效果 69

3.9.2 开发流程 69

3.10 智能地形案例 75

3.10.1 基础案例 75

3.10.2 Penguin案例 78

3.11 3D物体识别案例详解 80

3.11.1 运行效果 80

3.11.2 开发流程 81

3.12 本章小结 84

3.13 习题 84

第4章 EasyAR概述 85

4.1 EasyAR基础知识讲解 85

4.1.1 EasyAR基本介绍 85

4.1.2 EasyAR SDK下载及官方案例导入 85

4.2 EasyAR图片识别功能 89

4.2.1 案例效果 89

4.2.2 案例详解 89

4.3 EasyAR视频播放功能 93

4.3.1 案例效果 93

4.3.2 案例详解 94

4.4 本章小结 99

4.5 习题 99

第5章 基于Unity开发的VR设备初探 101

5.1 基于Unity开发的VR设备 101

5.1.1 Oculus Rift 101

5.1.2 Microsoft HoloLens全息眼镜 104

5.1.3 Gear VR 104

5.1.4 PlayStation VR 105

5.1.5 HTC Vive 105

5.2 Oculus Rift环境配置与简要介绍 105

5.2.1 Oculus Rift安装 106

5.2.2 Oculus系统托盘 108

5.2.3 Oculus PC SDK开发准备 109

5.2.4 游戏手柄的使用 110

5.2.5 Unity整合包简单介绍 110

5.3 移动控制 113

5.3.1 基础知识 113

5.3.2 移动控制的案例 115

5.4 准星的开发 118

5.4.1 基础知识 119

5.4.2 准星开发案例 119

5.5 菜单界面的开发 123

5.5.1 场景的搭建 124

5.5.2 C#脚本的开发 126

5.6 综合案例 129

5.6.1 场景的搭建 130

5.6.2 着色器及相关脚本的开发 132

5.7 本章小结 137

5.8 习题 138

第6章 Cardboard VR开发 139

6.1 Cardboard SDK基本介绍 139

6.1.1 Cardboard SDK的下载与导入 140

6.1.2 SDK官方预制件 141

6.1.3 SDK中的脚本文件 143

6.2 Cardboard SDK官方案例 144

6.3 一个综合案例 148

6.3.1 获取蓝牙手柄键值 149

6.3.2 场景一的搭建与开发 150

6.3.3 场景二的搭建与开发 153

6.4 本章小结 156

6.5 习题 156

第7章 三星Gear VR应用开发 157

7.1 Gear VR概览 157

7.1.1 初识Gear VR 157

7.1.2 Oculus Home 158

7.2 开发前的准备 159

7.2.1 下载Oculus Mobile SDK 159

7.2.2 获取Oculus签名文件 160

7.2.3 相关软硬件的基本要求 161

7.3 Oculus Mobile SDK概述 162

7.3.1 SDK文件目录介绍 162

7.3.2 脚本功能介绍 163

7.3.3 OVRCameraRig脚本介绍 163

7.3.4 外设输入接口开发 165

7.3.5 场景加载时的淡入效果脚本 169

7.4 游戏性能问题 170

7.4.1 硬件介绍以及降低性能的因素 170

7.4.2 开发中需要注意的问题 171

7.5 一个简单的案例 171

7.5.1 案例功能简介 172

7.5.2 VR场景搭建 172

7.5.3 UGUI事件监听系统 174

7.5.4 追踪光标的实现 176

7.5.5 触摸板事件监听 177

7.5.6 部署运行APK的步骤 178

7.6 本章小结 179

7.7 习题 179

第8章 HTC Vive平台VR开发简介 181

8.1 HTC Vive基本介绍 181

8.1.1 设备的安装 183

8.1.2 Viveport和手机通知 186

8.2 SDK基本介绍 188

8.2.1 下载Steam VR 188

8.2.2 Vive SDK的下载及导入 189

8.2.3 SDK中的官方预制件 190

8.3 SDK案例讲解 192

8.4 SDK脚本讲解 194

8.4.1 SteamVR GazeTracker脚本详解 194

8.4.2 SteamVR LaserPointer脚本详解 196

8.4.3 SteamVR TestTrackedCamera脚本详解 198

8.4.4 SteamVR TrackedController脚本详解 199

8.5 本章小结 201

8.6 习题 201

第9章 VR与AR创新风口 203

9.1 虚拟现实技术 203

9.2 增强现实技术 206

9.3 混合现实技术 209

9.4 本章小结 211

9.5 习题 211

第10章 GEAR VR游戏——Breaker 213

10.1 背景以及功能概述 213

10.1.1 游戏背景概述 213

10.1.2 游戏功能简介 213

10.2 游戏的策划及准备工作 215

10.2.1 游戏的策划 215

10.2.2 使用Unity开发游戏前的准备工作 216

10.3 游戏的架构 218

10.3.1 各个场景的简要介绍 218

10.3.2 游戏架构简介 219

10.4 Gear VR开发环境的搭建 219

10.5 游戏菜单场景的开发 220

10.5.1 场景的搭建及相关设置 221

10.5.2 各对象的脚本开发及相关设置 223

10.6 关卡场景的开发 228

10.6.1 场景的搭建 228

10.6.2 摄像机设置及脚本开发 230

10.6.3 小球的脚本开发 234

10.6.4 插件的使用 237

10.6.5 场景机关的开发 240

10.6.6 提示面板的开发 243

10.7 游戏的优化与改进 245

第11章 科普类AR&VR应用——星空探索 247

11.1 项目背景以及功能概述 247

11.1.1 项目开发背景概述 247

11.1.2 软件功能简介 248

11.2 软件的策划及准备工作 250

11.2.1 软件的策划 250

11.2.2 资源的准备工作 251

11.3 软件的架构 252

11.3.1 功能结构介绍 252

11.3.2 各个脚本简要介绍 253

11.4 天文学基础以及相关计算公式 255

11.4.1 重要天文坐标系 255

11.4.2 行星、月球、深空天体简介 257

11.4.3 行星运行轨迹计算 258

11.4.4 月球运行轨迹计算 261

11.4.5 儒略日计算 264

11.5 观察星空模块的开发 265

11.5.1 数据的存储与读取技术的开发 265

11.5.2 星座以及深空天体相关内容的绘制 269

11.5.3 八大行星以及月球的绘制 272

11.5.4 深空天体介绍场景的开发 276

11.5.5 天体及连线着色器的开发 278

11.6 太阳系普通模式的开发 279

11.6.1 太阳系场景的搭建 279

11.6.2 行星及卫星脚本开发 280

11.6.3 太阳特效及小行星带的开发 281

11.7 太阳系增强现实(AR)模式的开发 283

11.7.1 AR开发前期准备 284

11.7.2 场景搭建过程 285

11.7.3 摄像机自动对焦脚本的开发 287

11.8 太阳系虚拟现实(VR)模式的开发 288

11.8.1 CardBoard SDK使用 288

11.8.2 构建应用并部署到Android设备 289

11.8.3 将太阳系场景开发成VR模式 289

11.9 蓝牙摇杆使用及其他设置功能的实现 290

11.9.1 蓝牙摇杆控制脚本开发 290

11.9.2 VR开关、摇杆灵敏度、音效及时间缩放因子的开发 291

11.9.3 主菜单脚本的开发 291

11.9.4 陀螺仪脚本开发 294

11.10 本章小结 295

参考文献 296