Table of Contents

Status eines targets abrufen

Während einer session durchläuft ein target verschiedene Zustandsänderungen wie Verfolgung und Verlust. Hier erfahren Sie, wie Sie Statusinformationen eines targets abrufen und verwenden können und wie Sie die Ereignisse found und lost nutzen, um die Anzeige von Inhalten zu steuern.

Voraussetzungen

  • Machen Sie sich mit den Grundkonzepten, Komponenten und dem Arbeitsablauf einer session vertraut, indem Sie Einführung in ARSession lesen.
  • Erfahren Sie mehr über die Grundkonzepte, Zustände und den Lebenszyklus eines targets unter Target.

Feststellen, ob ein target verfolgt wird

Sie können die Eigenschaft TargetController.IsTracked verwenden, um festzustellen, ob ein target verfolgt wird.

Die found- und lost-Ereignisse eines targets nutzen

Sie können die Ereignisse TargetController.TargetFound und TargetController.TargetLost verwenden, um zu behandeln, wenn ein target verfolgt oder verloren geht.

Der folgende Code zeigt beispielsweise, wie ein Video abgespielt wird, wenn ein target verfolgt wird, und die Wiedergabe pausiert wird, wenn das target verloren geht:

target.TargetFound += () =>
{
    if (player && player.gameObject.activeInHierarchy)
    {
        player.Play();
    }
};
target.TargetLost += () =>
{
    if (player && player.gameObject.activeInHierarchy)
    {
        player.Pause();
    }
};
Vorsicht

Wenn ein target nicht manuell entladen wird, kann TargetController.TargetLost beim Stoppen der session aufgerufen werden. Wenn die session nicht manuell gestoppt wird, kann dies während des OnDestroy-Prozesses der session geschehen. Da die Ausführungsreihenfolge von OnDestroy in Unity nicht garantiert ist, müssen Objekte, die in Ereignissen verwendet werden, auf Gültigkeit überprüft werden, um den Zugriff auf bereits zerstörte Objekte während des OnDestroy-Prozesses zu vermeiden.

Nächste Schritte

  • Die active-Steuerungsstrategie erklärt die standardmäßige Anzeige- und Ausblendstrategie für Objekte unter einem target und wie Sie diese bei Bedarf anpassen können.