书籍详情
虚拟现实技术及应用
作者:冯开平
出版社:电子工业出版社
出版时间:2021-04-01
ISBN:9787121408762
定价:¥62.00
购买这本书可以去
内容简介
虚拟现实技术课程是数字媒体技术的重要专业课程之一,从目前国内外提供的高校教材来看,有的内容过于老旧,有些过于偏重某个方向,在基础知识、新技术、新应用及通用性、拓展性等方面都难于适合专业的发展需要。因此编写一本既能符合专业要求,又能紧跟新技术,适应专业发展需要的新教材是亟待解决的问题,对数字媒体技术专业的发展具有现实的意义和社会价值。本书介绍了虚拟现实技术的*发展状况,详细介绍了虚拟现实技术的基础理论及方法,重点介绍了目前具代表性的虚拟现实相关软件、工具的使用和开发方法;既注重原理,又注重实践,配有大量案例,具有良好的可读性和可操作性。本书分为7章,内容包括虚拟现实技术概述、3D数学基础、3ds Max建模工具、Web3D技术、Unity3D、Unreal Engine和增强现实技术。本书适合作为高等学校数字媒体技术、数字媒体艺术、动画、软件工程、虚拟现实等专业虚拟现实技术课程的教材,也适合从事虚拟现实技术研究的人员参考。
作者简介
冯开平,广东工业大学教授,教育部高等学校工程图学课程教学指导分委会委员,长期从事虚拟现实、工程图学、动画教研工作,出版多部教材。
目录
目录
第1章 虚拟现实技术概述 / 1
1.1? 虚拟现实技术定义 / 1
1.1.1 什么是虚拟现实技术 / 1
1.1.2 四要素 / 1
1.2 VR 系统 / 3
1.2.1 I/O 设备 / 3
1.2.2 VR 引擎 / 3
1.2.3 应用软件和数据库 / 4
1.3 VR 技术类别 / 5
1.3.1 桌面 VR 技术 / 5
1.3.2 沉浸式 VR 技术 / 5
1.3.3 增强现实技术 / 5
1.3.4 分布式 VR 技术 / 6
1.4 VR 技术设备 / 6
1.4.1 设备分类 / 6
1.4.2 典型设备 / 7
1.5 VR 技术的应用 / 8
习题 / 11
第2章 3D 数学基础 / 12
2.1 3D 坐标系 / 12
2.1.1 世界坐标(World Space) / 12
2.1.2 屏幕坐标(Screen Space) / 12
2.1.3 视口坐标(ViewPort Space) / 13
2.2 向量 / 13
2.2.1 向量的加法和减法 / 13
2.2.2 向量的点乘 / 14
2.2.3 向量的叉乘 / 14
2.3 矩阵运算 / 15
2.3.1 矩阵的定义 / 15
2.3.2 矩阵变换 / 16
2.4 四元数和欧拉角 / 17
2.4.1 四元数 / 17
2.4.2 欧拉角 / 18
2.5 3D 几何变换 / 19
2.5.1 平移变换 / 19
2.5.2 缩放变换 / 20
2.5.3 旋转变换 / 20
2.5.4 三维组合变换 / 21
2.6 投影变换 / 23
2.6.1 正交投影 / 23
2.6.2 透视投影 / 24
习题 / 27
第3章 3ds Max 建模工具 / 28
3.1 3ds Max 软件简介 / 28
3.2 3ds Max 的操作流程和工作特性 / 28
3.2.1 操作流程 / 28
3.2.2 3ds Max 的界面 / 29
3.2.3 对象选择方式和显示状态 / 33
3.3 三维建模 / 35
3.3.1 基础建模(基本体) / 35
3.3.2 案例——小推车建模 / 36
3.3.3 高级建模 / 40
3.3.4 案例——多边形建模(链锤) / 46
3.3.5 案例——样条线建模(花瓶) / 49
3.4 材质与贴图 / 51
3.4.1 基础材质 / 51
3.4.2 UVW 贴图修改器 / 54
3.4.3 案例——制作书 / 56
3.5 灯光与摄像机 / 62
3.5.1 灯光 / 62
3.5.2 摄像机 / 64
3.6? 动画 / 64
3.7 案例——烘焙茶壶 / 66
3.8 案例——古场景建模 / 71
习题 / 83
第4章Web3D 技术 / 84
4.1 Web3D 技术概述 / 84
4.1.1 Web3D 的发展和特点 / 84
4.1.2 Web3D 网络资源平台 / 86
4.1.3 Web3D 的应用领域 / 87
4.1.4 常用模型的文件格式 / 88
4.1.5 Web3D 应用系统开发流程 / 88
4.2 可拓展语言 VRML/X3D/X3Dom / 90
4.2.1 VRML/X3D/X3Dom 概述 / 90
4.2.2 X3D 语法结构 / 90
4.2.3 X3D 的数据类型 / 93
4.2.4 X3D 基本节点 / 94
4.2.5 X3D 交互节点 / 97
4.2.6 X3Dom 的实现 / 100
4.3 HTML5 与 WebGL 技术 / 108
4.3.1 HTML5 的内容画布 Canvas / 108
4.3.2 WebGL 概述 / 109
4.3.3 WebGL 编程 / 110
4.3.4 Three.js 框架 / 114
4.4 WebXR 技术 / 117
4.4.1 WebXR 规范 / 117
4.4.2 A-Frame 框架 / 118
4.5 Web3D 应用 / 126
4.5.1 案例——X3Dom 墙纸更换系统开发 / 126
4.5.2 案例——A-Frame 的项目开发 / 128
习题 / 131
第5章 Unity3D / 133
5.1 Unity3D 概述 / 133
5.1.1 Unity3D 安装 / 133
5.1.2 Unity3D 主界面 / 134
5.2 Unity3D 项目开发 / 138
5.2.1 新建项目 / 138
5.2.2 添加 3D 模型 / 139
5.2.3 添加灯光 / 141
5.2.4 GUI 设计 / 142
5.2.5 交互控制脚本 / 143
5.2.6 发布 / 144
5.3 地形地貌场景创建 / 146
5.3.1 地形引擎 / 146
5.3.2 利用高度图生成地形图 / 151
5.4 脚本入门 / 151
5.4.1 C# 基本语法 / 151
5.4.2 脚本的常用方法 / 153
5.4.3 键盘、鼠标和触屏的输入 / 160
5.4.4 事件系统与 UGUI / 163
5.5 动画 / 173
5.5.1 Animation / 173
5.5.2 门动画的创建与制作 / 174
5.5.3 Mecanim 动画系统简介 / 175
5.5.4 案例——Mecanim 人物动画系统 / 177
5.5.5 案例——Mecanim 动物动画系统 / 183
5.6 案例——场景漫游 / 187
5.6.1 场景和角色导入 / 187
5.6.2 烘焙场景 / 188
5.6.3 自动寻路 / 188
5.6.4 粒子效果 / 192
5.6.5 UGUI / 195
5.6.6 捡拾物品 / 197
5.7 案例——VR 游戏开发 / 200
5.7.1 VR 游戏开发流程 / 200
5.7.2 VR 游戏开发的条件 / 201
5.7.3 将头戴式设备连接到计算机 / 202
5.7.4 启动 HTC Vive 系统 / 202
5.7.5 在 Unity3D 中使用 VR 设备 / 204
习题 / 207
第6章 Unreal Engine / 208
6.1 快速入门 / 208
6.1.1 软件下载与安装 / 208
6.1.2 案例——“Hello world” / 210
6.2 案例——关卡设计 / 211
6.2.1 创建新项目 / 211
6.2.2 导航视口 / 212
6.2.3 创建一个新关卡 / 214
6.2.4 放置 Actor / 214
6.2.5 编辑已放置的 Actor / 216
6.2.6 执行构建过程 / 217
6.3 材质创建及编辑 / 217
6.3.1 基础设置 / 217
6.3.2 创建材质 / 220
6.3.3 编辑材质 / 220
6.3.4 为静态网格物体指定材质 / 223
6.4 创建 C 类 / 223
6.4.1 的项目设置 / 224
6.4.2 创建 C 类 / 224
6.4.3 写入并编译 C 代码 / 225
6.4.4 测试代码 / 227
6.5 案例——人称射击游戏 / 227
6.5.1 设置项目 / 228
6.5.2 实现角色 / 232
6.5.3 实现发射物 / 246
6.5.4 添加角色动画 / 265
习题 / 277
第7章 增强现实技术 / 279
7.1 增强现实技术概述 / 279
7.1.1 增强现实技术发展 / 280
7.1.2 增强现实技术在各领域的应用 / 280
7.1.3 常用开发工具 / 281
7.2 Vuforia SDK 开发基础 / 283
7.2.1 Vuforia SDK 开发环境 / 283
7.2.2 下载 Vuforia 6 SDK / 283
7.2.3 建立增强现实工程 / 286
7.3 案例——Vuforia 虚拟按钮 / 288
习题 / 292
参考文献 / 294
第1章 虚拟现实技术概述 / 1
1.1? 虚拟现实技术定义 / 1
1.1.1 什么是虚拟现实技术 / 1
1.1.2 四要素 / 1
1.2 VR 系统 / 3
1.2.1 I/O 设备 / 3
1.2.2 VR 引擎 / 3
1.2.3 应用软件和数据库 / 4
1.3 VR 技术类别 / 5
1.3.1 桌面 VR 技术 / 5
1.3.2 沉浸式 VR 技术 / 5
1.3.3 增强现实技术 / 5
1.3.4 分布式 VR 技术 / 6
1.4 VR 技术设备 / 6
1.4.1 设备分类 / 6
1.4.2 典型设备 / 7
1.5 VR 技术的应用 / 8
习题 / 11
第2章 3D 数学基础 / 12
2.1 3D 坐标系 / 12
2.1.1 世界坐标(World Space) / 12
2.1.2 屏幕坐标(Screen Space) / 12
2.1.3 视口坐标(ViewPort Space) / 13
2.2 向量 / 13
2.2.1 向量的加法和减法 / 13
2.2.2 向量的点乘 / 14
2.2.3 向量的叉乘 / 14
2.3 矩阵运算 / 15
2.3.1 矩阵的定义 / 15
2.3.2 矩阵变换 / 16
2.4 四元数和欧拉角 / 17
2.4.1 四元数 / 17
2.4.2 欧拉角 / 18
2.5 3D 几何变换 / 19
2.5.1 平移变换 / 19
2.5.2 缩放变换 / 20
2.5.3 旋转变换 / 20
2.5.4 三维组合变换 / 21
2.6 投影变换 / 23
2.6.1 正交投影 / 23
2.6.2 透视投影 / 24
习题 / 27
第3章 3ds Max 建模工具 / 28
3.1 3ds Max 软件简介 / 28
3.2 3ds Max 的操作流程和工作特性 / 28
3.2.1 操作流程 / 28
3.2.2 3ds Max 的界面 / 29
3.2.3 对象选择方式和显示状态 / 33
3.3 三维建模 / 35
3.3.1 基础建模(基本体) / 35
3.3.2 案例——小推车建模 / 36
3.3.3 高级建模 / 40
3.3.4 案例——多边形建模(链锤) / 46
3.3.5 案例——样条线建模(花瓶) / 49
3.4 材质与贴图 / 51
3.4.1 基础材质 / 51
3.4.2 UVW 贴图修改器 / 54
3.4.3 案例——制作书 / 56
3.5 灯光与摄像机 / 62
3.5.1 灯光 / 62
3.5.2 摄像机 / 64
3.6? 动画 / 64
3.7 案例——烘焙茶壶 / 66
3.8 案例——古场景建模 / 71
习题 / 83
第4章Web3D 技术 / 84
4.1 Web3D 技术概述 / 84
4.1.1 Web3D 的发展和特点 / 84
4.1.2 Web3D 网络资源平台 / 86
4.1.3 Web3D 的应用领域 / 87
4.1.4 常用模型的文件格式 / 88
4.1.5 Web3D 应用系统开发流程 / 88
4.2 可拓展语言 VRML/X3D/X3Dom / 90
4.2.1 VRML/X3D/X3Dom 概述 / 90
4.2.2 X3D 语法结构 / 90
4.2.3 X3D 的数据类型 / 93
4.2.4 X3D 基本节点 / 94
4.2.5 X3D 交互节点 / 97
4.2.6 X3Dom 的实现 / 100
4.3 HTML5 与 WebGL 技术 / 108
4.3.1 HTML5 的内容画布 Canvas / 108
4.3.2 WebGL 概述 / 109
4.3.3 WebGL 编程 / 110
4.3.4 Three.js 框架 / 114
4.4 WebXR 技术 / 117
4.4.1 WebXR 规范 / 117
4.4.2 A-Frame 框架 / 118
4.5 Web3D 应用 / 126
4.5.1 案例——X3Dom 墙纸更换系统开发 / 126
4.5.2 案例——A-Frame 的项目开发 / 128
习题 / 131
第5章 Unity3D / 133
5.1 Unity3D 概述 / 133
5.1.1 Unity3D 安装 / 133
5.1.2 Unity3D 主界面 / 134
5.2 Unity3D 项目开发 / 138
5.2.1 新建项目 / 138
5.2.2 添加 3D 模型 / 139
5.2.3 添加灯光 / 141
5.2.4 GUI 设计 / 142
5.2.5 交互控制脚本 / 143
5.2.6 发布 / 144
5.3 地形地貌场景创建 / 146
5.3.1 地形引擎 / 146
5.3.2 利用高度图生成地形图 / 151
5.4 脚本入门 / 151
5.4.1 C# 基本语法 / 151
5.4.2 脚本的常用方法 / 153
5.4.3 键盘、鼠标和触屏的输入 / 160
5.4.4 事件系统与 UGUI / 163
5.5 动画 / 173
5.5.1 Animation / 173
5.5.2 门动画的创建与制作 / 174
5.5.3 Mecanim 动画系统简介 / 175
5.5.4 案例——Mecanim 人物动画系统 / 177
5.5.5 案例——Mecanim 动物动画系统 / 183
5.6 案例——场景漫游 / 187
5.6.1 场景和角色导入 / 187
5.6.2 烘焙场景 / 188
5.6.3 自动寻路 / 188
5.6.4 粒子效果 / 192
5.6.5 UGUI / 195
5.6.6 捡拾物品 / 197
5.7 案例——VR 游戏开发 / 200
5.7.1 VR 游戏开发流程 / 200
5.7.2 VR 游戏开发的条件 / 201
5.7.3 将头戴式设备连接到计算机 / 202
5.7.4 启动 HTC Vive 系统 / 202
5.7.5 在 Unity3D 中使用 VR 设备 / 204
习题 / 207
第6章 Unreal Engine / 208
6.1 快速入门 / 208
6.1.1 软件下载与安装 / 208
6.1.2 案例——“Hello world” / 210
6.2 案例——关卡设计 / 211
6.2.1 创建新项目 / 211
6.2.2 导航视口 / 212
6.2.3 创建一个新关卡 / 214
6.2.4 放置 Actor / 214
6.2.5 编辑已放置的 Actor / 216
6.2.6 执行构建过程 / 217
6.3 材质创建及编辑 / 217
6.3.1 基础设置 / 217
6.3.2 创建材质 / 220
6.3.3 编辑材质 / 220
6.3.4 为静态网格物体指定材质 / 223
6.4 创建 C 类 / 223
6.4.1 的项目设置 / 224
6.4.2 创建 C 类 / 224
6.4.3 写入并编译 C 代码 / 225
6.4.4 测试代码 / 227
6.5 案例——人称射击游戏 / 227
6.5.1 设置项目 / 228
6.5.2 实现角色 / 232
6.5.3 实现发射物 / 246
6.5.4 添加角色动画 / 265
习题 / 277
第7章 增强现实技术 / 279
7.1 增强现实技术概述 / 279
7.1.1 增强现实技术发展 / 280
7.1.2 增强现实技术在各领域的应用 / 280
7.1.3 常用开发工具 / 281
7.2 Vuforia SDK 开发基础 / 283
7.2.1 Vuforia SDK 开发环境 / 283
7.2.2 下载 Vuforia 6 SDK / 283
7.2.3 建立增强现实工程 / 286
7.3 案例——Vuforia 虚拟按钮 / 288
习题 / 292
参考文献 / 294
猜您喜欢