Table of Contents

Obter o status de target

Durante a execução de session, target passa por mudanças de estado como tracking e lost. No conteúdo a seguir, você aprenderá como obter e usar informações de status de target, e como usar events found e lost para controlar a exibição de content.

Antes de começar

  • Entenda os conceitos básicos, a composição e o workflow de session em ARSession introduction.
  • Entenda os conceitos básicos, status e lifecycle de target em Target.

Determinar se target está sendo rastreado

Você pode usar a propriedade TargetController.IsTracked para determinar se target está sendo rastreado.

Usar events found e lost de target

Você pode usar os events TargetController.TargetFound e TargetController.TargetLost para lidar com casos em que target é rastreado ou perdido.

Por exemplo, o código a seguir mostra o processo de reproduzir vídeo quando target é rastreado e pausar o video playback quando target é perdido:

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

Se target não for descarregado manualmente, TargetController.TargetLost pode ser chamado quando session parar. Se session não for parada manualmente, ele pode ser chamado durante OnDestroy de session. Como a ordem de execução de OnDestroy no Unity não é garantida, os objetos usados no event precisam ser verificados quanto à validade para evitar acessar objetos que já foram destruídos durante OnDestroy.

Próximas etapas

  • active control policy apresenta a default show and hide policy para objetos sob target e como ajustá-la conforme necessário.