【问题标题】:How to I get more reliable Y position tracking for the Google Tango in Unity?如何在 Unity 中为 Google Tango 获得更可靠的 Y 位置跟踪?
【发布时间】:2016-01-31 16:22:51
【问题描述】:

我们有一个使用 arealearning 的统一场景,它在 XZ 位置方面非常可靠和一致。然而我们注意到,有时探戈三角相机的 Y 位置会在场景中“跳”得很高。当我们强制探戈重新定位时(通过覆盖传感器几秒钟),Y 位置仍然非常偏离。在其他时候,当我们第一次在 Tango 上启动 Unity 应用程序并使用相同的 ADF 文件将其保持在完全相同的房间中的完全相同的位置时,Y 位置会变化 0.5 - 1.5 个单位。有没有办法获得更可靠的 Y 位置跟踪和/或纠正这些跳跃?

【问题讨论】:

    标签: unity3d augmented-reality unity5 google-project-tango


    【解决方案1】:

    (这里所有的XYZ坐标都在Unity约定中,x是右,y是上,z是前)

    Y 位置应该与 XZ 坐标相同,它根据 ADF 原点重新定位到高度。

    但请注意,ADF 的起源是您开始学习(记录)ADF 的地方。假设您通过正常手持设备开始学习课程,那么 ADF 的原点可能比地面高一点。在构建虚拟世界进行重定位时,应考虑高度差。

    要检查的另一件事是确保没有为DeltaPoseController 预制件设置偏移或原始位置。 DeltaPoseController 将初始起始变换作为偏移量,并在其上摆出add up 姿势。例如,如果我的DeltaPoseController 的起始位置是 (0,1,0),而我在设备上的姿势是 (0,1,1),那么在 Unity 中 DeltaPoseController 的实际位置是 (0 ,2,1)。这适用于平移和旋转。

    定义地面高度的另一种高级(也是首选)方法是使用深度传感器来确定地面高度。在Unity Augmented Reality example 中,它展示了如何检测平面并在其上放置标记。您可以轻松地将类似的方法应用于地平面,执行 PlaneFinding 并将地面放置在 Unity 世界空间中的正确高度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 2018-04-25
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多