前言
自2017年以来,AR(Augmented Reality,增强现实)技术发展迅速,已从实验室的科研技术转变为消费型的大众技术,并呈现快速普及爆发态势。在计算机视觉与人工智能技术的推动下,AR技术无论是跟踪精度、设备性能,还是人机交互自然性,都有了很大提高。据权威机构预测,AR技术会成为未来十年改变人们生活、工作最重要的技术之一,并在5G通信技术的助力下出现应用爆发。
AR技术是一种将虚拟信息与真实世界融合展示的技术,其广泛运用了人工智能、三维建模、实时跟踪注册、虚实融合、智能交互、传感计算等多种技术手段,将计算机生成的文字、图像、三维模型、音频、视频、动画等虚拟信息模拟仿真后应用到真实世界中。AR技术同时考虑了真实世界与虚拟信息的相互关系,虚实信息互为补充,从而实现对真实世界的增强。
ARKit是苹果公司在前沿科技领域的重大技术布局,引领着移动AR发展方向,不仅面向iPhone、iPad,也面向即将面世的AR眼镜。RealityKit是全新的、专为AR渲染开发的高级框架,与ARKit高度集成,功能强大、界面简洁、高效易用,它与Reality Composer、Reality Converter一起组成了iOS AR原生开发的三剑客。借助于ARKit,我们不再需要单独且昂贵的设备就可以体验到AR带来的奇妙体验,AR使移动手机具备了另一种崭新的应用形式。
由于AR是一门前沿技术、ARKit也处于高速发展中,因此当前可供开发者参考的国内外技术资料非常匮乏,更没有成体系的完整学习资料。本书旨在为ARKit技术开发人员提供一份相对完善的成体系的学习材料,帮助开发者系统化掌握AR开发的相关知识,建立原生iOS AR应用开发知识体系。
本书关注对ARKit技术的应用,但在讲解技术点的同时对其原理、技术背景进行了较深入的探究,采取循序渐进的方式,使读者知其然,更能知其所以然,一步一步地将读者带入AR应用开发的殿堂。
前置知识
本书面向ARKit初学者与iOS程序员,内容讲述尽力采用通俗易懂的语言、从基础入门,但仍然希望读者能具备以下前置知识。
(1) 熟悉Swift高级语言,掌握基本的Swift语法及常见数据结构、编码技巧,对利用SwiftUI进行界面开发有一定了解。
(2) 熟悉Xcode开发环境,能进行基本的开发环境设置、功能调试、资源使用。
(3) 了解图形学。数字三维空间是用数学精确描述的虚拟世界,如果读者对坐标系、向量及基本的代数运算有所了解会对理解ARKit工作原理、渲染管线有很大帮助。
预期读者
本书属于技术类书籍,预期读者人群包括:
(1) 高等院校及对计算机技术有浓厚兴趣的专科学校学生。
(2) 对AR技术有兴趣的科技工作者。
(3) 向AR方向转行的程序员、工程师。
(4) 研究讲授AR技术的教师。
(5) 渴望利用新技术的自由职业者或者其他行业人员。
本书特色
(1) 结构清晰。本书共分三篇: 基础篇、功能技术篇和提高篇。紧紧围绕ARKit原生开发,从各个侧面对其功能特性进行全面的讲述。
(2) 循序渐进。本书充分考虑不同知识背景读者的需求,按知识点循序渐进,通过大量配图、实例进行详细讲解,力求使iOS初学者能快速掌握ARKit原生开发。
(3) 深浅兼顾。在讲解ARKit技术点时对其技术原理、理论脉络进行了较深入的探究,用语通俗易懂,对技术阐述深入浅出。
(4) 实用性强。本书实例丰富,每个技术点都有案例,注重对技术的实际运用,力图解决读者在项目开发中面临的难点问题,实用性非常强。

源代码
扫描书中二维码即可下载本书各章节案例源代码。
读者反馈
尽管我们在本书的编写过程中多次对内容的准确性、语言描述的连贯性和叙述的一致进行审查、校正,但由于作者水平有限,书中仍然难免出现错误,欢迎读者批评指正。





致谢
仅以此书献给我的妻子欧阳女士,孩子妍妍和轩轩,是你们的支持让我勇往直前,永远爱你们。
感谢赵佳霓编辑对本书的大力支持。

汪祥春

2020年12月



本书源代码下载