查看原文
其他

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

Unity Unity官方平台 2019-05-07

随着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

AR Foundation将ARKit和ARCore的底层API包装到整合的框架中,并提供额外的实用功能,例如会话生命周期管理,以及用于展示环境中已检测功能的MonoBehaviour。

Google ARCore SDK for Unity

该SDK为ARCore支持的重要AR功能提供原生API,并在Unity中向Android平台公开这些API。

Unity ARKit Plugin

该插件用于在Unity中构建ARKit体验,它在Unity中公开了C#语言的ARKit objective-c API,以便开发者进行使用。它还提供辅助脚本和实用功能,从而利用兼容iOS设备的前置和后置摄像机。

资源文档

AR Foundation用户手册:

https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@1.0/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/com.unity.package-manager-ui@1.8/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功能对比和开发路线图。


支持功能

AR   Foundation

ARCore  

ARKit

垂直平面检测

支持

支持

支持

水平平面检测

支持

支持

支持

特征点检测

支持

支持方向特征点

支持

光照估算

支持

支持色彩校正

支持色温

碰撞检测(特征点和平面光线投射)

支持

支持

支持

图像跟踪

开发中

仅支持静态

支持

Environment Probes

开发中


支持

世界地图

支持


支持

面部跟踪(姿势,网格和混合形状)

支持


仅支持iPhone X及更高型号

云锚点

开发中

支持


编辑器远程调试功能

预览阶段

Preview即时预览功能

ARKit Remote

编辑器模拟功能

预览阶段



 LWRP支持(支持使用Shader Graph着色器视图)

支持3.3.0版本

开发中

开发中

摄像机图像API

支持




远程调试

远程调试是我们正在测试的主要功能,预计在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精彩内容分享,尽在Unity官方中文论坛(UnityChina.cn)!


推荐阅读


官方活动

Unite Shanghai 2019暖冬特惠票限量销售中

2019年5月10日-12日上海,Unite大会强势回归。 暖冬特惠票正式开售,购票即获指定Asset Store资源商店精品21款资源的5折优惠券。[了解详情...

购票链接:

http://UniteShanghai2019.bagevent.com


Unity全球学生开发挑战赛火热进行中最后一个月

Unity面向全球的学生推出-Unity全球学生开发挑战赛,寻找全世界最具创意,展现自我的学生开发者团队。[了解详情...

活动地址:

https://connect.unity.com/challenges/gsc2018

 

点击“阅读原文”访问Unity官方中文论坛

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存