在WWDC21上,苹果宣布了其ARKit和RealityKit框架的新的主要迭代,以便为iOS创建基于增强现实的应用程序。最重要的是,RealityKit 2将允许开发者从一组图片中轻松创建3D模型,而ARKit 5则扩大了对人脸追踪和位置锚的支持。
新的对象捕捉API是RealityKit 2的一部分,与macOS 12 Monterey捆绑在一起,开发者将能够从任何高分辨率相机拍摄的照片中创建3D模型,包括iPhone和iPad的。这使用了一种叫做_摄影测量的_过程,你提供一系列从不同角度拍摄的照片,确保避免在一个维度上太薄或高度反射的物体。
RealityKit需要的照片数量取决于物体的复杂性和大小,以创建一个准确的3D表现,但相邻的照片必须有大量的重叠。
根据苹果公司的说法,你的目标应该是在连续拍摄的照片之间至少有70%的重叠,而且永远不要低于50%。对象捕捉能够在可用时利用深度信息来改善输出模型。
一旦你有了足够数量的物体图片,从这些图片中创建一个3D模型几乎就是执行一些模板代码,根据你的需要进行定制。决定性的是,整个过程的关键部分是捕捉高质量的图像。为了简化事情,苹果展示了两个样本应用程序,一个用于在配备双后置摄像头的iOS设备上拍照,能够测量深度和重力数据,另一个是用于macOS的命令行工具,以简化从图像创建3D模型的过程。
对象捕捉并不是RealityKit 2的唯一新功能。苹果还引入了对自定义着色器的支持,这让开发者对渲染管道有更多的控制。这将使微调AR对象和场景的外观和感觉成为可能。此外,RealityKit 2现在能够生成程序性网格,这是一个很大的改进,在RealityKit 1所支持的盒子、球体、文本或平面之外,释放了新的可能性。另一个有希望的新功能是能够建立自定义的实体组件系统来组织AR资产,并使创建复杂的AR应用程序变得更加简单。
由于更加成熟,ARKit 5的新功能并不像RealityKit那么丰富。事实上,ARKit 5扩展了现有的功能,包括面部追踪支持,并带来了对位置锚的支持。
现在可以使用任何配备A12仿生芯片及以上版本的设备上的前置摄像头进行人脸追踪,并且能够同时检测到三张人脸。
另一方面,位置锚使AR场景可以锚定在一个物理位置上,如一个城市或一个著名的地标。这使得在用户接近一条街道、一个纪念碑等时显示虚拟路标成为可能。