《虚拟现实技术基础与应用 第2版》以应用型本科教育理念为出发点,根据高校“虚拟现实技术”课程教学的要求,结合当前该领域新技术而编写。《虚拟现实技术基础与应用 第2版》共8章,详细介绍了虚拟现实的概念和发展现状、虚拟现实的关键技术、虚拟现实系统的硬件设备和相关软件、全景图拼接与全景漫游制作技术、利用Unity进行虚拟现实开发,以及增强现实的应用开发等。
《虚拟现实技术基础与应用 第2版》可作为应用型本科及高职高专院校虚拟现实、数字媒体技术、计算机应用及相关专业的教材,也可作为对虚拟现实技术感兴趣的读者的入门教程。
《虚拟现实技术基础与应用 第2版》配有授课电子课件、案例配套素材、课后习题答案和案例视频等,需要的教师可登录www.cmpedu.com免费注册,审核通过后下载,或联系编辑索取(微信:15910938545,电话:010-88379739)。
前言
第1章 虚拟现实技术概述1
1.1 虚拟现实的概念1
1.1.1 基本概念1
1.1.2 虚拟现实技术的特性4
1.1.3 虚拟现实系统的组成6
1.1.4 AR、MR、XR技术6
1.2 虚拟现实技术的发展8
1.2.1 虚拟现实技术发展历程8
1.2.2 国内外的虚拟现实技术研究11
1.2.3 虚拟现实技术的发展趋势13
1.3 虚拟现实技术的分类14
1.3.1 沉浸式虚拟现实系统14
1.3.2 增强式虚拟现实系统15
1.3.3 桌面式虚拟现实系统15
1.3.4 分布式虚拟现实系统15
1.4 VR技术典型应用—虚拟博物馆16
1.4.1 虚拟博物馆及其发展现状16
1.4.2 虚拟博物馆的特点17
1.4.3 虚拟博物馆的应用技术18
1.4.4 虚拟博物馆的发展趋势19
习题20
第2章 虚拟现实的关键技术21
2.1 立体显示技术21
2.1.1 立体视觉的形成原理21
2.1.2 立体显示技术分类23
2.2 三维建模技术26
2.2.1 几何建模27
2.2.2 物理建模30
2.2.3 运动建模31
2.3 三维虚拟声音技术32
2.3.1 三维虚拟声音的特征32
2.3.2 头部相关传递函数33
2.3.3 语音识别与合成技术33
2.4 人机交互技术35
2.4.1 手势识别技术35
2.4.2 面部表情识别技术36
2.4.3 眼动跟踪技术37
2.4.4 其他感觉器官的反馈技术39
2.5 虚拟现实引擎39
2.5.1 虚拟现实引擎概述40
2.5.2 虚拟现实引擎架构41
习题42
第3章 虚拟现实系统的硬件设备43
3.1 虚拟现实系统的生成设备43
3.1.1 高性能个人计算机43
3.1.2 高性能图形工作站44
3.1.3 巨型机45
3.1.4 分布式网络计算机46
3.2 虚拟现实系统的输入设备47
3.2.1 跟踪定位设备47
3.2.2 人机交互设备52
3.2.3 快速建模设备53
3.3 虚拟现实系统的输出设备54
3.3.1 视觉感知设备55
3.3.2 听觉感知设备66
3.3.3 触觉感知设备68
3.3.4 肌肉/神经交互设备72
3.3.5 语言交互设备73
3.3.6 意念控制设备73
3.3.7 三维打印机74
习题75
第4章 虚拟现实开发软件和语言76
4.1 三维建模软件76
4.1.1 3ds Max76
4.1.2 Maya77
4.1.3 Cinema 4D79
4.2 虚拟现实开发平台80
4.2.1 Unity81
4.2.2 VRP84
4.2.3 Unreal Engine87
4.3 虚拟现实开发语言90
4.3.1 JavaScript90
4.3.2 C#96
4.3.3 C++97
习题97
第5章 三维全景技术99
5.1 三维全景概述99
5.1.1 三维全景的概念99
5.1.2 三维全景应用领域100
5.1.3 三维全景技术发展趋势100
5.2 三维全景制作的常见硬件101
5.2.1 三维全景拍摄硬件101
5.2.2 VR全景视频设备102
5.3 VR全景漫游的制作108
5.3.1 制作流程108
5.3.2 全景拼图软件PTGui的基本操作112
5.3.3 使用Pano2VR生成VR全景120
5.3.4 全景航拍的基本操作126
5.3.5 使用720云平台生成VR全景127
习题137
第6章 Unity开发基础138
6.1 初识Unity138
6.1.1 Unity发展历史138
6.1.2 Unity安装139
6.1.3 Unity简单案例148
6.2 Unity窗口界面153
6.2.1 创建Unity项目153
6.2.2 Scene与场景漫游153
6.2.3 Hierarchy面板与场景搭建155
6.2.4 Project与资源管理156
6.2.5 Inspector与组件管理157
6.3 物理引擎和碰撞检测158
6.3.1 碰撞器158
6.3.2 物理引擎和刚体159
6.3.3 碰撞检测160
6.4 Unity资源163
6.4.1 Terrain地形系统163
6.4.2 3D模型对象169
6.4.3 材质贴图169
6.4.4 灯光171
6.4.5 摄像机173
6.4.6 音频174
6.5 Unity图形用户界面177
6.5.1 GUI177
6.5.2 UGUI177
6.5.3 常用输入类179
6.6 Unity动画系统181
6.6.1 旧版动画系统182
6.6.2 Mecanim动画系统184
6.7 Unity中的AI设计189
6.7.1 游戏中的AI189
6.7.2 AI漫游190
6.7.3 导航寻路技术196
习题204
第7章 Unity网络应用开发208
7.1 网络编程概述208
7.1.1 计算机间的通信208
7.1.2 Socket通信概述208
7.2 Socket同步通信212
7.2.1 一对一Socket同步通信212
7.2.2 一对多Socket同步通信218
7.3 Socket异步通信220
7.3.1 异步通信基础220
7.3.2 多人聊天Socket异步通信225
7.4 Unity连接MySQL数据库236
7.4.1 环境准备237
7.4.2 注册登录实例240
7.5 综合案例—坦克大战网络版游戏开发247
7.5.1 创建地形247
7.5.2 场景搭建248
7.5.3 获取能量和炮弹249
7.5.4 攻击敌方坦克252
7.5.5 声音特效253
7.5.6 敌方坦克漫游AI254
7.5.7 服务端开发259
7.5.8 客户端开发263
7.5.9 发布测试269
习题271
第8章 增强现实开发技术273
8.1 增强现实的特点及制作流程273
8.1.1 增强现实技术的特点273
8.1.2 增强现实的实现原理273
8.1.3 增强现实技术的应用领域274
8.1.4 增强现实开发平台简介276
8.1.5 增强现实开发的一般流程276
8.2 基于Vuforia SDK的增强现实应用开发277
8.2.1 准备AR开发环境277
8.2.2 创建Vuforia案例280
8.2.3 创建AR视频284
8.2.4 创建AR物体识别286
8.2.5 AR 打包发布288
8.3 增强现实的交互设计290
8.3.1 虚拟按钮290
8.3.2 手势控制293
8.3.3 模型脱卡功能实现295
习题296
参考文献298