【问题标题】:Troubleshooting in case of tracking loss跟踪丢失时的故障排除
【发布时间】:2019-04-05 22:56:25
【问题描述】:

我通过 ARCore 的 HelloAR 示例创建了一个播放动画的对象。然后他用手遮住了Camera,造成了跟踪损失。 如果你再次照亮空间,你创建的对象将返回,但动画将从头开始。

  1. 如果发生跟踪丢失后再次识别空间,有时对象返回但未返回。有没有办法区分?

  2. 如果在发生跟踪丢失后再次识别空间,为什么当对象返回时动画会重新开始?您要删除并重新创建对象吗?

【问题讨论】:

    标签: unity3d arcore


    【解决方案1】:

    ARCore 使用一种称为Visual Inertial Odometry 的技术。它是一种结合计算机视觉和传感器融合的混合技术。

    因此,VIO 所做的就是将从特征点(角、斑点、边缘等)提取的数据与从移动设备 IMU 单元获取的数据相结合。在 ARCore 中,了解设备的位置至关重要。因为您根据此信息估计每个可跟踪位置(使用设备姿势进行三角测量)。

    另一方面,ARCore 会在您在房间内移动时构建环境的稀疏地图。因此,这些提取的特征点基于置信度存储在内存中,稍后用于定位设备。

    最后,当跟踪丢失时会发生什么情况,例如,由于墙壁等原因,您无法提取特征点。当您无法提取特征点时,您无法定位设备。因此,设备不知道它在我上面提到的这个稀疏映射中的位置。有时您会恢复,因为您回到了已扫描并保存在此 Sparse 地图中的地方。

    现在回答你的问题:

    1. 如果您锚定对象。您的对象会返回,但可能会出现漂移,因为 ARCore 会在此过程中累积错误,尤其是如果您在设备跟踪丢失期间移动。因此,他们可能会返回,但由于漂移,他们不再处于相同的物理位置。
    2. 在动画重新开始时,由于无法跟踪这些锚点,它们已停用。此外,由于您锚定了对象,它们是锚点的子对象,因此您的对象也被停用。这就是动画重新启动的原因。

    您可以使用即时预览测试这两个问题,并查看当您失去跟踪时锚点会发生什么。祝你好运!

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2018-10-23
      • 2020-05-16
      • 1970-01-01
      • 2013-07-15
      相关资源
      最近更新 更多