目录

目 录

前  言

第一篇 基础知识概述

第1章 绪  论

1.1 虚拟现实技术概述

1.1.1 虚拟现实发展背景

1.1.2 何为虚拟现实

1.1.3 VR的“3I”特征

1.1.4 何为增强现实

1.1.5 何为混合现实

1.1.6 虚拟现实发展历程

1.2 VR开发工具与行业发展

1.2.1 VR开发工具

1.2.2 VR行业发展概述

1.3 AR开发工具与行业发展

1.3.1 AR软件介绍

1.3.2 AR行业发展概述

本章小结

思考题与练习题

第2章 初识Unity软件

2.1 Unity软件的介绍与安装

2.2 Unity项目开发流程

2.3 Unity编辑器界面与基本用法

本章小结

思考题与练习题

第3章 Unity脚本编程介绍

3.1 C#编程概述及作用

3.1.1 Unity脚本模块简介

3.1.2 C#语言的特点

3.1.3 了解Microsoft.NET

3.2 C#语言开发工具

3.2.1 Visual Studio Code简介

3.2.2 Visual Studio简介

3.2.3 Visual Studio Tools for Unity

3.3 Visual Studio的安装与配置

3.3.1 从Unity Hub安装VS

3.3.2 从微软官网下载安装VS

3.3.3 安装和配置VS Tools for Unity

3.3.4 VS Tools for Unity的使用

本章小结

思考题与练习题

第4章 Unity C#编程开发详解

4.1 在Unity中使用C#脚本

4.1.1 创建C#脚本

4.1.2 使用C#脚本

4.2 C#基本语法介绍

4.2.1 变量与常量

4.2.2 定义变量

4.2.3 简单数据类型

4.2.4 运算符和表达式

4.2.5 流程控制语句

4.2.6 面向对象程序设计

4.3 Unity C#的常用功能

4.3.1 MonoBehavior类

4.3.2 Transform组件及transform属性

4.3.3 GameObject类

4.3.4 常用事件

4.3.5 Destroy()方法

4.3.6 获取指定游戏对象

4.3.7 获取指定组件

4.4 综合实例:制作“超级跑酷”小游戏

4.4.1 项目制作背景

4.4.2 项目学习目标

4.4.3 主要制作步骤

本章小结

思考题与练习题

第二篇 AR 应用设计与开发

第5章 AR技术原理与设计技巧

5.1 AR技术类型

5.1.1 基于计算机视觉的AR

5.1.2 基于地理位置信息的AR

5.2 AR硬件显示技术

5.2.1 基于影像的AR

5.2.2 基于光学的AR

5.2.3 基于投影的AR

5.3 AR标识类型

5.3.1 黑白标识

5.3.2 AR码

5.3.3 图像标识

5.3.4 多目标标识

5.3.5 文字识别

5.3.6 形状标识

5.3.7 物体识别

5.3.8 基于地理位置追踪

5.3.9 识别平面

5.4 AR应用设计技巧

5.4.1 虚实相联

5.4.2 增强有益

5.4.3 操作引导

5.4.4 界面元素

5.4.5 安全舒适

5.4.6 鼓励探索

本章小结

思考题与练习题

第6章 基于Vuforia SDK的AR应用开发

6.1 Vuforia SDK概述

6.1.1 Vuforia简介

6.1.2 软件类型和版本

6.1.3 Vuforia工具

6.2 Vuforia的识别功能

6.2.1 图像类型

6.2.2 对象类型

6.2.3 环境类型

6.3 Vuforia基本操作方法

6.3.1 Vuforia开发流程

6.3.2 准备工作——获取Key

6.3.3 导入Vuforia SDK

6.4 识别图片目标播放视频

6.4.1 项目背景

6.4.2 准备素材

6.4.3 准备工作

6.4.4 在Unity中进行AR环境配置

6.4.5 添加增强内容

6.5 将AR项目打包为可执行文件

本章小结

思考题与练习题

第7章 基于Vuforia的AR综合应用开发

7.1 综合实例:制作“AR生日贺卡”

7.1.1 项目背景

7.1.2 上传和导入Database

7.1.3 在Unity中创建AR项目

7.1.4 添加动画模型

7.1.5 制作模型动画

7.2 虚拟按钮简介

7.2.1 虚拟按钮的基本原理

7.2.2 虚拟按钮的设计和放置原则

7.3 综合实例:制作“AR留声机”

7.3.1 制作识别图片

7.3.2 上传图像目标

7.3.3 新建项目和基本操作

7.3.4 导入和调整模型素材

7.3.5 设置虚拟按钮

7.3.6 编写虚拟按钮功能脚本

本章小结

思考题与练习题

第8章 HoloLens2开发基础与实践

8.1 HoloLens2功能介绍

8.2 HoloLens2应用领域

8.2.1 制造行业

8.2.2 医疗行业

8.3 全息图简介

8.3.1 全息图的原理和功能

8.3.2 全息应用开发建议

8.4 HoloLens2软硬件介绍

8.4.1 HoloLens2的硬件组件

8.4.2 HoloLens2预装软件

8.4.3 HoloLens2操作界面

本章小结

思考题与练习题

第9章 HoloLens2开发实践

9.1 了解MRTK

9.1.1 MRTK简介

9.1.2 MRTK交互模型

9.2 在Unity中进行MR开发配置

9.2.1 为项目配置Windows Mixed Reality开发

9.2.2 导入MRTK Unity基础包

9.2.3 配置Unity项目

9.2.4 为XR SDK配置项目设置

9.3 在HoloLens2中实现手势交互

9.3.1 新建MR基本场景

9.3.2 添加和调整虚拟对象

9.3.3 向虚拟对象添加交互控制组件

9.3.4 在播放模式下抓取和移动虚拟对象

9.4 生成并部署HoloLens2应用程序

本章小结

思考题和练习题

第三篇 VR 应用设计与开发

第10章 VR技术原理与设计技巧

10.1 VR技术基本原理

10.1.1 立体高清显示技术

10.1.2 三维建模技术

10.1.3 三维虚拟声音技术

10.2 自然交互技术

10.2.1 手势识别

10.2.2 表情识别

10.2.3 语音交互

10.2.4 眼动追踪

10.3 VR应用介绍

10.3.1 教育培训

10.3.2 游戏

10.3.3 影像叙事

10.3.4 医疗健康

10.3.5 艺术体验

10.3.6 艺术创作

10.3.7 旅游观光

10.4 VR应用设计技巧

10.4.1 内容设计建议

10.4.2 交互设计技巧

本章小结

思考题与练习题

第11章 基于HTC Vive的VR开发基础

11.1 认识HTC Vive系列硬件

11.1.1 HTC Vive系列简介

11.1.2 HTC Vive操控手柄简介

11.2 VR开发工具简介

11.2.1 SteamVR简介

11.2.2 了解Open VR

11.3 SteamVR Plugin的下载与导入

11.4 SteamVR Plugin的基本设置

11.4.1 SteamVR Plugin的组件介绍

11.4.2 手柄的绑定与参数设置

11.4.3 SteamVR输入系统

11.5 基于lnteractionSystem的VR交互

11.5.1 InteractionSystem简介

11.5.2 InteractionSystem的示例场景

11.5.3 InteractionSystem的核心模块

本章小结

思考题和练习题

第12章 面向HTC Vive的开发进阶

12.1 VlVE lnput Utility简介

12.2 VlVE lnput Utility的使用方法

12.2.1 VIU的安装

12.2.2 VIU的示例场景

12.3 使用VlU实现VR抓取与投掷

12.3.1 准备工作

12.3.2 抓取3D物体

12.3.3 投掷3D物体

12.4 使用VlU实现VR射线和瞬移功能

12.4.1 射线功能

12.4.2 瞬移功能

本章小结

思考题和练习题

第13章 VR中的世界坐标系UI

13.1 VR中的Ul

13.1.1 UI简介

13.1.2 VR中的UI

13.1.3 VR中的UI类型

13.2 VR Ul的设计原则

13.2.1 VR中的UI设计挑战

13.2.2 VR中的主要输入方式

13.2.3 VR中的UI设计建议

13.3 Unity中的Canvas

13.3.1 Canvas的创建

13.3.2 UI元素的绘制顺序

13.3.3 渲染模式

13.3.4 Canvas的使用方法

13.4 VR Ul的创建

13.4.1 设置VR环境

13.4.2 制作护目镜UI

13.4.3 制作挡风玻璃UI

本章小结

思考题与练习题

第14章 VR综合项目:展厅漫游体验

14.1 设计和搭建VR艺术展厅

14.1.1 项目背景

14.1.2 设计VR摄影展厅

14.1.3 在Unity中搭建VR展厅

14.2 制作摄影展品

14.2.1 制作相框

14.2.2 制作射灯效果

14.2.3 在展厅中放置照片

14.3 设置VR环境和基本功能

14.3.1 使用SteamVR设置VR环境

14.3.2 SteamVR的Player预制体介绍

14.3.3 实现VR中的移动

14.4 添加展品的Ul交互

14.4.1 创建作品简介UI

14.4.2 制作UI交互效果

14.5 将项目打包为可执行文件

本章小结

思考题与练习题

参考文献