Table of Contents

Obtener el estado de target

Durante la ejecución de session, target pasa por cambios de estado como tracking y lost. Con el siguiente contenido, aprenderá cómo obtener y usar información de estado de target, y cómo usar events found y lost para controlar la visualización de content.

Antes de empezar

  • Aprenda los conceptos básicos, la composición y el workflow de session mediante ARSession introduction.
  • Aprenda los conceptos básicos, el estado y el lifecycle de target mediante Target.

Determinar si target está siendo rastreado

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

Usar events found y lost de target

Puede usar los events TargetController.TargetFound y TargetController.TargetLost para manejar los casos en que target se rastrea o se pierde.

Por ejemplo, el siguiente código muestra el proceso de reproducir video cuando target se rastrea y pausar el playback de video cuando target se pierde:

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

Si target no se descarga manualmente, TargetController.TargetLost puede llamarse cuando session se detiene. Si session no se detiene manualmente, puede llamarse durante OnDestroy de session. Como el orden de ejecución de OnDestroy en Unity no está garantizado, los objetos usados en el event deben comprobarse para verificar su validez y evitar acceder a objetos que ya han sido destruidos durante OnDestroy.

Pasos siguientes

  • active control policy presenta la default show and hide policy para objetos bajo target, y cómo ajustarla según sea necesario.