Unity的移动端AR生态系统:AR Foundation,ARCore和ARKit

本文转自Unity Connect官方文章

随着AR技术发展以广泛运用,Unity开发了一个多平台API和一些实用工具,我们把这些工具称为:AR Foundation。它支持ARCore、ARKit以及未来新平台的的核心功能。

我们将通过本文分享Unity的移动端AR生态系统中AR Foundation,ARCore和ARKit的功能与区别,它们的发展计划。

本文也将提供一些实用资源,帮助你更好地了解AR Foundation如何适用于移动端AR开发生态系统,以及如何使用它来构建优秀的移动端AR应用。
在这里插入图片描述
功能更新

我们对AR Foundation和其它XR资源包进行了大量更新,下面将为大家介绍重点的功能更新。

轻量级渲染管线LWRP支持

现在你可以通过使用轻量级渲染管线LWRP,更好地控制使用AR Foundation构建的ARCore和ARKit应用的渲染效果。

轻量级渲染管线LWRP支持也让开发者能够利用Unity内置Shader Graph着色器视图,通过可视化节点编辑器创作有趣的效果。
在这里插入图片描述
在这里插入图片描述
摄像机图像API

Unity现在提供对CPU上摄像机图像的底层访问,以及优化的转换功能,用于将图像转换为RGB或灰度。该功能适用于希望为自定义计算机视觉算法定制图像处理过程的开发者。

你可以查看AR Foundation用户手册,并在GitHub示例库获取示例场景和源代码。

摄像机图像API示例场景和源代码:

https://github.com/Unity-Technologies/arfoundation-samples/blob/master/Assets/Scripts/TestCameraImage.cs

世界地图(ARKit)

我们添加了对ARKit的ARWorldMap(AR世界地图)功能支持,它可以让你创建持续的多用户AR体验。目前,该功能仅适用于支持ARKit的iOS设备。
在这里插入图片描述
面部跟踪(ARKit)

AR Foundation现在加入了对ARKit面部跟踪功能的支持,它可以让你跟踪面部并获取混合形状,以实现大量面部功能。
在这里插入图片描述
在这里插入图片描述
资源包的选择

AR Foundation提供了一个独立于平台的脚本API和MonoBehaviour,以通过使用ARCore和ARKit共有的核心功能构建同时适用于二个平台的应用程序。

这可以让开发者只需开发一次应用,就可以部署到二个平台的设备上,不必进行任何改动。AR Foundation的完整支持功能请查阅下面的表格。

AR Foundation还未实现ARKit和ARCore的所有功能,如果你的应用依赖AR Foundation尚未支持的功能,你可以单独使用对应的SDK。我们会不断地为AR Foundation添加新功能,希望AR Foundation能在未来满足面向ARCore和ARKit开发者的所有需求。

如果你只面向ARCore进行开发并希望获取完整的功能集,Google为Unity提供了ARCore SDK for Unity。如果你只面向ARKit进行开发并希望获取完整的功能集,我们提供适用于Unity的ARKit插件。

下图展示了SDK之间的区别:
在这里插入图片描述
在这里插入图片描述
资源文档

AR Foundation用户手册:

https://docs.unity3d.com/Packages/[email protected]/manual/cpu-camera-image.html

Android ARCore快速入门:

https://developers.google.com/ar/develop/unity/quickstart-android

Unity ARKit插件介绍:

https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/overview

AR Foundation安装:

https://docs.unity3d.com/Packages/[email protected]/manual/index.html

ARCore SDK for Unity:

https://developers.google.com/ar/develop/unity/quickstart-android

Unity的ARKit插件:

https://bitbucket.org/Unity-Technologies/unity-arkit-plugin

功能对比和路线图

下面表格中是AR Foundation,ARCore和ARKit功能对比和开发路线图。
在这里插入图片描述
远程调试

远程调试是我们正在测试的主要功能,预计在2019年发布。远程调试功能可以从运行ARCore或ARKit的设备将传感器数据流式传输到Mac或PC端编辑器,该功能将提高迭代速度,有助于开发者调试AR应用。

模拟功能

除了远程调试功能外,我们还加入了编辑器内的模拟功能。该功能可让你不必在电脑连接Android或iOS设备,就可以开发和测试AR应用,该功能可以大幅提升开发和调试的速度。

更多平台支持

我们将在2019年扩展平台支持,不仅支持移动端AR设备,还支持穿戴式AR设备。

快速入门

我们创建了GitHub示例代码库,提供包含AR Foundation的Unity项目和场景。该示例库包含多个脚本,用于可视化平面和特征点,在发现平面放置对象,以及光照估算功能。

我们最近还为示例库添加了一些用户体验功能,包含大量动画,用于指导用户找到平面,放置对象并在平面不再更新时淡出平面,请查看SampleUXScene了解相关功能。
在这里插入图片描述
下载AR Foundation Samples示例库:

https://github.com/Unity-Technologies/arfoundation-samples

小结

希望你通过本文学习,清楚的了解Unity的移动端AR生态系统,并且学会使用AR Foundation构建优秀的移动端AR应用。更多Unity精彩内容分享,请戳下方链接下载官方app
https://connect.unity.com/p/unityde-yi-dong-duan-arsheng-tai-xi-tong-ar-foundation-arcorehe-arkit?app=true