Table of Contents

Adicionar alvo de rastreamento do Mega Go

Este artigo descreve como adicionar e configurar o alvo de rastreamento do Mega Go.

Antes de começar

Nota

O conteúdo e as ferramentas a seguir são apenas aplicáveis ao processo de desenvolvimento de aplicativos Unity usando o EasyAR Mega Go. É necessário ter a versão do plug-in >= 4003.1.

O Mega Go não suporta o desenvolvimento de mini-programas.

O conteúdo deste artigo requer que os seguintes pacotes do Unity tenham sido importados no projeto:

  • com.easyar.sense

Alvo de rastreamento do Mega Go

O alvo de rastreamento do Mega Go é um objeto vazio que contém o componente MegaGoBlockController, que representa um bloco no Unity.

alt text

Nota

Quando o pacote com.easyar.mega não for importado, as funções do editor do bloco não estarão disponíveis, mas isso não afetará o efeito e as funções de rastreamento em tempo de execução.

Criar alvo de rastreamento

Clique com o botão direito do mouse em um local vazio na visualização Hierarchy e, através do menu EasyAR Sense > Mega > Target : Mega Go Block, você pode criar o alvo de rastreamento do Mega.

alt text

No script, você pode usar ARSessionFactory.CreateController para criar.

ARSessionFactory.CreateController<MegaGoBlockController>();

Configurar o alvo de rastreamento

Antes de usar o alvo, você precisa configurar sua fonte de dados e o rastreador.

Configurar a fonte de dados do alvo

O alvo de rastreamento só pode ser reconhecido e rastreado depois de ter sua fonte configurada corretamente.

Na visualização Hierarchy, você pode selecionar o nó do bloco e preencher o Tipo de Caminho e o Caminho do bloco.

No script, você pode modificar Source antes de MonoBehaviour.Start() para definir a fonte do bloco.

block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);

Onde

  • PathType é o tipo de caminho do arquivo emg, que pode ser um caminho absoluto (Absolute) ou o caminho dos StreamingAssets do projeto (StreamingAssets).
  • Path é o caminho do arquivo emg. Quando PathType for Absolute, é o caminho absoluto no sistema de arquivos; quando PathType for StreamingAssets, é o caminho relativo dentro da pasta StreamingAssets do projeto.
Dica

O arquivo emg deve ser baixado na página do Mega Go do Centro de Desenvolvimento EasyAR.

Dica

Como o arquivo emg pode ser grande, se o tamanho do pacote do aplicativo for muito grande, é recomendável usar apenas o caminho dos StreamingAssets na fase de teste. Ao publicar oficialmente, use o caminho absoluto e coloque o arquivo emg em um caminho do sistema de arquivos acessível pelo aplicativo por meio de pacotes de recursos ou outros meios.

Configurar o rastreador usado pelo alvo

O alvo de rastreamento será carregado e rastreado pelo rastreador configurado.

Importante

O rastreador do Mega Go só pode rastrear um bloco por vez. Se vários blocos forem configurados para o mesmo rastreador ao mesmo tempo, apenas o último bloco carregado será usado.

Na visualização Hierarchy, você pode selecionar o nó do bloco e, em seguida, selecionar o Mega Go Tracker na sessão.

No script, você pode modificar Tracker para definir o rastreador do bloco.

block.Tracker = megaGoTracker;

Tracker pode ser modificado a qualquer momento em tempo de execução. O carregamento/descarregamento ocorrerá enquanto a sessão estiver em execução. Se Tracker for definido como null, esse alvo será descarregado do rastreador anteriormente configurado.

Nota

Existem algumas condições cruciais para que o alvo seja rastreado:

  1. O bloco correspondente a Source deve estar em estado disponível (os dados oficiais estão sempre disponíveis offline, e os dados de teste só estão disponíveis se os dados existirem no serviço).
  2. O arquivo de MegaGoBlockController.Source deve ser carregado corretamente.
  3. Não deve haver carregamento de arquivos correspondentes a outros blocos depois do carregamento do arquivo.

Ciclo de vida do alvo de rastreamento

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

flowchart LR
  sstart((início da sessão))
  sstop([parada da sessão])
  
  start("Target.Start")
  load("carregamento")
  tracking[["rastreamento contínuo"]]

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

O fluxo é dividido em várias etapas:

  • Carregamento: O alvo de rastreamento é carregado pelo rastreador configurado. Isso ocorrerá depois do Start() do alvo e do início da sessão.
  • Processo de rastreamento: Depois que o alvo de rastreamento for localizado, o rastreador continuará a rastrear a posição e o estado do alvo até que o alvo seja descarregado ou outro alvo seja carregado.
  • Descarregamento: O alvo de rastreamento é descarregado do rastreador, e o rastreador não rastreará mais o alvo. Isso ocorrerá quando a sessão for interrompida ou o alvo for configurado para não usar o rastreador.

Próximas etapas

Tópicos relacionados