启用设备跟踪器后,Vuforia OntrackingLost功能不起作用?

时间:2019-02-11 13:46:58

标签: c# unity3d vuforia

我面临以下问题: 当我想在场景中放置对象时,它会四处移动, 我需要它保持在原处,因此它必须是锚对象。

不幸的是,如果不使用“平面地面”检测,就无法在Vuforia中锚定对象。

此外,在“启用平面地面检测”之后,增强的对象不会出现并且永远不会丢失,并且功能“ onTrackingLost”也不会触发。 看来此功能不会自动被调用且无法正常工作!

请问如何解决此问题?!

1 个答案:

答案 0 :(得分:0)

您可以将对象与vuforia目标分离-使其不是孩子,而是将其放置在层次结构中的其他位置-只能将其移动到正确的坐标OnTargetFound

添加例如UnityEvent<Transform>之类的(类似于vuforia目标)

[system.Serializable]
public class TransformEvent : UnityEvent<TargetFoundEventHandler>
{
}

public class TargetFoundEventHandler : DefaultTrackableEventHandler
{
    public TransformEvent onTrackingFound;

    protected override void OnTrackingFound()
    {
        onTrackingFound.Invoke(transform);
    }
}

您可以使用它来引用回调(类似于onClick的{​​{1}}),但是这些方法必须使用Button参数,例如(将其放置到对象上)

TargetFoundEventHandler