我正在尝试创建一个简单的场景,其中一些对象被放置在桌子上。物体放置效果很好,但是当我移动设备时,物体会漂移一点。这在某一时刻让放置在角落的物体感觉它们不是在桌子上而是漂浮在空中。
即使在 Unity 示例中的太阳月亮和地球示例中:https ://github.com/googlesamples/tango-examples-unity 当您移动设备时,地球 n 月亮会漂移
这是一个错误还是我缺少任何特殊设置?
物体漂移是因为 Tango 设备在空间中移动时,它只跟踪自己在 3D 空间中的位置。为了让物体在动态环境中保持静止,设备需要了解放置的物体在 3D 空间中的位置以及它们与周围环境的关系,以锚定物体并减少漂移。
幸运的是,TangoCore
您是否在这里介绍过,运动跟踪、深度感知和区域学习这 3 项核心技术都可以一起提供帮助。
如果我没记错的话,太阳和月亮的例子是“SimpleAugmentedReality”下的场景tango-examples-unity / UnityExamples / Assets / TangoSDK / Examples / Scenes /
但是,如果您想在 3D 空间中锚定对象并减少漂移,则还需要使用区域学习和深度感知。当设备意识到它之前已经“看到”一个区域并调整路径和标记以提供更准确的设备和增强的内容位置时,区域学习会执行循环闭合。
所以这里是你可以做的来学习你需要的东西。保存您当前的场景,打开 Scene 并按照此路径tango-examples-unity / UnityExamples / Assets / TangoSDK / Examples / Scenes /
加载其他一些场景,以了解这些技术是如何相互交织的。
例如,您可以加载ExperimentalMeshBuilderWithColour
场景,了解深度处理如何以编程方式工作,然后加载MotionTracking
场景并学习如何从TangoManager
游戏对象访问和使用运动跟踪。最后(也可能是最令人沮丧的困难)了解区域学习是如何使用AreaDescriptionManagement
和AreaLearning
场景进行管理的。
这不仅可以解决您的漂移问题,还可以让您更全面地了解 Tango 技术的功能,让您更轻松地表达自己的想法。