如何在Unity中停止Vuforia跟踪?

3

我一直在寻找停止Vuforia引擎跟踪的方法,但是谷歌搜索并没有帮助到我。

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

4个回答

3
这是我用来完成您所需的方法。(:
TrackerManager.Instance.GetTracker<ImageTracker>().Stop();
TrackerManager.Instance.GetTracker<ImageTracker>().Start();

1
最终,Visual Studio的智能感知帮我解决了这个问题。你可以通过一行代码来禁用跟踪器。
TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Stop();

同样地,要再次启动它
TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Start();

这段代码不再起作用: 'Tracker' 不包含 'Type' 的定义 方法 'GetTracker' 没有重载接受 '1' 个参数 我猜涉及到一些泛型,但是无法让它正常工作。 - reformy
1
也许是 TrackerManager.Instance.GetTracker<ImageTracker>() - Martín Coll
tinchou 你是对的 - 我之前尝试过,但没有成功,现在我意识到它在编辑器中不起作用,只能在真实设备上运行。 - reformy

1

这段代码将禁用追踪器

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

这段代码将启用追踪器。
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
    
if (mTrackableBehaviour)
{
   mTrackableBehaviour.registerTrackableEventHandler(this);
}

启用和禁用跟踪器有什么区别? - Saqib Omer

0

只有这段代码才能启用追踪器。

mTrackableBehaviour = GetComponent<TrackableBehaviour>();

if (mTrackableBehaviour){
    mTrackableBehaviour.RegisterTrackableEventHandler(this);
}

请问两秒延迟的原因是什么?扫描线在应用程序加载期间最初延迟了两秒。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接