我面临以下问题: 当我想在场景中放置对象时,它会四处移动, 我需要它保持在原处,因此它必须是锚对象。
不幸的是,如果不使用“平面地面”检测,就无法在Vuforia中锚定对象。
此外,在“启用平面地面检测”之后,增强的对象不会出现并且永远不会丢失,并且功能“ onTrackingLost”也不会触发。 看来此功能不会自动被调用且无法正常工作!
请问如何解决此问题?!
答案 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