Table of Contents

Adicionar alvo de rastreamento Mega

Este artigo apresenta como adicionar e configurar os alvos de rastreamento do Mega.

Antes de começar

Nota

O conteúdo e as ferramentas a seguir se aplicam apenas ao processo de desenvolvimento de aplicativos Unity usando EasyAR Mega.

Se você estiver desenvolvendo um miniaplicativo, consulte criar e enviar anotações usando o Unity Editor (desenvolvimento de miniaplicativos).

Se você não estiver desenvolvendo um aplicativo Unity, mas quiser visualizar o resultado do mapeamento Mega, consulte visualizar malha 3D da cena real no guia de uso do Mega.

Se você não estiver desenvolvendo um aplicativo Unity, mas precisar simular a execução para ver o efeito de localização, consulte prévia do efeito de execução simulada no guia de uso do Mega.

Este conteúdo exige que os seguintes pacotes Unity já tenham sido importados no projeto:

  • com.easyar.sense

Alvos de rastreamento do Mega

O alvo de rastreamento do Mega é um objeto vazio que contém o componente MegaBlockController. Ele representa um block no Unity.

alt text

Nota

Quando o pacote com.easyar.mega não foi importado, os recursos de editor do block não podem ser usados, mas isso não afeta o efeito de rastreamento e os recursos em runtime.

Se o recurso Mega não tiver sido ativado corretamente na configuração, ele não poderá ser usado.

alt text

Criar alvo de rastreamento

No espaço vazio da visualização Hierarchy, clique com o botão direito e use o menu EasyAR Sense > Mega > Target : Mega Block para criar um alvo de rastreamento Mega.

alt text

Em scripts, você pode usar ARSessionFactory.CreateController para criar.

ARSessionFactory.CreateController<MegaBlockController>();

Configurar alvo de rastreamento

Configurar a origem dos dados do target

O alvo de rastreamento só pode ser reconhecido e rastreado depois que sua origem é configurada corretamente.

Na visualização Hierarchy, selecione o nó do block e preencha o ID e o Name do block.

Em scripts, você pode modificar, antes de MonoBehaviour.Start() do componente, Source para configurar a origem do block.

block.Source = new MegaBlockController.BlockInfoSourceData(id, name);

Onde:

  • block id é o identificador único do block e deve ser preenchido.
  • block name é o nome do block. Pode ser preenchido livremente conforme a necessidade; em geral, recomenda-se preencher o nome real do block para facilitar a identificação.
Dica

block id e name podem ser obtidos na biblioteca de localização correspondente no Centro de Desenvolvimento EasyAR.

Se não houver dados de block na biblioteca de localização, será necessário adicionar o Block necessário à biblioteca de localização e verificar novamente se a biblioteca de localização em nuvem é válida.

Configurar o rastreador usado pelo target

O alvo de rastreamento será carregado pelo rastreador configurado e rastreado depois que for localizado corretamente.

Na visualização Hierarchy, selecione o nó do block e depois selecione o Mega Tracker na session.

Em scripts, você pode modificar Tracker para configurar o rastreador do block.

block.Tracker = megaTracker;

Tracker pode ser modificado a qualquer momento em runtime, e o carregamento/descarregamento ocorrerá durante a execução da session. Se Tracker for definido como null, esse target será descarregado do rastreador configurado anteriormente. O carregamento de block é um processo virtual e não falhará.

Nota

Para que o target seja rastreado, há algumas condições essenciais:

  1. O id de MegaBlockController.Source deve ser configurado corretamente antes de MonoBehaviour.Start().
  2. O block correspondente ao id desse Source deve existir na biblioteca de localização.
  3. MegaBlockController.Tracker deve estar configurado para usar a biblioteca de localização correta.

Ciclo de vida do alvo de rastreamento

Um ciclo de vida comum de alvo de rastreamento é o seguinte:

flowchart LR
  sstart((session iniciada))
  sstop([session parada])
  
  start("Target.Start")
  load("Carregar")
  tracking[["Rastreamento contínuo"]]

  sstart --> load --> tracking --> sstop
  start -. "Target.Tracker = tracker" .-> load 

O processo é dividido aproximadamente em várias etapas:

  • Carregamento: o alvo de rastreamento é carregado pelo rastreador configurado. Isso ocorre após Start() do próprio target e após a inicialização da session.
  • Processo de rastreamento: depois que o alvo de rastreamento é localizado, o rastreador continua rastreando a posição e o estado do alvo até que outro alvo seja localizado.
  • Descarregamento: o alvo de rastreamento é descarregado do rastreador, e o rastreador deixa de rastreá-lo. Isso ocorre quando a session para ou quando o target é configurado para não usar rastreador.

Próximos passos

Tópicos relacionados