Table of Contents

Obter o estado do target

Durante a execução da sessão, o target passa por mudanças de estado como rastreamento e perda. Através do conteúdo abaixo, você aprenderá como obter e usar as informações de estado do target, além de como usar os eventos found e lost para controlar a exibição de conteúdo.

Antes de começar

  • Compreenda os conceitos básicos, componentes e fluxo de trabalho da sessão através de Introdução ao ARSession.
  • Compreenda os conceitos básicos, estados e ciclo de vida do target através de Target.

Verificar se o target está sendo rastreado

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

Usar os eventos found e lost do target

Você pode usar os eventos TargetController.TargetFound e TargetController.TargetLost para lidar com situações em que o target é rastreado ou perdido.

Por exemplo, o código abaixo demonstra como reproduzir um vídeo quando o target é rastreado e pausar a reprodução quando o target é perdido:

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

Se o target não for descarregado manualmente, o TargetController.TargetLost pode ser chamado quando a sessão for interrompida. Se a sessão não for interrompida manualmente, isso pode ocorrer durante o processo OnDestroy da sessão. Como a ordem de execução do OnDestroy no Unity não é garantida, objetos usados ​​nos eventos precisam de verificação de validade para evitar acesso a objetos já destruídos durante o OnDestroy.

Próximos passos

  • Estratégia de controle active apresenta a estratégia padrão de exibição e ocultação de objetos sob o target e como ajustá-la conforme necessário.