一、什么是ARFoundation
我们知道,在2017年苹果和谷歌相继推出了ARKitSDK和ARCoreSDK,分别对应iOS设备和安卓设备。如果我们需要开发iOS和安卓两个平台的AR应用,就需要同时接入和维护ARKit和ARCore两个SDK,无疑增加了开发时间与成本。因此Unity开发了一个多平台API和实用程序,将ARKit和ARCore再次封装,为开发者提供一个支持ARCore,ARKit和未来平台核心功能的通用API。将其称之为 AR Foundation。
二、ARFoundation核心功能
支持功能 | AR Foundation | ARCore | ARkit |
垂直平面检测 | √ | √ | √ |
水平平面检测 | √ | √ | √ |
特征点检测 | √ | √ +支持特征点姿态 | √ |
光照估计 | √ | √ +Color Correction | √ + Color Temperature |
射线测试(Hit Testing) | √ | √ | √ |
图像跟踪 | √ | √ | √ |
动态加载识别图 | - | √ | √ |
3D物体检测与跟踪 | √ | - | √ |
环境光探头(Environment Probes) | √ | - | √ |
世界地图(World maps) | √ | - | √ |
人脸跟踪(识别、姿态、网格和形状混合) | √ | √ | √(iPhoneX 及更高型号) |
云锚点(Cloud Anchors) | √ | √ | - |
远程调试(Editor Remoting) | - | √-Instant Preview | √ -ARKit Remote |
模拟器(Editor Simulation) | √ | - | - |
LWRP支持(支持使用ShaderGraph) | √ | - | - |
摄像机图像API | √ | √ | - |
人体动作捕捉(Motion capture) | √ | - | √(iPhoneXR 及更高型号) |
人形遮挡(People occlusion) | √ | - | √(iPhoneXR 及更高型号) |
多人脸检测 | √ | - | √(iPhoneX 及更高型号) |
多人协作(Collaborative session) | √ | - | √(iPhoneX 及更高型号) |
多图像识别 | √ | √ | √(iPhoneX 及更高型号) |