Table of Contents

Obtenir l'état du target

Durant l'exécution de la session, le target passe par différents états comme suivi et perdu. Vous apprendrez ici comment obtenir et utiliser les informations d'état du target, ainsi qu'à utiliser les événements found et lost pour contrôler l'affichage du contenu.

Avant de commencer

  • Consultez Introduction à ARSession pour comprendre les concepts de base, la composition et le flux de travail d'une session.
  • Consultez Target pour comprendre les concepts de base, les états et le cycle de vie d'un target.

Déterminer si le target est suivi

Vous pouvez utiliser la propriété TargetController.IsTracked pour déterminer si le target est suivi.

Utiliser les événements found et lost du target

Vous pouvez utiliser les événements TargetController.TargetFound et TargetController.TargetLost pour gérer les situations où le target est suivi ou perdu.

Par exemple, le code suivant montre comment lire une vidéo lorsque le target est suivi et mettre en pause la lecture lorsque le target est perdu :

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

Si le target n'est pas déchargé manuellement, TargetController.TargetLost peut être appelé lors de l'arrêt de la session. Si vous n'arrêtez pas manuellement la session, cela peut se produire pendant OnDestroy de la session. Comme l'ordre d'exécution de OnDestroy dans Unity n'est pas garanti, les objets utilisés dans l'événement doivent être vérifiés pour éviter d'accéder à des objets déjà détruits pendant OnDestroy.

Prochaines étapes

  • Stratégie de contrôle active présente la stratégie par défaut d'affichage et de masquage des objets sous le target, et comment l'ajuster selon les besoins.