Table of Contents

Ottenere lo stato del target

Durante l'esecuzione della sessione, il target attraversa cambiamenti di stato come tracciato e perso. Di seguito imparerai come ottenere e utilizzare le informazioni sullo stato del target e come utilizzare gli eventi found e lost per controllare la visualizzazione dei contenuti.

Prima di iniziare

  • Comprendi i concetti di base, i componenti e il flusso di lavoro della sessione attraverso Introduzione a ARSession.
  • Comprendi i concetti di base, lo stato e il ciclo di vita del target attraverso Target.

Determinare se il target è tracciato

Puoi utilizzare la proprietà TargetController.IsTracked per determinare se il target è tracciato.

Utilizzare gli eventi found e lost del target

Puoi utilizzare gli eventi TargetController.TargetFound e TargetController.TargetLost per gestire le situazioni in cui il target viene tracciato o perso.

Ad esempio, il seguente codice mostra la riproduzione di un video quando il target viene tracciato e la pausa della riproduzione quando il target viene perso:

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

Se non scarichi manualmente il target, TargetController.TargetLost potrebbe essere chiamato quando la sessione si interrompe. Se non interrompi manualmente la sessione, ciò potrebbe accadere durante il processo OnDestroy della sessione. Poiché l'ordine di esecuzione di OnDestroy in Unity non è garantito, gli oggetti utilizzati negli eventi richiedono controlli di validità per evitare l'accesso a oggetti già distrutti durante OnDestroy.

Passaggi successivi

  • Strategia di controllo active illustra la strategia predefinita per mostrare e nascondere gli oggetti sotto il target e come adattarla secondo necessità.