Table of Contents

Obtener el estado del target

Durante la ejecución de la sesión, el target experimenta cambios de estado como seguimiento y pérdida. A continuación, aprenderá cómo obtener y utilizar la información de estado del target, y cómo usar los eventos found y lost para controlar la visualización del contenido.

Antes de comenzar

  • Comprenda los conceptos básicos, componentes y flujo de trabajo de la sesión a través de Introducción a ARSession.
  • Comprenda los conceptos básicos, estados y ciclo de vida del target a través de Target.

Determinar si el target está siendo rastreado

Puede usar la propiedad TargetController.IsTracked para determinar si el target está siendo rastreado.

Usar los eventos found y lost del target

Puede usar los eventos TargetController.TargetFound y TargetController.TargetLost para manejar situaciones en las que el target es rastreado o perdido.

Por ejemplo, el siguiente código muestra cómo reproducir un video cuando el target es rastreado y pausarlo cuando se pierde:

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

Si no descarga manualmente el target, TargetController.TargetLost podría invocarse cuando se detiene la sesión. Si no detiene manualmente la sesión, esto puede ocurrir durante el proceso OnDestroy de la sesión. Debido a que el orden de ejecución de OnDestroy en Unity no está garantizado, los objetos utilizados en el evento deben verificarse para evitar acceder a objetos ya destruidos durante OnDestroy.

Pasos siguientes

  • Estrategia de control active presenta la estrategia predeterminada para mostrar y ocultar objetos bajo el target, y cómo ajustarla según sea necesario.