Выполните действие над Image Target в зависимости от его имени в Unity - PullRequest
0 голосов
/ 27 марта 2019

Я создал сцену, которая меняет сцены на сцену вуфории, где я могу сканировать объекты, из этой сцены я хочу изменить на другую сцену в зависимости от имени [или какой-то уникальной идентификации] отсканированной сцены после цель изображения найдена, поскольку у меня есть несколько изображений, которые должны отображать различную информацию после сканирования.

Я реализовал код в trackableEventHandler, который переопределяет код по умолчанию, и добавил код в OnTrackableStateChanged(). Я определил Transform с именем Transform, и я использую это, чтобы получить имя, чтобы я мог изменить сцены с ним. Я последовал примеру, и было использовано преобразование. Любое другое предложение хорошо.

public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus){


        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED){

            Debug.Log("Image Found");

        }
        else{
            Debug.Log("Image lost!");
        }

        //
        StateManager stateManager = TrackerManager.Instance.GetStateManager();
        IEnumerable<TrackableBehaviour> trackableBehaviours = stateManager.GetActiveTrackableBehaviours();
        foreach (TrackableBehaviour trackableBehaviour in trackableBehaviours)
        {
            string scanName = trackableBehaviour.TrackableName;
              Transform.GetComponent<Text>().text = scanName;

            if(scanName == "scannedImage")
            {
                SceneManager.LoadScene("ScannedImageScene");
            }
            else if(scanName == "otherImage")
            {
                SceneManager.LoadScene("OtherImageScene");
            }
        }
    }
...