Search Unity

Vuforia ImageTarget Disabled when game started cannot track object

Discussion in 'AR' started by Zackerzhuang, Feb 17, 2019.

  1. Zackerzhuang

    Zackerzhuang

    Joined:
    Aug 17, 2017
    Posts:
    1
    about Vuforia imageTarget : if imageTarget is diabled when game started
    I attach a function to setActive the imageTarget object after 5seconds, it cannot track anymore,why is that?
    the imageTarget is set active and OnTrackableStateChanged is called once, from state UNKNOWN to NOT_FOUND , it cannot be called second time even if i put the targeted image in front of the camera.
    here is my code:

    public GameObject object1;

    void Start()
    {
    if(object1)
    object1.SetActive(false);
    StartCoroutine(wait());
    }

    IEnumerator wait()
    {

    yield return new WaitForSeconds(3);
    if (object1)
    object1.SetActive(true);
    }

    and the ImageTarget object is attached to object1 in my script.
    It is deactivated when started.But after it is activated, it cannot track object


    I add log lines in function OnTrackableStateChanged

    public void OnTrackableStateChanged(
    TrackableBehaviour.Status previousStatus,
    TrackableBehaviour.Status newStatus)
    {
    Debug.LogError("Trackable " + mTrackableBehaviour.TrackableName + " changed");
    if (newStatus == TrackableBehaviour.Status.DETECTED ||
    newStatus == TrackableBehaviour.Status.TRACKED ||
    newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
    {
    Debug.LogError("Trackable " + mTrackableBehaviour.TrackableName + " found");
    OnTrackingFound();
    }
    else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
    newStatus == TrackableBehaviour.Status.NOT_FOUND)
    {
    Debug.LogError("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
    Debug.LogError("Trackable " + mTrackableBehaviour.TrackableName + " unkonwn");
    OnTrackingLost();
    }
    }

    the Debug.LogError("Trackable " + mTrackableBehaviour.TrackableName + " changed");
    is only called once
     
  2. lbordonaro

    lbordonaro

    Joined:
    May 11, 2020
    Posts:
    2
    I have the same issue!!!