Table of Contents

Objetivo de rastreamento do Unity AR —— target

Target expressa vários objetos rastreáveis no Unity. Através do seguinte conteúdo, você aprenderá os conceitos básicos, estado e ciclo de vida do objeto rastreável target no Unity AR.

Antes de começar

O que é target

Target refere-se à representação no Unity de objetos identificados e rastreados pela funcionalidade AR. No mundo real, esses objetos podem ser imagens, objetos 3D, mapas espaciais, etc. Ao identificar e rastrear esses objetos, aplicativos AR podem sobrepor conteúdo virtual ao mundo real, alcançando experiências interativas ricas.

Alguns targets estão estacionados no mundo real (como um pôster na parede).

Este vídeo mostra uma cena AR simples com rastreamento de imagem ativado. À esquerda está a visualização Hierarchy, no centro a visualização Scene, e à direita a visualização Game. O vídeo foi gravado usando dados de execução simulados, no modo Play do editor Unity. O conteúdo da visualização Game é o mesmo que o usuário veria no mundo real através de um celular. Neste vídeo, o target (ImageTarget) representa um cartão de visita no mundo real. Colocamos uma esfera amarela sobre ele para facilitar a observação de seu movimento.

Pode-se ver que o target está fixo tanto no mundo real quanto na cena, enquanto a câmera representando o usuário (cone azul) se move de acordo com o movimento do usuário no mundo real. O cone branco captura a trajetória de posição e orientação da câmera durante um período anterior. Note que a esfera amarela está sob o nó target (ImageTarget), o que é uma organização típica de objetos nesse tipo de cena.

Alguns targets podem se mover no mundo real (como um pôster em um ônibus).

Este vídeo mostra a mesma cena, mas desta vez movemos o target (cartão de visita) no mundo real. Pode-se ver que após mover o target, a esfera amarela acompanha o movimento do cartão, permanecendo sobreposta a ele na visualização Game.

Para facilitar a compreensão, nos dois vídeos acima a exibição do gizmo do ImageTarget foi desativada, e ambos usaram o modo central SessionOrigin. Nesses vídeos, o movimento dos objetos na visualização Scene corresponde ao do mundo real. Em cenas AR reais, essa relação de movimento é mais complexa.

Comportamento do target em diferentes modos centrais

No Unity, o ponto de referência central para todo o rastreamento AR é chamado de centro da session, e as regras que determinam esse centro durante a execução da session são chamadas de modos centrais. Em diferentes modos centrais, o comportamento do target varia:

  • No modo central SessionOrigin, o target não pode ser movido livremente.

    O modo SessionOrigin só existe em cenas com rastreamento de movimento.

    Embora esse modo exiba bem o movimento do target e da câmera em cenários simples, não é comumente usado em cenas AR reais, pois neste modo a session controla o movimento do target. Devido a erros de cálculo do próprio rastreamento de movimento ou da funcionalidade AR, é difícil garantir que o target permaneça completamente imóvel. Neste caso, o nó raiz do conteúdo deve seguir o movimento do target, o que pode afetar comportamentos do sistema (como a física) no Unity.

  • Nos modos centrais FirstTarget ou SpecificTarget, se o target for o objeto selecionado como centro, ele pode ser movido livremente.

    Geralmente o modo FirstTarget é mais usado, garantindo que o primeiro objeto rastreado na cena não seja controlado pela session. Se não houver necessidade de mover o target, ele permanece fixo, independentemente do movimento do objeto correspondente no cenário real.

  • Nos modos centrais FirstTarget ou SpecificTarget, se o target não for o objeto selecionado como centro, e no modo central Camera, o target não pode ser movido livremente.

    Ao rastrear múltiplos objetos simultaneamente, mesmo que estejam fixos no ambiente real, devido a erros de cálculo, apenas um target pode estar livre do controle da session por vez. Dependendo da configuração, o movimento dos demais targets não é garantido - mesmo sem movimento real, pode haver movimento mínimo na cena. É importante considerar esse comportamento com múltiplos objetos e ajustar a estratégia de conteúdo adequadamente.

Para detalhes sobre modos centrais e movimento de objetos na cena, consulte: Modo central.

Estado do target

O estado do target reflete sua situação de identificação e rastreamento na session atual. Estados comuns incluem:

  • Rastreado (Tracked): target identificado e rastreado com sucesso. Conteúdo virtual pode ser sobreposto, aderindo ao objeto do mundo real.
  • Não rastreado (Not Tracked): target não identificado ou rastreado atualmente. Se conteúdo virtual for sobreposto, não aderirá ao objeto real.

Alterações de estado podem ser respondidas através destes eventos:

  • TargetFound: disparado quando o target é identificado e rastreado com sucesso.
  • TargetLost: disparado quando o target perde o estado de rastreamento.

Ciclo de vida do target

Em cenas AR do Unity, targets são geralmente gerenciados por componentes frame filter correspondentes. O frame filter processa dados de imagem do frame source, identificando e rastreando targets. O ciclo de vida do frame filter depende da session. Embora implementações de diferentes funcionalidades AR possam variar, geralmente ao iniciar a session, targets são carregados e passam a ser controlados por ela. Ao parar a session, targets são descarregados e permanecem no lugar até serem usados por uma próxima session ou removidos manualmente.

Próximos passos

Tópicos relacionados