
本书以 HTC VIVE VR 项目为教学主线,将项目分解成一个个简单的学习任务,循序渐进地介绍 针对 HTC VIVE 设备在 VR 项目开发方面的相关知识,让读者能够独立开发出多个 VR 项目。本书从实战的角度出发,总共设计了 3 个大的学习项目和 1 个实战训练项目。第 1 章主要介绍虚 拟现实技术,包括虚拟现实的概念、虚拟现实的发展史、虚拟现实的特征、虚拟现实的软件平台和硬 件设备及虚拟现实的应用情况。第 2 章让读者熟悉 VR 开发环境,包括 HTC 公司的 VIVE PRO 软硬件 的安装与配置、Unity 编辑器的安装。第 3 章让读者跟着开发第一个 VR 项目,此项目较简单,开发环 境搭好就能做出来。第 4 章开发 VR 保龄球项目,让读者从项目搭建开始一步步完成一个在 VR 环境 中打保龄球的游戏项目。第 5 章开发 VR 蜘蛛来袭的项目,采用第一人称视角,用户通过手枪来消灭 来袭的蜘蛛怪物。第 6 章为 VR 项目开发实战训练,读者需要选择一个项目进行开发。本书适合作为计算机相关专业、虚拟现实技术专业的虚拟现实技术相关课程的教材,也适合虚拟 现实项目开发的初级、中级人员学习与参考。本教学资源丰富,配套专业的教材网站(http://www.zjcourse.com/VR),网站中提供教学所需的所 有资料,如教学大纲、授课计划和考核方案等资料,特别提供了教材的全套项目资源,方便老师教学与 学生学习。
一、缘起 有人将 2016 年称为 VR 元年,随着 VR 技术的快速发展,各种应用层出不穷,特 别是随着 5G 技术在我国的高速发展,使人们相信,在未来,VR 技术将在各个方面改 变我们的生活方式。 最近几年一直在带学生参加虚拟现实技术相关的比赛,曾获得国家二等奖,个人 也开发了一些虚拟现实项目,但总觉得现在与 VR 项目开发相关的入门书籍太少了,感 兴趣的人很容易因为难入门而放弃学习虚拟现实技术。基于上面几个原因,我想写一本 关于 VR 项目开发的入门书,给没有多少专业知识的人用,通过不断完成一个个学习任 务,不断获得成就感,最后能够开发出具有一定难度的 VR 项目。 二、本书内容 本书从实战的角度出发,总共设计了 3 个大的学习项目和 1 个实战训练项目。 第 1 章:主要介绍虚拟现实技术,包括虚拟现实的概念、虚拟现实的发展史、虚拟 现实的特征、虚拟现实的软件平台和硬件设备及虚拟现实的应用情况。 第 2 章:让读者熟悉 VR 开发环境,包括 HTC VIVE PRO 软硬件的安装与配置、 Unity 编辑器的安装。 第 3 章:让读者跟着开发第一个 VR 项目,此项目较简单,开发环境搭好就能做 出来。 第 4 章:开发 VR 保龄球项目,让读者开发一个在 VR 环境中打保龄球的游戏项目。 第 5 章:开发 VR 蜘蛛来袭项目,采用第一人称视角,用户通过手枪来消灭来袭的 蜘蛛怪物。 第 6 章:VR 项目开发实战训练,读者需要选择一个项目进行开发。 三、本书特点 本书在编写过程中,一直都有学生参与,以一个初学者的思考方式完成教程的编 写。本书遵循学生的学习规律,以服务教学为宗旨,主要有以下几个特点: 1.先进性与实用性。本教材的内容反映出最新的实用 VR 项目开发方法及技术, 具有很强的先进性和实用性。 2.适用性与实战性。教材项目来自实际,但又有所取舍,难度适中,适合教学, 在具有普适性的基础上注重拓展训练,同时,教学项目有较强的实战性,能培养学生的 实际项目开发能力。 3.重点突出、定位准确。教材通过三个递进项目讲解虚拟现实技术,重点突出、 定位准确。 4.教材立体化。本教材以立体化精品教材为构建目标,课程网站提供电子课件、 素材、源代码等教学资源。 四、如何使用 本书使用的 Unity 版本为 2019.1.9 版本,读者可以使用和本书一样的版本,也可以 使用 Unity 官方提供的最新版本。 本书配套网站为:http://www.zjcourse.com/VR,里面有非常详细的学习资源,方便 老师进行教学与学生进行自主学习。 (1)教学资源 序号 资源名称 表现形式与内涵 1 课程标准(教学大纲) Word 电子文档,包含课程定位、课程目标要求、课程教学内 容、学时分配等内容,可供教师备课时用 2 授课计划 Word 电子文档,是教师组织教学的实施计划表,包括具体的 教学进程、授课内容、授课方式等 前言 续表 序号 资源名称 表现形式与内涵 3 教学设计 Word 电子文档,是指导教学如何实施课堂教学的参考文档 4 PPT 课件 RAR 压缩文档,是提供给教师和学习者的教与学的课件,可 直接使用 5 考核方案 Word 电子文档,对课程考核提出建议 6 学习指南 Word 电子文档,提供学习的建议 7 学习视频 形式多样,有直接视频文件,也有参考网址 8 项目源代码 RAR 压缩文档,包括本书所有项目的源代码及所有资源包 9 作品欣赏 RAR 压缩文档,提供部分学生优秀作品,可供读者参考 10 参考资源 Word 电子文档,提供其他的学习 VR 的资源,包括一些网络 链接等 虽然提供了项目的源代码,但不会给教学带来不利影响,本书为每个学习任务都配 套有相应的课堂拓展需要学生去完成,学生需要花大量的时间来完成任务的拓展内容, 拓宽了学生的知识面。 (2)课时安排 如果课时只有 60 左右,需要多设置些课外时间,参考教学安排如下表所示。 序号 教学内容 合计课时 1 第 1 章:虚拟现实技术概述 4 2 第 2 章:熟悉 VR 项目开发环境 4 3 第 3 章:第一个 VR 项目 4 4 第 4 章:VR 保龄球项目开发 12 5 第 5 章:VR 蜘蛛来袭项目开发 20 6 第 6 章:VR 项目开发实战训练 16 合 计 60 如果课时比较充裕,可以加大第 4 章、第 5 章和第 6 章的时间,让学生将项目开发 得更精细。特别是 VR 项目开发实战训练部分,尽量让学生利用课外时间来完成。 五、致谢 本书由谭恒松编著。 本书在编写过程中,得到了黄崇本、韦存存、葛茜倩、严良达、孙威、李佳乐的大 力支持和帮助,提出了许多宝贵的意见和建议,参加了部分章节的编写,特此向他们表 示衷心的感谢。本书在编写过程中也得到了章泽宇等同学的大力支持,他们以学生的视 角来帮助编写本书,特此也表示万分的感谢。 由于时间和编者水平有限,书中不妥之处在所难免,希望广大读者批评指正。 编 者 2019 年 10 月
第 1 章 虚拟现实技术概述 1.1 学习任务:了解虚拟现实技术 1.1.1 虚拟现实的概念 1.1.2 虚拟现实发展历史 1.1.3 虚拟现实的特征 1.1.4 主流的 VR 硬件 1.1.5 开发 VR 项目的工具 1.2 学习任务:熟悉虚拟现实的应用 本章小结 习题 第 2 章 熟悉 VR 项目开发环境 2.1 学习任务:熟悉 HTC VIVE 设备 2.1.1 任务分析 2.1.2 相关知识:SteamVR 2.1.3 任务实施 2.1.4 任务小结 2.2 学习任务:熟悉 Unity 开发环境 2.2.1 任务分析 2.2.2 相关知识:Unity 2.2.3 任务实施 2.2.4 任务小结 习题 第 3 章 第一个 VR 项目 3.1 学习任务:熟悉 SteamVR Plugin 插件 3.1.1 任务分析 3.1.2 相关知识:SteamVR Plugin 插件 3.1.3 任务实施 3.1.4 知识拓展:SteamVR Plugin 常用组件 3.1.5 任务小结 3.2 学习任务:熟悉 VRTK 插件 3.2.1 任务分析 3.2.2 相关知识:VRTK 插件 3.2.3 任务实施 3.2.4 知识拓展:VRTK 案例分析 3.2.5 任务小结 3.3 学习任务:开发第一个 VR 项目 3.3.1 任务分析 3.3.2 相关知识:使用 SteamVR Plugin 插件和 VRTK 插件 3.3.3 任务实施 3.2.4 任务小结 习题 第 4 章 VR 保龄球项目开发 4.1 学习任务:搭建项目环境 4.1.1 任务分析 4.1.2 相关知识:VR 项目开发流程 4.1.3 任务实施 4.1.4 任务小结 4.2 学习任务:配置项目环境 4.2.1 任务分析 4.2.2 相关知识:Unity 常用资源 4.2.3 任务实施 4.2.4 任务小结 4.3 学习任务:项目开发 4.3.1 任务分析 4.3.2 相关知识:碰撞体组件 4.3.3 任务实施 4.3.4 任务小结 4.4 学习任务:项目优化 4.4.1 任务分析 4.4.2 相关知识:VR 项目优化 4.4.3 任务实施 4.4.4 任务小结 习题 第 5 章 VR 蜘蛛来袭项目开发 5.1 学习任务:搭建项目运行环境 5.1.1 任务分析 5.1.2 相关知识:获取资源的方式 5.1.3 任务实施 5.1.4 任务小结 5.2 学习任务:蜘蛛来袭 5.2.1 任务分析 5.2.2 相关知识:寻路系统 5.2.3 任务实施 5.2.4 任务小结 5.3 学习任务:控制蜘蛛的行为 5.3.1 任务分析 5.3.2 相关知识:动画系统 5.3.3 任务实施 5.3.4 任务小结 5.4 学习任务:玩家消灭蜘蛛 5.4.1 任务分析 5.4.2 相关知识:射线 5.4.3 任务实施 5.4.4 任务小结 5.5 学习任务:游戏重置 5.5.1 任务分析 5.5.2 相关知识:VRTK 中的 UI 交互 5.5.3 任务实施 5.5.4 任务小结 5.6 学习任务:项目打包运行 5.6.1 任务分析 5.6.2 相关知识:项目打包 5.6.3 任务实施 5.5.4 任务小结 习题 第 6 章 VR 项目开发实战训练 题目 1 VR 切水果项目开发 题目 2 VR 星际探索项目开发 题目 3 VR 旅游观光项目开发 题目 4 VR 森林狩猎项目开发 题目 5 VR 火灾逃生项目开发 附录 A SteamVR_Tracked Controller 脚本 207 附录 VRTK_UI Pointer 脚本 参考文献
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0375690