Table of Contents

Target-Status abrufen

Während session läuft, durchläuft target Zustandsänderungen wie tracking und lost. In den folgenden Abschnitten erfahren Sie, wie Sie Statusinformationen von target abrufen und verwenden und wie Sie found- und lost-events verwenden, um die Anzeige von content zu steuern.

Bevor Sie beginnen

  • Lernen Sie die Grundkonzepte, Zusammensetzung und den workflow von session über ARSession introduction kennen.
  • Lernen Sie die Grundkonzepte, den Status und den lifecycle von target über Target kennen.

Bestimmen, ob target verfolgt wird

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

Found- und lost-events von target verwenden

Sie können die events TargetController.TargetFound und TargetController.TargetLost verwenden, um Fälle zu behandeln, in denen target verfolgt oder verloren wird.

Der folgende Code zeigt zum Beispiel, wie ein Video abgespielt wird, wenn target verfolgt wird, und wie video playback pausiert wird, wenn target verloren geht:

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

Wenn target nicht manuell entladen wird, kann TargetController.TargetLost beim Stoppen von session aufgerufen werden. Wenn session nicht manuell gestoppt wird, kann es während OnDestroy von session aufgerufen werden. Da die Ausführungsreihenfolge von OnDestroy in Unity nicht garantiert ist, müssen die im event verwendeten Objekte auf Gültigkeit geprüft werden, um zu vermeiden, dass während OnDestroy bereits zerstörte Objekte verwendet werden.

Nächste Schritte

  • active control policy stellt die default show and hide policy für Objekte unter target vor und erklärt, wie sie bei Bedarf angepasst werden kann.