前  言

前  言

VR(Virtual Reality,虚拟现实)技术构想起源于1965年,实现于1989年。2014年,VR产业再度兴起,一时间VR逐渐走入公众视野。狭义VR又称“灵境”,它提供了以计算机等高科技设备为核心的沉浸式虚拟环境(Virtual Envi.ronment,VE),用户借助必要设备就能与虚拟环境内其他对象进行交互,从而给人身临其境之感。广义的虚拟现实,既包括狭义VR,亦包括AR(Augmented Reality,增强现实)和MR(Mixed Reality,混合现实)。AR技术将计算机生成的虚拟信息与真实世界巧妙融合。MR是指结合真实和虚拟世界创造了新的环境和可视化三维世界,物理实体和数字对象共存并能实时交互。当下也有把AR、VR、MR统称为“XR”的说法。相对而言,MR技术还处于较为初期的发展阶段,目前更加普及流行的是VR和AR应用。

虚拟现实产业的复兴催生出大量AR、VR应用,MR应用也逐渐增多。大量的公司和创业团队陆续进入虚拟现实领域,AR/VR开发人才的需求量与日俱增。随着“元宇宙”概念和产业的兴起,作为其中核心技术的虚拟现实也更加备受瞩目。近年来,我国高度重视虚拟现实技术的发展,并在国家层面积极规划、重点布局,工信部、科技部、文旅部等部门陆续出台相关政策。2018年,教育部明确将虚拟现实技术列入教育信息化的年度重点工作任务。2019年,教育部新增设了虚拟现实技术本科专业。2022年,工信部、教育部、文旅部等五部门联合印发了《虚拟现实与行业应用融合发展行动计划(2022-2026年)》,并指出“虚拟现实(含增强现实、混合现实)是新一代信息技术的重要前沿方向,是数字经济的重大前瞻领域,将深刻改变人类的生产生活方式,产业发展战略窗口期已然形成”。习近平总书记在党的二十大报告中进一步强调,要实现高水平科技自立自强,完善科技创新体系,加快实施创新驱动发展战略。因此,在高校开设AR/VR应用开发课程、出版专业教材,既贯彻落实了党的二十大精神“加快建设教育强国、科技强国、人才强国”的号召,也是全球化浪潮下顺应产业需求的大势所趋。

本书的主要内容

本书分为三篇,共14章,从虚拟现实技术概述、AR/VR开发软件与行业现状出发,讲解如何运用以Unity为代表的工具进行AR、VR应用设计与开发实践。本书内容涵盖Unity软件基础知识,进行AR/VR开发所必须掌握的Unity操作技能,C#脚本编程,技术艺术相结合的设计技巧与建议,在主流AR/VR/MR设备平台进行实际开发的流程、方法与步骤,以及丰富的教学案例与综合实例。其中第1章、第3~14章由王楠执笔,第2章由李学明教授执笔。

第一篇为基础知识概述,包括第1章~第4章。主要介绍虚拟现实与行业概述、Unity软件的使用、C#脚本编程开发等内容。

第1章为绪论。主要介绍虚拟现实技术,包括VR(狭义的)、AR、MR,以及分别介绍AR、VR开发软件和行业现状。

第2章为初识Unity软件。主要介绍Unity软件的功能、下载与安装的方法,使用Unity进行项目的常规开发流程,并讲解Unity编辑器界面与基本使用方法。

第3章为Unity脚本编程介绍。包括C#编程语言及作用,介绍C#语言开发工具,以及讲解Visual Studio的安装与配置方法。

第4章为Unity编程开发详解。讲解在Unity中如何创建和编辑C#脚本程序,全面介绍C#基本语法,介绍Unity C#脚本系统的常用功能,并通过制作综合实例“超级跑酷”小游戏进一步讲解和巩固Unity操作与C#编程的方法。

第二篇为AR应用设计与开发,包括第5章~第9章。主要介绍AR技术的原理、AR应用设计技巧,基于Vuforia的AR应用开发基础与综合应用开发实例,面向Holo Lens2的MR开发基础、开发实践等内容。

第5章为AR技术原理与设计技巧。介绍当前的AR技术类型、AR硬件显示技术、AR标识类型,详细讲解移动AR应用的设计技巧。

第6章为基于Vuforia SDK的AR应用开发。介绍Vuforia SDK的功能、支持的识别类型,讲解Vuforia的获取和基本操作方法,并通过实例演示如何实现识别图片目标播放视频。

第7章为基于Vuforia的AR综合应用开发。通过综合实例“制作AR生日卡片”详细讲解了识别图片显示3D模型,播放模型动画的方法,介绍了Vuforia的虚拟按钮功能,并通过综合实例“制作AR留声机”演示了如何使用虚拟按钮制作AR交互项目。

第8章为Holo Lens2开发基础。介绍了微软MR头显Holo Lens2的功能、应用领域,以及全息图的相关知识,讲解了Holo Lens2软件、硬件,为进行Holo.Lens2开发建立基础。

第9章为Holo Lens2开发实践。讲解了微软MR开发工具MRTK的功能和使用方法,演示了如何在Unity中进行MR开发配置,在Holo Lens2中实现手势交互,生成并部署Holo Lens应用程序。

第三篇为VR应用设计与开发,包括第10章~第14章。主要介绍VR技术原理、VR应用设计技巧,面向HTC Vive的VR开发基础和开发进阶,讲解了Steam VR Plugin、VIVE Input Utility的使用方法,讲解了VR世界坐标系UI的设计与创建方法,详细演示了VR综合项目“艺术展厅漫游体验”的设计与制作流程。

第10章为VR技术原理与设计技巧。讲解了VR技术的基本原理,当下的自然交互技术,介绍了VR应用的类型,详细讲解了VR交互设计技巧。

第11章为基于HTC Vive的VR开发基础。介绍了HTC Vive系列硬件,以及与之开发相关的Steam VR Plugin和Open VR,演示了Steam VR Plugin的下载与导入、在Unity中的基本设置。

第12章为面向HTC Vive的开发进阶。讲解了使用Steam VR Plugin实现交互的方法,介绍了VIVE开发工具VIVE Input Utility,以及运用其实现手柄抓取、投掷3D物体、位置传送等功能。

第13章为VR中的世界坐标系UI。介绍了VR中的UI,讲解了VR UI的设计原则。介绍和讲解了Unity中的Canvas及其UI元素,演示了几种常用VR UI的创建方法。

第14章为VR综合项目:展厅漫游体验。讲解了如何基于项目需求设计和搭建VR艺术展厅。演示并讲解了如何制作摄影展品、射灯效果等内容,演示了VR环境的设置、VR基本功能的实现,以及添加展品的UI交互,并将项目打包为可执行文件。

致谢

与虚拟现实的缘分要追溯到我的读博伊始,导师廖祥忠教授根据我的计算机专业背景和数字媒体技术专业教学经历,建议我将虚拟现实作为研究方向。通过一段时间的研习,虚拟现实技术的魅力使它真的成了我的研究领域和研究兴趣。

博士毕业后,我有幸顺利入职北京邮电大学,重新成为一位高校教师。工作之后承担的教学课程之一便是“AR/VR应用开发”,对于这门课程倾注的心血一如我对虚拟现实技术的热爱,而学生们对课程的兴趣仿佛让我看到学生时代的自己。几年来,基于这门课程诞生了许多优秀的学生作品,并在多个权威学科竞赛、虚拟现实行业赛事中获得多个国赛一等奖等奖项。每一年这门课程都深受学生喜爱,也收获了学生们的一致好评。感谢学生们的认可,让我更加坚定立德树人的信心,以及将虚拟现实技术、应用开发的相关知识继续传道授业解惑的信念。

最后,衷心地向在本书出版过程中给予支持的组织和个人表示诚挚的谢意。感谢北京邮电大学给予的立项支持,本书为北京邮电大学基本科研业务费项目《VR电影场境叙事创作研究与应用》(项目编号:2020RC21)的阶段性成果。由于在本书撰写过程中,本人经历了产假,加之平时工作忙碌,精力实在有限,使得本书的付梓不得已被拖延,感谢出版社和编辑老师们的理解!感谢作者所在学院给予的出版支持。感谢我的家人们给予我的无私奉献,为我的生活排忧解难,使我能够在忙碌的工作之余得以专心写作本书。希望本书能够为有志于在虚拟现实领域扬帆前行的朋友们提供理论和实践帮助。

王 楠

2022年11月