前言
作为元宇宙技术底座人机交互中的重要技术,增强现实(Augmented Reality,AR)技术受到了广泛关注,并迅速成为科技巨头和初创企业竞先入局的科技赛道。客观而言,元宇宙仍处于行业发展的初级阶段,无论是底层技术还是应用场景,与预期的成熟形态相比仍有相当大的差距,但这也意味着元宇宙相关科技和产业发展空间巨大。作为元宇宙中最核心的增强现实技术是实现虚实融合、新型人机交互模式的关键,必将在接下来的十年中获得长足进步和发展。
与VR打造一个纯虚拟的数字世界不同,AR技术是一种将虚拟信息与真实世界融合呈现的技术,其广泛运用了人工智能、三维建模、传感计算、运动跟踪、智能交互等多种技术手段,将计算机生成的文字、图像、三维模型、声频、视频、动画等虚拟信息按照几何一致性和光照一致性原则应用到真实世界中,考虑了真实世界与虚拟信息的相互关系,虚实信息无痕融合,从而实现人类对客观世界认知能力的增强。
ARKit是苹果公司在前沿科技领域的重大技术布局,也是目前移动领域AR应用开发引擎标杆。得益于良好的软硬件生态整合,ARKit运动跟踪稳定性好、性能消耗低、功能特性丰富,利用它可以开发出令人惊艳的AR应用。ARKit支持iPhone和iPad设备,并且可以预见,其也必将支持即将面世的iGlass眼镜设备。
本书是《AR Foundation增强现实开发实战(ARCore版)》的姊妹版,讲述利用ARKit进行iOS/iPadOS平台的AR应用开发,从AR技术概念、原理、理论脉络到各功能技术点、实用技巧、设计原则、性能优化,对ARKit应用开发中涉及的技术进行了全方位讲述,旨在帮助开发者系统化掌握AR开发的相关知识,建立ARKit AR应用开发知识体系。
本书关注ARKit功能特性的实际应用,但在讲解技术点的同时对其原理、技术背景进行了较深入的探究,采取循序渐进的方式,使读者知其然更能知其所以然,一步一步地将读者带入AR应用开发的殿堂。
前置知识
本书面向ARKit应用开发初学者和Unity工程师,内容讲述尽力采用通俗易懂的语言、从基础入门,但仍然希望读者能具备以下前置知识。
(1)熟悉Unity引擎基本操作,掌握Unity开发基本技能,能熟练进行一般性的模型导入导出、属性设置、发布部署。
(2)熟悉C#高级语言,掌握基本的C#语法及常见数据结构、编码技巧,对常见游戏对象代码操作、事件绑定等有自己的理解。
(3)了解Visual Studio for Mac开发环境,能进行基本的开发环境设置、功能调试、资源使用。
(4)了解图形学。数字三维空间是用数学精确描述的虚拟世界,如果读者对坐标系、向量及基本的代数运算有所了解会对理解AR应用工作原理、渲染管线有帮助。但本书中没有直接用到复杂数学计算,读者不用太担心。
预期读者
本书属于技术类书籍,预期读者人群包括以下几类。
(1)高等院校及对计算机技术有浓厚兴趣的专科学校学生。
(2)对AR技术有兴趣的科技工作者。
(3)向AR方向转行的程序员、工程师。
(4)研究讲授AR技术的教师。
(5)渴望利用新技术的自由职业者或者其他行业人员。
本书特色
(1)结构清晰。本书共分基础篇、功能技术篇和高级篇3篇。紧紧围绕ARKit开发,对其功能特性进行了全方位讲述,并从实际应用角度阐述了AR应用设计原则、性能优化等相关知识。
(2)循序渐进。本书充分考虑不同知识背景读者的需求,按知识点循序渐进,通过大量配图、实例进行详细讲解,力求使读者快速掌握AR Foundation框架下的ARKit开发。
(3)深浅兼顾。在讲解ARKit功能技术点时对其技术原理、理论脉络进行了较深入的探究,语言通俗易懂,对技术阐述深入浅出。
(4)实用性强。本书实例丰富,每个技术点都配有案例,注重对技术的实际运用,力图解决读者在项目开发中面临的难点问题,实用性强。
源代码
本书源代码请扫描下方二维码下载。
本书源代码
读者反馈
尽管笔者在本书的编写过程中多次对内容、语言描述的连贯一致性和叙述的准确性进行审查、校正,但由于笔者水平有限,书中仍然难免存在疏漏,敬请读者批评指正。
致谢
仅以此书献给我的妻子欧阳女士、孩子妍妍及轩轩,是你们让我一直保持昂扬斗志,一往无前,永远爱你们。也感谢清华大学出版社赵佳霓编辑对本书的大力支持。
编者
2023年1月