VR与AR开发高级教程:基于Unity(第2版)
- ISBN:9787115542878
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:396
- 出版时间:2020-10-01
- 条形码:9787115542878 ; 978-7-115-54287-8
本书特色
1.内容丰富,由浅入深。 本书在内容的组织上本着“起点低,终点高”的原则,覆盖了AR/VR开发的相关知识、各种软件开发工具包(Software Development Kit,SDK),以及案例。为了让读者掌握基础知识,并学习一些实际项目的开发经验,本书*后给出两个完整的案例。 2.结合经典案例展开讨论并展示大量编程技巧。 为了讲解知识点,书中给出了丰富的案例。书中所有的案例均是根据作者多年的开发心得进行设计的。同时,书中还给出了作者多年来积累的很多编程技巧与心得,具有一定的参考价值。 3.即可作为教材,也可作为自学读物。 本书既适合作为高等院校相关专业的教材,也适合作为自学参考书。前9章末尾有配套的习题,便于教师安排学生课下的复习与实践。后两章分别给出了一个完整的VR游戏案例与一个AR、VR相结合的科普类应用案例。帮助读者学以致用,也可以作为课程设计的内容。随着VR与AR技术逐步走向产品化、产业化,在VR与AR应用的开发中,若要使用户体验从能用提升到易用,从不适提升到舒适,再提升到沉浸式,既要提升技术,又要优化解决方案。本书循序渐进地介绍了开发VR与AR应用的基础知识、核心工具,并结合具体的项目展示了开发流程,有助于读者系统地掌握VR与AR应用开发的精髓,进一步提升开发技能。 本书主要内容: ·AR插件的相关知识、Unity开发环境的搭建以及Vuforia开发环境的搭建; ·Vuforia的几项核心功能; ·关于Vuforia核心功能的官方案例; ·谷歌的增强现实引擎ARCore; ·小米VR SDK的基本知识; ·HTC VIVE的基本知识与官方案例; ·Unity开源插件VRTK; ·在Unity中使用Leap Motion提供的SDK开发VR应用的方法。
内容简介
本书主要介绍AR与VR应用的开发流程。本书共11章。章主要介绍了AR应用开发的基础知识,第2~4章介绍了AR开发中所广泛使用的Vuforia与ARCore引擎,第5章介绍基于小米VR的应用开发,第6~8章分别介绍了基于HTC VIVE与Leap Motion设备的应用开发步骤,第9章介绍了当前VR与AR的创新风口,很后两章分别给出了一个完整的VR游戏案例与一个结合AR、VR的科普类应用案例。 本书适合VR、AR应用开发方面的专业人士阅读。
目录
1.1 引言 1
1.2 AR插件 2
1.3 Unity开发环境的搭建 2
1.3.1 Windows平台下Unity的
下载与安装 3
1.3.2 macOS平台下Unity的下载与
安装 6
1.3.3 把目标平台的SDK集成到
Unity中 9
1.4 Vuforia开发环境的搭建 13
1.5 本章小结 16
1.6 习题 17
第 2章 Vuforia的核心功能 18
2.1 图片扫描 18
2.2 圆柱体识别 19
2.2.1 图片规格 19
2.2.2 如何获取实际物体的
具体参数 19
2.2.3 制作商标图片的注意事项 20
2.2.4 如何达到*好的效果 23
2.3 多目标识别 23
2.3.1 多目标识别的原理 23
2.3.2 对多目标识别对象的选择 24
2.4 下一代条形码识别——VuMark 25
2.5 用户自定义目标 26
2.5.1 适合追踪的场景和物体 26
2.5.2 用户自定义目标预制件 26
2.6 虚拟按钮 27
2.6.1 按钮的设计以及布局 27
2.6.2 虚拟按钮的相关特性 27
2.6.3 虚拟按钮的摆放 28
2.7 物体识别 29
2.7.1 可识别物体 29
2.7.2 下载Vuforia对象扫描仪 29
2.7.3 扫描3D物体的步骤 30
2.8 云识别 32
2.8.1 云识别的优势以及注意
事项 32
2.8.2 云识别数据库与目标的
创建 32
2.9 模型识别 35
2.9.1 模型识别的注意事项 35
2.9.2 模型目标的制作 35
2.9.3 创建模型目标的注意事项 37
2.10 水平面识别 37
2.11 本章小结 38
2.12 习题 38
第3章 关于Vuforia核心功能的
官方案例 39
3.1 官方案例下载与AR Camera参数
详解 39
3.2 图片识别案例详解 43
3.2.1 预制件的通用脚本 43
3.2.2 运行结果 50
3.2.3 开发流程 50
3.3 圆柱识别案例详解 54
3.3.1 运行结果 54
3.3.2 开发流程 55
3.4 多目标识别案例详解 58
3.4.1 运行结果 59
3.4.2 开发流程 59
3.5 VuMark案例详解 63
3.5.1 运行结果 64
3.5.2 开发流程 64
3.6 自定义目标识别案例详解 67
3.6.1 运行结果 67
3.6.2 开发流程 68
3.7 虚拟按钮案例详解 74
3.7.1 运行结果 74
3.7.2 开发流程 74
3.8 3D物体识别案例详解 79
3.8.1 运行结果 79
3.8.2 开发流程 80
3.9 云识别案例详解 82
3.9.1 运行结果 83
3.9.2 开发流程 83
3.10 模型目标识别案例详解 91
3.10.1 运行结果 91
3.10.2 开发流程 92
3.11 水平面识别案例详解 93
3.11.1 主要脚本 93
3.11.2 运行结果 97
3.11.3 开发流程 97
3.12 本章小结 98
3.13 习题 98
第4章 ARCore 99
4.1 ARCore基础知识 99
4.2 ARCore 图片识别功能 102
4.2.1 运行结果 103
4.2.2 注意事项 103
4.2.3 案例详解 104
4.3 ARCore平面识别功能 108
4.3.1 运行结果 109
4.3.2 案例详解 109
4.4 ARCore云锚点功能 115
4.4.1 运行结果 115
4.4.2 案例详解 116
4.5 本章小结 123
4.6 习题 123
第5章 小米VR应用开发 124
5.1 小米VR SDK 124
5.1.1 下载与导入小米VR SDK并
运行官方案例 125
5.1.2 SDK官方预制件 128
5.1.3 SDK中的脚本文件 129
5.2 小米VR SDK官方案例 130
5.3 一个综合案例 132
5.3.1 案例策划与准备工作 133
5.3.2 创建项目与搭建场景 134
5.3.3 GameManager.cs脚本的
编写 137
5.3.4 moveController.cs脚本的
编写 139
5.4 本章小结 140
5.5 习题 140
第6章 HTC VIVE平台下的VR开发
基础 141
6.1 HTC VIVE基础知识 142
6.1.1 HTC VIVE设备的安装 144
6.1.2 VIVEPORT和手机通知 148
6.2 SteamVR SDK基础知识 151
6.2.1 SteamVR SDK的下载与
导入 151
6.2.2 SteamVR SDK的目录
结构 152
6.3 第 一个HTC VIVE项目 154
6.3.1 项目的搭建 154
6.3.2 [CameraRig]预制件 156
6.4 控制手柄的按钮监听 158
6.4.1 SteamVR_Controller.cs
脚本 159
6.4.2 MyControllerEvent.cs脚本 162
6.5 SteamVR SDK案例 164
6.5.1 场景功能 164
6.5.2 代码 165
6.6 SteamVR SDK的关键脚本 166
6.6.1 凝视处理 167
6.6.2 激光射线 169
6.6.3 追踪渲染 172
6.6.4 按钮监听 173
6.7 本章小结 176
6.8 习题 176
第7章 HTC VIVE平台下的VR开发
进阶 177
7.1 VRTK的安装与使用 177
7.2 控制手柄的按钮监听 178
7.2.1 按钮监听接口 179
7.2.2 按钮监听接口的调用 183
7.3 光线的创建 185
7.3.1 光线开发的基本知识 186
7.3.2 光线案例的开发 190
7.4 光线UI交互拾取 193
7.4.1 光线UI交互拾取开发的
基本知识 193
7.4.2 光线UI交互拾取案例的
开发 194
7.5 基础传送 199
7.5.1 传送技术 199
7.5.2 传送案例的开发 204
7.6 物体的抓取与使用 207
7.6.1 基本知识 207
7.6.2 抓取案例 212
7.7 设置控制器上按钮的标签 215
7.7.1 按钮的标签 215
7.7.2 案例详解 215
7.8 综合案例 218
7.8.1 运行结果 219
7.8.2 场景的搭建 219
7.8.3 动画的制作 223
7.8.4 脚本的开发 224
7.9 本章小结 232
7.10 习题 232
第8章 Leap Motion在开发中的
应用 233
8.1 Leap Motion开发环境配置 233
8.1.1 Leap Motion驱动的下载与
安装 234
8.1.2 官方SDK与Example
下载 235
8.2 Leap_Motion_Core_Assets_
4.4.0.unitypackage模块 236
8.2.1 使用预制件获取模拟手 236
8.2.2 Leap的手模型 239
8.2.3 Leap Motion的服务提供者
脚本 242
8.2.4 Leap Motion与Vive头盔的
结合 244
8.3 Leap Motion中扩展的交互
功能 245
8.3.1 交互案例的导入及相关
设置 245
8.3.2 Leap Motion交互案例 247
8.4 Leap Motion图形渲染器的
功能 271
8.4.1 Leap Motion图形渲染器的
主要脚本 271
8.4.2 烘焙渲染器官方案例 272
8.4.3 扭曲空间官方案例 274
8.4.4 动态渲染器官方案例 276
8.4.5 大型对象官方案例 278
8.4.6 表面着色器官方案例 280
8.5 手模块 282
8.6 本章小结 286
8.7 习题 286
第9章 VR与AR创新风口 287
9.1 虚拟现实技术 287
9.2 增强现实技术 291
9.3 混合现实技术 295
9.4 本章小结 297
9.5 习题 297
第 10章 HTC VIVE游戏——VR化的
《俄罗斯方块》 298
10.1 背景与操作过程概述 298
10.1.1 游戏背景概述 298
10.1.2 游戏的操作过程 299
10.2 游戏的策划与开发前的准备
工作 300
10.2.1 游戏的策划 301
10.2.2 使用Unity开发游戏前的
准备工作 301
10.3 游戏的架构 302
10.3.1 主场景 302
10.3.2 游戏架构 303
10.4 HTC VIVE开发环境的搭建 304
10.5 游戏主场景的开发 305
10.5.1 场景的搭建 305
10.5.2 UI的搭建 308
10.5.3 游戏摄像机和控制器 313
10.5.4 不同形状方块的实现 317
10.5.5 排行榜的实现 323
10.5.6 核心脚本的开发 325
10.5.7 其他功能的实现 330
10.6 游戏的优化与改进 334
第 11章 科普类AR&VR应用——星空
探索 335
11.1 开发背景以及应用的功能 335
11.1.1 开发背景 335
11.1.2 应用的功能 336
11.2 应用的策划与准备工作 339
11.2.1 应用的策划 339
11.2.2 资源的准备 340
11.3 应用的架构 341
11.3.1 应用的结构 341
11.3.2 各个脚本的简要介绍 342
11.4 天文学基础以及相关计算
公式 345
11.4.1 重要天文坐标系 345
11.4.2 行星、月球、深空天体
简介 347
11.4.3 行星位置的计算 348
11.4.4 月球位置的计算 352
11.4.5 儒略日等的计算 355
11.5 星空观察模块的开发 356
11.5.1 天体数据的存储与读取 357
11.5.2 星座以及深空天体相关内容
的绘制 362
11.5.3 八大行星以及月球的
绘制 366
11.5.4 深空天体介绍场景的
开发 371
11.5.5 天体与连线着色器的
开发 373
11.6 太阳系普通模式的开发 375
11.6.1 太阳系场景的搭建 375
11.6.2 行星与卫星运行脚本的
开发 376
11.6.3 太阳特效的实现与小行星带的
开发 378
11.7 太阳系增强现实模块的开发 380
11.7.1 AR开发前期准备 380
11.7.2 场景搭建过程 381
11.7.3 摄像机自动对焦脚本的
开发 383
11.8 太阳系虚拟现实模块的开发 384
11.8.1 使用CardBoard SDK 384
11.8.2 构建应用并部署到Android
设备 385
11.8.3 将太阳系场景开发成VR
模式 386
11.9 蓝牙摇杆的使用与其他设置功能
的实现 390
11.9.1 YaoGanControl.cs脚本的
开发 390
11.9.2 VR开关、蓝牙摇杆灵敏度、
音效与时间缩放因子的
设置 391
11.9.3 实现主界面的脚本 391
11.9.4 MobileGyro.cs脚本的
开发 395
11.10 本章小结 396
作者简介
吴亚峰,本科毕业于北京邮电大学,硕士毕业于澳大利亚卧龙岗大学,1998年开始从事Java应用的开发,有10多年的Java开发与培训经验,主要的研究方向为Vulkan、OpenGL ES、手机游戏以及VR/AR。他同时为3D游戏开发人员、VR/AR软件工程师,并兼任百纳科技软件培训中心首席培训师,近十年来为数十家著名企业培养了上千名高级软件开发人员,曾编写过《OpenGL ES 3x游戏开发》(上下卷)、《Unity 案例开发大全》(第1版~第2版)、《VR与AR开发高级教程:基于Unity》《H5和WebGL 3D开发实战详解》《Android应用案例开发大全》(第1版~第4版)、《Android游戏开发大全》(第1版~第4版)等多本畅销技术图书,2008年开始关注Android平台下的3D应用开发,并开发了一系列优秀的Android应用程序与3D游戏。 于复兴,任职于华北理工大学信息工程学院,唐山市优秀教师,从事计算机方面的工作16年,在软件开发和计算机教学方面有着丰富的经验。他主持过省市级项目5项,获得过11项国家专利,曾为多家单位设计并开发了管理信息系统,并在各种科技刊物上发表多篇相关论文。2014年开始关注VR/AR应用的开发,参与开发了多款手机娱乐、游戏应用。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0