统一vuforia扩展跟踪的问题

时间:2019-04-15 10:46:48

标签: unity3d vuforia

我需要帮助。我使用unity2018.2.12f1&Vuforia 7.5.26。我的任务-不要在FOV中没有图像后隐藏对象。我制作了跟踪设备的姿势,位置模式,针对图像进行了优化,并删除了OnTrackingLost()代码。它无法正常工作。当状态为NOT_FOUND时,相机看不到模型,但模型没有消失。您可以在视频https://youtu.be/FHGHULr8J90

中观看
 public void OnTrackableStateChanged(
    TrackableBehaviour.Status previousStatus,
    TrackableBehaviour.Status newStatus)
{
    m_PreviousStatus = previousStatus;
    m_NewStatus = newStatus;

    if (newStatus == TrackableBehaviour.Status.DETECTED ||
        newStatus == TrackableBehaviour.Status.TRACKED ||
        newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
    {
        Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
        OnTrackingFound();
    }
    //else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
    //         newStatus == TrackableBehaviour.Status.NO_POSE)
    //{
    //    Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
    //    OnTrackingLost();
    //}
    //else
    //{
    //    // For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND
    //    // Vuforia is starting, but tracking has not been lost or found yet
    //    // Call OnTrackingLost() to hide the augmentations
    //    OnTrackingLost();
    //}
}

1 个答案:

答案 0 :(得分:0)

好吧,现在我明白你的意思了。通常,如果您使用扩展跟踪,则无需更改脚本中的任何内容。 newStatus == TrackableBehaviour.Status.NO_POSE如果您的相机没有丢失跟踪(一般不跟踪标记,则跟踪),则该陈述将始终为真。仅当环境没有足够的功能或例如您正在朝白色的墙壁望去。 否则,只要您使用“扩展跟踪”,它就会继续跟踪该标记。

您所遇到的问题可能是应用程序在该位置期望一个标记,因为它仍在跟踪该标记,但是没有标记,因为您切换到其他标签。通常,当您跟踪标记并移开视线并且仍在跟踪时,扩展跟踪有效。您应该检查newStatus并查看切换标签后会发生什么情况。