【问题标题】:How to make Vuforia stop tracking in Unity?如何让 Vuforia 在 Unity 中停止跟踪?
【发布时间】:2013-06-13 13:01:01
【问题描述】:

我一直在寻找阻止 Vuforia 引擎跟踪的方法,但谷歌搜索根本没有帮助。

我想在找到跟踪器时停止跟踪,然后在发生事件(例如单击按钮)后恢复跟踪。

【问题讨论】:

    标签: unity3d vuforia


    【解决方案1】:

    这就是我用来完成你需要的东西。 (:

    TrackerManager.Instance.GetTracker<ImageTracker>().Stop();
    TrackerManager.Instance.GetTracker<ImageTracker>().Start();
    

    【讨论】:

      【解决方案2】:

      最后,Visual Studio 的 IntelliSense 帮我解决了这个问题。您可以在一行代码调用中禁用跟踪器

      TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Stop();
      

      同样,重新开始

      TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Start();
      

      【讨论】:

      • 这段代码不再起作用了:'Tracker' does not contain a definition for 'Type'No overload for method 'GetTracker' takes '1' arguments 我猜这里面涉及到一些泛型但无法让它起作用。
      • 也许是TrackerManager.Instance.GetTracker&lt;ImageTracker&gt;()?
      • tincho 你说得对——我以前试过但没用,现在我意识到它在编辑器中不起作用,只能在真实设备上使用。
      【解决方案3】:

      此代码将禁用跟踪器

      mTrackableBehaviour = GetComponent<TrackableBehaviour>();
      
      if (mTrackableBehaviour)
      {
        mTrackableBehaviour.UnregisterTrackableEventHandler(this);
      }
      

      此代码将启用跟踪器

      mTrackableBehaviour = GetComponent<TrackableBehaviour>();
      
      if (mTrackableBehaviour)
      {
         mTrackableBehaviour.UnregisterTrackableEventHandler(this);
      }
      

      【讨论】:

      • 启用和禁用跟踪器有什么区别?
      【解决方案4】:

      只有此代码才能启用跟踪器

      mTrackableBehaviour = GetComponent<TrackableBehaviour>();
      
      if (mTrackableBehaviour){
          mTrackableBehaviour.RegisterTrackableEventHandler(this);
      }
      

      我可以知道延迟 2 秒的原因吗?在加载应用程序期间,扫描线最初延迟 2 秒。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多