Table of Contents

Ottenere lo stato di target

Durante l'esecuzione di session, target attraversa cambiamenti di stato come tracking e lost. Con il contenuto seguente, si apprenderà come ottenere e usare le informazioni sullo stato di target e come usare gli events found e lost per controllare la visualizzazione di content.

Prima di iniziare

  • Comprendere i concetti di base, la composizione e il workflow di session tramite ARSession introduction.
  • Comprendere i concetti di base, lo stato e il lifecycle di target tramite Target.

Determinare se target è tracciato

È possibile usare la proprietà TargetController.IsTracked per determinare se target è tracciato.

Usare gli events found e lost di target

È possibile usare gli events TargetController.TargetFound e TargetController.TargetLost per gestire i casi in cui target viene tracciato o perso.

Ad esempio, il codice seguente mostra il processo di riproduzione del video quando target è tracciato e di pausa del video playback quando target viene perso:

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

Se target non viene scaricato manualmente, TargetController.TargetLost può essere chiamato quando session si arresta. Se session non viene arrestata manualmente, può essere chiamato durante OnDestroy di session. Poiché l'ordine di esecuzione di OnDestroy in Unity non è garantito, gli oggetti usati nell'event devono essere controllati per validità, per evitare di accedere durante OnDestroy a oggetti già distrutti.

Passaggi successivi

  • active control policy introduce la default show and hide policy per gli oggetti sotto target e come regolarla secondo necessità.