前 言
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#语法及常见数据结构、编码技巧,对常见游戏对
HoloLens 2开发入门精要——基于 Unity和 MRTK
象的代码操作、事件绑定等有一定的理解。
(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月
本书源代码