Table of Contents

Adicionar target de rastreamento Mega Go

Este artigo descreve como adicionar e configurar um target de rastreamento Mega Go.

Antes de começar

Nota

O conteúdo e as tools a seguir aplicam-se apenas ao processo de desenvolvimento de aplicações Unity usando EasyAR Mega Go. É necessária a versão do plugin >= 4003.1.

Mega Go não oferece suporte ao desenvolvimento de mini program.

O conteúdo deste artigo requer que os seguintes pacotes Unity já tenham sido importados para o projeto:

  • com.easyar.sense

Target de rastreamento Mega Go

O target de rastreamento Mega Go é um empty object que contém o componente MegaGoBlockController. No Unity, ele representa um block.

alt text

Nota

Quando o pacote com.easyar.mega não é importado, as funções de editor do block não ficam disponíveis, mas isso não afeta o efeito nem as funções de rastreamento em runtime.

Criar target de rastreamento

Em uma área vazia da visualização Hierarchy, clique com o botão direito e crie um target de rastreamento Mega pelo menu EasyAR Sense > Mega > Target : Mega Go Block.

alt text

No script, você pode criá-lo usando ARSessionFactory.CreateController.

ARSessionFactory.CreateController<MegaGoBlockController>();

Configurar o target de rastreamento

Antes de usar um target, é necessário configurar sua fonte de dados e seu tracker.

Configurar a fonte de dados do target

Um target de rastreamento só pode ser reconhecido e rastreado depois que sua fonte é configurada corretamente.

Na visualização Hierarchy, selecione o nó block e preencha Path Type e Path do block.

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

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

Onde:

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

O arquivo emg deve ser baixado da página Mega Go no EasyAR Developer Center.

Dica

Como o arquivo emg pode ser grande, se o tamanho do pacote da aplicação for grande demais, recomenda-se usar o caminho StreamingAssets apenas durante a fase de testes. Para a publicação oficial, use um caminho absoluto e coloque o arquivo emg em um caminho do sistema de arquivos acessível pela aplicação por meio de resource package ou outros métodos.

Configurar o tracker usado pelo target

O target de rastreamento será carregado e rastreado pelo tracker configurado.

Importante

O tracker Mega Go só pode rastrear um block por vez. Se vários blocks forem configurados no mesmo tracker ao mesmo tempo, apenas o último block carregado será usado.

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

No script, você pode modificar Tracker para definir o tracker do block.

block.Tracker = megaGoTracker;

Tracker pode ser modificado a qualquer momento em runtime, e o carregamento/descarregamento ocorrerá enquanto a session estiver em execução. Se Tracker for definido como null, este target será descarregado do tracker definido anteriormente.

Nota

Existem algumas condições principais para que um target seja rastreado:

  1. O block correspondente a Source deve estar em estado disponível (dados oficiais estão sempre disponíveis offline, e dados de teste só estão disponíveis quando esses dados existem no service).
  2. O arquivo de MegaGoBlockController.Source deve ser carregado corretamente.
  3. Depois que o arquivo for carregado, nenhum outro arquivo correspondente a outro block deve ser carregado.

Ciclo de vida do target de rastreamento

Um ciclo de vida comum de um target 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 algumas etapas:

  • Carregamento: o target de rastreamento é carregado pelo tracker configurado. Isso ocorre após o próprio Start() do target e após a session ser iniciada.
  • Processo de rastreamento: depois que o target de rastreamento é localizado, o tracker continua rastreando a posição e o estado do target até que o target seja descarregado ou outro target seja carregado.
  • Descarregamento: o target de rastreamento é descarregado do tracker, e o tracker não rastreia mais o target. Isso ocorre quando a session para ou quando o target é configurado para não usar tracker.

Próximas etapas

Tópicos relacionados