【发布时间】:2019-04-05 22:56:25
【问题描述】:
我通过 ARCore 的 HelloAR 示例创建了一个播放动画的对象。然后他用手遮住了Camera,造成了跟踪损失。 如果你再次照亮空间,你创建的对象将返回,但动画将从头开始。
如果发生跟踪丢失后再次识别空间,有时对象返回但未返回。有没有办法区分?
如果在发生跟踪丢失后再次识别空间,为什么当对象返回时动画会重新开始?您要删除并重新创建对象吗?
【问题讨论】:
我通过 ARCore 的 HelloAR 示例创建了一个播放动画的对象。然后他用手遮住了Camera,造成了跟踪损失。 如果你再次照亮空间,你创建的对象将返回,但动画将从头开始。
如果发生跟踪丢失后再次识别空间,有时对象返回但未返回。有没有办法区分?
如果在发生跟踪丢失后再次识别空间,为什么当对象返回时动画会重新开始?您要删除并重新创建对象吗?
【问题讨论】:
ARCore 使用一种称为Visual Inertial Odometry 的技术。它是一种结合计算机视觉和传感器融合的混合技术。
因此,VIO 所做的就是将从特征点(角、斑点、边缘等)提取的数据与从移动设备 IMU 单元获取的数据相结合。在 ARCore 中,了解设备的位置至关重要。因为您根据此信息估计每个可跟踪位置(使用设备姿势进行三角测量)。
另一方面,ARCore 会在您在房间内移动时构建环境的稀疏地图。因此,这些提取的特征点基于置信度存储在内存中,稍后用于定位设备。
最后,当跟踪丢失时会发生什么情况,例如,由于墙壁等原因,您无法提取特征点。当您无法提取特征点时,您无法定位设备。因此,设备不知道它在我上面提到的这个稀疏映射中的位置。有时您会恢复,因为您回到了已扫描并保存在此 Sparse 地图中的地方。
现在回答你的问题:
您可以使用即时预览测试这两个问题,并查看当您失去跟踪时锚点会发生什么。祝你好运!
【讨论】: