前言 PREFACE
HoloLens 2设备从HoloLens 1代发展而来,是一台可穿戴的一体式全息计算设备,它具有目前业内最好的光波导显示组件,拥有独立的计算单元,可进行实时手势检测、语音命令、空间感知、运动跟踪、眼动跟踪等解算。HoloLens 2设备发布后,在工业和军事领域取得了巨大成功,也成为AR眼镜中名副其实的佼佼者。在计算机视觉与人工智能技术的推动下,HoloLens 2设备无论是跟踪精度、设备性能,还是人机交互自然性上都有了很大提高,已基本满足大众对AR眼镜的期望。据权威机构预测,AR/MR会成为下一个十年改变人们生活、工作最重要的技术之一,并在5G通信技术的助力下出现应用高潮。
HoloLens 2设备是微软公司在前沿科技领域的重大技术布局,引领着移动AR眼镜的发展方向,并且围绕HoloLens 2设备上的MR应用,微软公司构建了一系列软硬件生态,包括Azure云服务、Microsoft Mesh等,正全力推动MR技术在各行各业、工作生活的各个角落落地应用,一个崭新的人机交互设备正在悄然改变着一切。
本书主要讲述利用Unity和MRTK进行HoloLens 2设备上的MR应用开发,旨在为MR技术开发人员提供一份相对完善、成体系的学习材料,帮助开发者系统性地掌握MR开发的相关知识,建立MR应用开发知识体系。
AR/MR技术是一种将虚拟信息与真实世界融合展示的技术,其广泛运用了人工智能、三维建模、实时跟踪注册、虚实融合、智能交互、传感计算等多种技术手段,将计算机生成的文字、图像、三维模型、声频、视频、动画等虚拟信息模拟仿真后应用到真实世界中。AR技术同时考虑了真实世界与虚拟信息的相互关系,虚实信息互为补充,从而实现对真实世界的增强,并能实时虚实交互。
本书注重利用MRTK进行MR应用开发的实际应用,但在讲解技术点的同时对其原理、技术背景进行了较深入的探究,采取循序渐进的方式,使读者知其然更能知其所以然,一步一步地将读者带入MR应用开发的殿堂。
前置知识
本书面向MR应用开发初学者与Unity工程师,内容讲述尽量采用通俗易懂的语言,从基础入门,但仍然希望读者能具备以下前置知识。
(1)熟悉Unity引擎的使用操作,掌握Unity开发的基本技能,能熟练进行一般性的模型导入和导出、属性设置、发布部署等。
(2)熟悉C#高级语言,掌握基本的C#语法及常见数据结构、编码技巧,对常见游戏对象的代码操作、事件绑定等有一定的理解。
(3)了解Visual Studio开发环境,能进行基本的开发环境设置、功能调试、资源使用等。
(4)了解图形学。数字三维空间是用数学精确描述的虚拟世界,如果读者对坐标系、向量及基本的代数运算有所了解,会对理解MR应用的工作原理、渲染管线有很大帮助,但本书中没有直接应用到复杂的数学计算,读者不用太担心。
预期读者
本书属于技术类书籍,预期读者人群包括:
(1)高等学校及对计算机技术有浓厚兴趣的专科学校的学生。
(2)对MR技术有兴趣的科技工作者。
(3)向MR转行的程序员。
(4)研究讲授MR技术的教师。
(5)HoloLens 2设备应用开发人员。
本书特色
(1)结构清晰。本书共分4部分:第一部分为基础篇,第二部分为操作组件篇,第三部分为功能技术篇,第四部分为提高篇。紧紧围绕利用MRTK的MR开发,从各个侧面对其功能特性进行全面讲述。
(2)循序渐进。本书充分考虑不同知识背景读者的需求,按知识点循序渐进,通过大量配图、实例进行详细讲解,力求使MR初学者能快速掌握使用MRTK进行MR应用开发。
(3)深浅兼顾。在讲解各功能技术点时对其技术原理、理论脉络进行了较深入的探究,语言通俗易懂,对技术阐述深入浅出。
(4)实用性强。本书实例丰富,每个技术点都配有实例,注重对技术的实际运用,力图解决读者在项目开发中面临的难点问题,实用性非常强。
读者反馈
尽管我们在本书的编写过程中多次对内容、语言描述的连贯性和叙述的准确性进行了审查、校正,但由于作者能力和水平有限,书中难免会出现一些错误,欢迎读者在发现这些问题的时候及时批评指正。
致谢
仅以此书献给笔者的妻子欧阳女士、孩子妍妍及轩轩,是你们的支持让笔者能勇往直前,永远爱你们,也感谢赵佳霓编辑对本书的大力支持。
本书源代码
汪祥春
2021年8月