vuforia统一暂停跟踪或扩充

时间:2016-05-27 19:12:49

标签: unity3d vuforia

我已经成功开发了一个3d对象检测AR应用程序。当显示3d对象时,在检测到时,应用程序会显示一些3d Unity游戏对象,这些对象在vuforia对象跟踪器中是分层的。我希望为用户提供一个选项,以防他们没有要检测的3d对象,只需模拟就像检测到对象一样,并通过单击按钮显示相关的3d对象。 有人可以指导我吗?

2 个答案:

答案 0 :(得分:0)

我认为你有OnTrackingFound / OnTrackingLost方法。在里面,它设置所有对象(或父对象)。你只需要告诉你只需要一个:

public GameObject objA, objB, objC;
private GameObject currentObj = null;
private bool isTracking = false;
private void Start()
{ 
     if(objA == null) { Debug.LogError("Missing objext"); } 
     if(objB == null) { Debug.LogError("Missing objext"); } 
     if(objC == null) { Debug.LogError("Missing objext"); } 
}
void OnTrackingFound()
{
    this.isTracking = true;
    OnTrackingLost();
    if(currentObj != null) { currentObj.SetActive(true); }
}
void OnTrackingLost()
{
    this.isTracking = false;
    objA.SetActive(false); objB.SetActive(false); objC.SetActive(false);
}
public void SetObjectWithUI(GameObject obj)
{
    this.current = obj;
    if (this.isTracking == true){ OnTrackingFound(); }
}

在UI上添加三个按钮,并使用SetObjectWithUI作为事件。然后在GameObject插槽中,拖动要显示的三个不同的游戏对象。按下按钮时,根据当前跟踪,它将重置或不执行任何操作。

答案 1 :(得分:0)

为什么不将“用户定义的目标”用于对象检测

用户定义的目标允许最终用户在运行时选择图像。因此,用户通过从他或她的直接环境中选择图像(如照片,书籍封面或海报)来“随时随地”体验AR,而无需携带预定目标。

只需下载示例

  1. 对象识别

  2. 用户定义目标

  3. 来自:https://developer.vuforia.com/downloads/samples

    并将两者结合起来