我正在尝试按照特定顺序跟踪vuforia图像目标,以便在扫描第一个目标之前无法跟踪下一个目标。
答案 0 :(得分:0)
您应该扩展vuforia图像目标识别并添加类似order变量。在其他脚本中,您可以具有静态变量或currentTrackedOrder
public class VuforiaCustomBehaviour: MonoBehaviour, ITrackableEventHandler
{
public TrackableBehaviour mTrackableBehaviour;
//order of image target
public int order = 0;
void Start()
{
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
{
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
}
public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus,
TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
if (order == MainScript.currentTrackedOrder)
{
//Activate your object here
DoSmth();
MainScript.currentTrackedOrder++;
}
}
else
{
OnTrackingLost();
}
}
}
因此,您可以将此脚本添加到所有图像目标,并按顺序排列所需数字变量。另外,您应该禁用默认的可跟踪事件处理程序。