【问题标题】:How to keep tracked Image Target model object after tracking lost?跟踪丢失后如何保持跟踪的图像目标模型对象?
【发布时间】:2016-04-18 06:38:16
【问题描述】:

我正在使用 Unity3d 和 Vuforia 开发 AR 应用程序。我想保留丢失时找到的跟踪的 ImageTarget 对象。跟踪丢失后如何保持跟踪的Image Target模型对象?

【问题讨论】:

  • 我不确定你的意思。您的意思是当您看不到 ImageTarget 时,您希望对象留下而不是消失?
  • @bpgeck,是的。我的意思是。 1.图像目标跟踪找到并显示对象。 2.找到的ImageTarget丢失了,但我想保留它。我是说。我想继续显示对象并改变它的位置。
  • 我刚刚发布了一个答案。这能回答你的问题吗?
  • 您可以启用扩展跟踪。这篇文章更详细地解释了它:developer.vuforia.com/forum/creating-ar-trackables/…

标签: unity3d vuforia


【解决方案1】:

处理丢失跟踪时发生的情况的脚本称为 DefaultTrackableEventHandler.cs,可在 Assets > Vuforia > Scripts 中找到。在该文件中,您将找到一个函数 OnTrackingLost() 该函数禁用 ImageTarget 的每个子级的所有 renderComponentscolliderComponents。如果您希望您的对象保持可见,请像这样注释掉以下 foreach 循环:

private void OnTrackingLost()
{
    Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
    Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

    /*
    // Disable rendering:
    foreach (Renderer component in rendererComponents)
    {
        component.enabled = false;
    }

    // Disable colliders:
    foreach (Collider component in colliderComponents)
    {
        component.enabled = false;
    }
    */

    Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
}

【讨论】:

  • 但是当我这样做时,当我将相机移出目标时,模型对象会粘在屏幕边缘。
  • @Dungeon 正确。这是这种方法的缺点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
相关资源
最近更新 更多