【问题标题】:For HoloLens disable Vuforia tracking of an image target and keep object with world anchor对于 HoloLens,禁用图像目标的 Vuforia 跟踪并使用世界锚点保留对象
【发布时间】:2019-11-07 09:25:26
【问题描述】:

我正在使用 Unity 2018.4.6、Vuforia 图像跟踪和 MRTK 2.0 为 MS HoloLens 开发应用程序。 目标跟踪工作正常,我可以正确看到我的 3D 对象。但是我想通过单击一个按钮来实现禁用vuforia的跟踪功能,以保持3d对象在世界中的实际位置并在它周围走动。

禁用也可以正常工作,但在使用“VuforiaBehavior.Instance.enabled = false;”禁用跟踪之后我的 3d 对象消失了。

我发现,我必须使用世界锚点,我正在尝试使用 MRTK2.0 的 WorldAnchorManager 解决它。但我不知道如何使用它以及这是否是我的解决方案。

有人回答我的问题吗?

【问题讨论】:

    标签: unity3d vuforia hololens


    【解决方案1】:

    是的,如果 HoloLens APP 上真正的世界级体验可以让用户在 5 米之外徘徊,那么您需要创建一个空间锚以将全息图精确地锁定在物理世界中。

    MRTK2 中的WorldAnchorManager 类用于在同一应用程序的多次运行中保存世界锚状态。你可以根据自己的需要选择是否使用。

    因此,在您的世界中放置全息影像的第一步是确定您的应用的目标体验规模。您可以浏览Coordinate systems in Unity,其中显示了在 Unity 中构建各种规模体验的代码。另外,如果想了解HoloLens中坐标系的核心概念,请看:Coordinate systems

    【讨论】:

      【解决方案2】:

      有些时间已经过去了,但我有解决办法。它不是世界锚,在我的情况下不需要锚。 在 Vuforia 提供的脚本 (Assetes/Vuforia/Scripts/DefaultTrackableEventHandler.cs) 中,“OnTrackingFound”和“OnTrackingLost”方法会自动激活或停用子游戏对象的渲染器组件,即 3d 对象的渲染器。 我不确定为什么 HoloLens 默认会有这样的行为。 一个简单但可能不是最优雅的解决方案是简单地注释掉类中相应的代码行(第 88-105 和 111-128 行)。 这可确保即使 Vuforia 跟踪丢失,对象仍然可见。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-15
        相关资源
        最近更新 更多