我对ARKit和ARCore有疑问。
我正在开发结合虚幻引擎和内置增强现实的应用程序。它在Android手机上使用ARCore,在iOS设备上使用ARKit。
现在,我观察到的是: 我有一个虚拟的世界,我可以很好地穿越。但是例如现在我失去了跟踪能力(例如,我看着白色的墙壁,或者只是将手放在相机前面),Android设备失去了和方向的跟踪能力。这意味着整个世界都陷于困境。如果我使用iPhone进行此操作,则会失去跟踪能力。
我发现这样的东西可以将ARKit和ARCore进行比较。
对于ARKit:
运动跟踪:ARKit可以参考摄像机使用视觉惯性里程表(VIO)捕获的实时帧中的真实对象,始终准确地跟踪设备的位置。这样,设备就可以捕获运动传感器数据,记录设备的实时位置。
对于ARCore:
运动跟踪:与VIO附带的ARKit不同,ARCore跟踪和解释IMU(惯性测量单位)数据。它也可以测量周围物体的形状,构造和特征,以检测和识别所使用的Android设备的正确位置和方向。
来源:https://www.itfirms.co/arkit-vs-arcore-how-they-compare-against-each-other/
在ARKit运动跟踪的描述中,没有关于方向的任何内容。
有人可以用其他也许容易理解的词来解释我吗,为什么在这种情况下ARKit不会失去定向能力?
预先感谢
答案 0 :(得分:3)
从技术和概念上讲,这两种方法都是相同的。与文章所说的相反,
解释IMU(惯性测量单位)数据,与VIO附带的ARKit不同
ARKit 解释图像特征(Visual)和IMU数据(惯性)并融合它们以获得位置随时间的变化(里程表)->视觉惯性里程表
ARCore 解释图像特征和IMU数据并将其融合以获得位置随时间的变化->视觉惯性里程表
因此方法和基本概念相同。不同之处在于实现方式。我认为,如果跟踪系统的视觉部分出现故障,这只是做出决定的决定。苹果似乎决定仍然使用IMU(它仍然可以跟踪方向),而Google决定停止整个跟踪框架(也许您已经注意到,在盖好ARCore摄像头之后,您大约有1秒钟的时间进行了跟踪对方向变化做出反应。只有在超时之后,跟踪才会完全停止)