虚拟现实(VR)技术与增强现实(AR)技术很早就有,但一直未能进入大众的视野。这些年随着软硬件的发展,VR/AR技术才取得长足的进步,开始逐步影响人们的生产与生活,并被列入国家战略性新兴产业发展规划。
本书介绍VR/AR技术的发展和现状,并根据目前的业界状况,选择Unity3D引擎作为主要开发工具进行讲解。在VR方面,本书介绍VR在HTC VIVE等主流VR硬件上的应用开发流程,以及在国产Nibiru平台中开发VR一体机应用的方法;在AR方面,本书介绍使用国产EasyAR开发工具制作经典AR应用的方法。
为了方便非计算机类专业人员使用本书学习VR/AR开发,本书专门介绍了Unity3D中的可视化逻辑编程工具,读者可以不写任何代码实现大部分的功能。
本书适合作为高职高专中所有对VR/AR技术有需求的专业的教材,也适合想了解和开发VR/AR工程的相关从业人员使用。
虚拟现实技术导论,Unity3D可视化逻辑编程工具介绍。
注重理论和实战相结合的教学方法,帮助学生更好地理解和掌握虚拟现实技术。
广东轻工职业技术学院的教师编写,注重学生参与和实践操作。
配合微课视频,随时随地学习虚拟现实技术,帮助学生提高学习效果。
王康,广东轻工职业技术学院讲师,长期从事VR/AR方面的教学和科研工作。主持开发“AR儿童英语学习套卡软件系统”、“VR游戏机软硬件平台”、“大空间VR多人协作平台”等多项企业项目;并在各类职业技能大赛、计算机设计大赛等重点教师和学生比赛中,在VR方向的赛项中取得多项国家级和省级奖项;并多次主持和参与VR/AR国家师资培训项目。在VR/AR方向具有深厚的基础。
第 1章 VR、AR、MR技术概论 1
1.1 VR技术简介 1
1.1.1 VR发展历史 2
1.1.2 VR技术特征 5
1.1.3 VR技术体系 7
1.1.4 VR系统的分类 10
1.2 AR技术简介 12
1.2.1 AR发展历史 12
1.2.2 AR系统结构 13
1.2.3 AR技术特征 13
1.2.4 AR主要显示方式 14
1.3 MR技术简介 15
1.3.1 MR发展历史 15
1.3.2 MR技术体系 16
1.3.3 MR主流产品及差异 17
1.4 VR、AR、MR的关系 18
1.5 VR、AR、MR的应用 19
1.5.1 军事演练 20
1.5.2 工业生产 20
1.5.3 医疗健康 22
1.5.4 教育培训 24
1.5.5 文化娱乐 26
1.5.6 房产建设 27
1.5.7 商业营销 28
1.6 VR、AR、MR的发展趋势 29
1.6.1 XR与其他前沿技术 29
1.6.2 XR的演进 30
1.6.3 VR、AR的市场规模 31
1.6.4 XR的政策 32
1.7 小结 33
第 2章 Unity引擎 34
2.1 Unity引擎介绍 34
2.1.1 Unity下载与安装 34
2.1.2 创建项目 37
2.1.3 Unity编辑器 38
2.2 Unity引擎的基础内容 41
2.2.1 GameObject(游戏对象)、Component(组件)和Assets(资源) 41
2.2.2 外部资源的导入和使用 43
2.2.3 Prefab(预设体) 46
2.2.4 Material(材质) 49
2.2.5 Light(光源系统) 50
2.2.6 Camera(摄像机) 51
2.2.7 Particle(粒子系统) 54
2.2.8 Physics(物理系统) 57
2.3 操作实例:野外地形的制作 60
2.4 小结 69
第3章 C#脚本编程 70
3.1 C#脚本语言基础 70
3.1.1 脚本编辑器 70
3.1.2 第 一个脚本程序 71
3.1.3 MonoBehaviour类 72
3.1.4 GameObject类 74
3.1.5 Transform类 75
3.1.6 Input类 78
3.2 图形用户界面UGUI 79
3.2.1 画布Canvas 79
3.2.2 图像Image 81
3.2.3 文本Text 82
3.2.4 按钮Button 83
3.2.5 开关Toggle 88
3.2.6 滑块Slider 91
3.2.7 用脚本来控制UI元素的交互 92
3.3 动画系统 95
3.3.1 创建动画 95
3.3.2 使用动画控制器在动画之间切换 97
3.3.3 用脚本控制动画切换 99
3.4 操作实例:RollaBall游戏项目 100
3.4.1 搭建游戏场景 100
3.4.2 小球动起来 102
3.4.3 摄像机跟随小球移动 104
3.4.4 会旋转的方块 106
3.4.5 小球拾取方块 108
3.4.6 显示记分板 111
3.4.7 显示游戏胜利文本 115
3.4.8 发布游戏 117
3.5 小结 119
第4章 可视化编程工具Bolt 120
4.1 Bolt插件的下载和安装 120
4.2 Flow Graph工具的应用 121
4.3 Bolt常用模块介绍 125
4.3.1 Unity API功能模块 125
4.3.2 逻辑功能模块 127
4.3.3 数据模块 128
4.3.4 自定义数据变量 129
4.4 操作实例1:犀牛模型的动画控制 130
4.4.1 犀牛模型的动画片段和动画控制器解析 130
4.4.2 使用Bolt操控犀牛模型的运动 131
4.5 操作实例2:技能冷却UI动画制作 133
4.5.1 UI构建解析 134
4.5.2 使用Bolt实现冷却动画 134
4.6 小结 137
第5章 VR开发 138
5.1 VR开发的通用性问题 138
5.1.1 VRTK开发工具 139
5.1.2 Unity中Android环境的配置 139
5.2 HTC VIVE平台 143
5.2.1 HTC VIVE平台开发包VRTK的使用 144
5.2.2 SteamVR Plugin和VRTK的下载和安装 145
5.2.3 HTC VIVE的基本设置 145
5.2.4 HTC VIVE手柄的设置 146
5.2.5 移动方式的设置 148
5.2.6 可交互物体的设置 149
5.2.7 UI的操作 150
5.3 Nibiru平台 152
5.3.1 在Unity中配置Android系统 152
5.3.2 Nibiru VR在Unity中的基本使用方法 154
5.3.3 Nibiru VR中交互功能的实现 156
5.4 Oculus Quest平台 158
5.4.1 Unity中Oculus Quest开发包的安装配置 159
5.4.2 Oculus Link的使用 163
5.4.3 虚拟场景中的基本移动 164
5.4.4 加入控制手柄或手部模型 165
5.4.5 加入碰撞检测 167
5.4.6 抓取物体 167
5.4.7 隔空取物功能 168
5.5 操作实例1:机械装配虚拟仿真实验 169
5.6 操作实例2:地产行业应用——虚拟样板间 171
5.7 操作实例3:三维游戏Survival Shooter的VR改造 176
5.8 小结 180
第6章 AR开发 181
6.1 EasyAR的版本选择和下载安装 181
6.2 Unity中使用EasyAR开发的准备工作 182
6.2.1 License Key的获取 182
6.2.2 Unity工程中针对EasyAR的设置 184
6.2.3 图像准备 186
6.3 EasyAR SDK的基本使用方法 187
6.3.1 图像目标跟踪 188
6.3.2 三维实体目标跟踪 190
6.3.3 多目标跟踪 192
6.3.4 动态图像目标生成和跟踪 194
6.4 操作实例1:儿童绘画教育应用——涂涂乐 196
6.4.1 制作步骤 196
6.4.2 实现原理和代码分析 197
6.5 操作实例2:展览场馆导览 201
6.5.1 实例概述 201
6.5.2 二维码识别呈现画作信息 201
6.5.3 视频内容呈现 204
6.5.4 脱卡模式 207
6.5.5 交互设计 209
6.6 小结 212
第7章 虚拟现实技术与创新创业 213
7.1 虚拟现实技术的创新机制 213
7.1.1 虚拟现实技术的创新特质 213
7.1.2 虚拟现实技术创新的方法论 214
7.1.3 虚拟现实带来全新的创客理念 215
7.2 虚拟现实技术的创新实践 216
7.2.1 虚拟现实创新创业实践方向 216
7.2.2 存在的问题也是创新创业的机会 217
7.3 虚拟现实技术创新大赛 218
7.3.1 虚拟现实技术及应用创新大赛 219
7.3.2 虚拟现实产业创新大赛 220
7.4 小结 220