Adicionar alvos de rastreamento Mega
Este artigo apresenta como adicionar alvos de rastreamento Mega e como carregar modelos de ambiente no editor Unity para auxiliar no desenvolvimento.
Antes de começar
- Verifique meu localizador está pronto para uso?
- Importe a versão mais recente do plug-in EasyAR para habilitar recursos Mega
- Entenda os conceitos básicos e uso de alvos de rastreamento em Unity AR
Nota
O conteúdo e ferramentas abaixo aplicam-se apenas ao desenvolvimento de aplicativos Unity usando EasyAR Mega.
Se estiver desenvolvendo mini-programas, consulte criar e fazer upload de anotações usando o editor Unity (desenvolvimento de mini-programas).
Se desejar apenas visualizar resultados de mapeamento Mega, consulte visualizar malha 3D texturizada no guia de uso Mega.
Se precisar simular para verificar efeitos de localização sem um projeto Unity aplicável, consulte visualização de efeitos de simulação no guia de uso Mega.
Alvos de rastreamento Mega
Alvos de rastreamento Mega são objetos vazios contendo o componente BlockController, chamados block. Na cena, blocks são organizados sob um objeto vazio contendo o componente BlockRootController, nomeado por padrão como MegaBlocks. Todos os objetos block sob MegaBlocks representam alvos de rastreamento no localizador atual.

O desenvolvimento frequentemente requer modelos block para auxiliar na visualização e posicionamento de conteúdo 3D. Este modelo pode ser carregado na cena usando ferramentas.

A posição do modelo está alinhada com o alvo de rastreamento block, permitindo posicionar conteúdo 3D diretamente sobre ele.
Dica
Modelos são armazenados sob nós de ferramentas, existindo apenas no modo editor, não sendo incluídos no aplicativo final.
Adicionar alvos de rastreamento no editor
Este método requer configurar BlockHolder.BlockRootSource como External (padrão) ou Mixed.

Adicionar ferramenta Block Viewer for Unity Developer
Clique com o botão direito em um espaço vazio na vista Hierarchy, e através do menu EasyAR Mega > Tool > Block Viewer for Unity Developer (Edit Mode) adicione a ferramenta Block Viewer para desenvolvimento Unity.

Importante
Ao desenvolver aplicativos Mega com Unity, use obrigatoriamente a ferramenta Block Viewer for Unity Developer. Outras ferramentas no menu EasyAR Mega > Tool não são adequadas para desenvolvimento de aplicativos Unity.
Embora Annotation Tool tenha funcionalidades similares, parte delas será removida em versões futuras, portanto não é recomendada.
Funcionalidades de anotação do Annotation Tool (apenas as anotações) serão migradas para o EasyAR Developer Center, carregamento de malha block e posicionamento de modelos não são afetados.
Após adicionar a ferramenta, um nó EasyAR.Mega.BlockViewer (Dev) e um nó MegaBlocks aparecerão na hierarquia da cena.

Gerar alvos de rastreamento — block
Selecione o nó EasyAR.Mega.BlockViewer (Dev), no painel Inspector preencha as informações da conta EasyAR e faça login;

Clique no botão à direita de Mega Cloud Service;

Selecione o Serviço de localização Mega desejado, clique em OK.

Após selecionar o serviço, a lista de blocks no localizador atual será exibida sob o nó MegaBlocks e no painel da ferramenta.

Neste ponto, alvos de rastreamento block foram gerados. Cada subnó iniciando com Block_ sob MegaBlocks representa um alvo de rastreamento block.
Carregar modelo block
Clique em Carregar block selecionado:

Após carregar, o block será exibido na janela Scene.

Adicionar alvos de rastreamento automaticamente ao localizar com sucesso
Este método requer configurar BlockHolder.BlockRootSource como Internal ou Mixed.
Nestes modos, ao localizar um novo block não presente sob BlockHolder.BlockRoot, ele será automaticamente adicionado. Se BlockHolder.BlockRoot não existir, será criado automaticamente.
Dica
Ao adicionar automaticamente durante localização bem-sucedida, modelos block não podem ser carregados, apenas alvos de rastreamento block são adicionados.
Adicionar alvos de rastreamento via script
Este método requer configurar BlockHolder.BlockRootSource como Internal ou Mixed. Neste caso, se BlockHolder.BlockRoot não existir, será criado automaticamente. Alternativamente, configure BlockHolder.BlockRootSource como External e especifique manualmente o objeto BlockHolder.BlockRoot no editor.
Nota
Se um block não estiver no localizador, mesmo adicionado via script, não poderá ser localizado.
Use o método BlockHolder.Hold para adicionar um novo block sob BlockHolder.BlockRoot. Isso é comum ao usar arquivos de anotação ema, onde scripts adicionam blocks após ler informações de anotação.
Por exemplo, este trecho demonstra como adicionar blocks usando informações de arquivo de anotação:
foreach (var item in ema.blocks)
{
var info = new BlockController.BlockInfo { ID = item.id.ToString(), Timestamp = item.timestamp };
if (!item.keepTransform && item.location.OnSome)
{
blockHolder.Hold(info, item.location.Value);
}
else
{
blockHolder.Hold(info, item.transform.ToUnity());
}
}
Dica
Ao adicionar alvos de rastreamento via script durante runtime, modelos block não podem ser carregados, apenas alvos de rastreamento block são adicionados.