Criar conteúdo 3D alinhado com precisão ao cenário real
Este documento apresentará como colocar objetos virtuais com precisão em determinadas posições no espaço real e alinhá - los com precisão ao espaço real em uma experiência AR.
Antes de começar
- Consulte o documento A minha biblioteca de localização já está pronta para uso? para confirmar que a biblioteca de localização foi criada corretamente e que o Mega Block foi adicionado.
- Adicione um alvo de rastreamento Mega na cena.
- Prepare os ativos 3D que deseja utilizar no seu projeto Unity.
Nota
O seguinte conteúdo e ferramentas aplicam-se apenas ao processo de desenvolvimento de aplicações Unity utilizando o EasyAR Mega.
Se estiver a desenvolver um mini-programa, consulte Criar e carregar anotações utilizando o editor Unity (Desenvolvimento de mini-programas).
Se não estiver a desenvolver uma aplicação Unity, mas desejar visualizar os resultados do mapeamento Mega, consulte Visualizar a malha 3D texturizada no guia de utilização do Mega.
Se não estiver a desenvolver uma aplicação Unity, mas necessitar de simular a execução para verificar o efeito da localização, consulte Pré-visualização do efeito de simulação de execução no guia de utilização do Mega.
Este artigo requer que os seguintes pacotes Unity já tenham sido importados para o projeto:
com.easyar.sensecom.easyar.mega
Block dados de cena real
No desenvolvimento do Mega, podem ser usados vários dados de cena real para auxiliar a colocar conteúdo 3D:
modelo de malha block

panorama (com oclusão de modelo espacial)

Nota
Alguns dados não suportam panorama.
LCC 3D gaussian splatting

Nota
Os dados de LCC 3D gaussian splatting só estão disponíveis no cenário de uso após a coleta feita com o dispositivo do domínio e a conclusão do mapeamento.
Habilitar ferramenta de editor
Primeiro é necessário adicionar um alvo de rastreamento Mega no editor, em seguida selecione o alvo de rastreamento e clique no botão Create Editor Tool.

Dica
Se o aplicativo precisar criar o alvo de rastreamento via script em vez de criá-lo no editor, após posicioná-lo no editor, você pode registrar o alvo de rastreamento e/ou seus objetos filhos. Em tempo de execução, configure o alvo de rastreamento via script e monte os objetos filhos sob o alvo de rastreamento.
Verifique as informações do serviço e conecte-se a ele.

Importante
Antes de conectar, é necessário verificar as permissões da API Key.
- Se o Type do serviço for
Block, é necessário garantir que a API Key usada tenha permissão para acessar o serviçoMega Blocke o serviçoSpatialMap. - Se o Type do serviço for
Landmark, é necessário garantir que a API Key tenha permissão para acessar o serviçoMega Landmark.

Se as permissões forem insuficientes, você verá uma mensagem de erro informando que a validação da conexão com o serviço falhou.

Se a fonte de dados do target estiver corretamente configurada, após conectar-se normalmente ao serviço, você poderá ver a hora da última atualização dos dados e a interface de controle dos dados do editor de block.

Dica
Se a fonte de dados do target estiver em branco, após conectar-se normalmente ao serviço, você verá a lista de dados de block do serviço. Após selecionar o block que deseja usar, você também poderá acessar a interface de controle dos dados do editor de block, e a fonte de dados do target será preenchida automaticamente.

Os dados da ferramenta do editor são armazenados sob o nó EasyAR.Mega.EditorTool. Excluir este nó equivale a excluir os dados da ferramenta do editor.

Cuidado
Não modifique diretamente o conteúdo do nó EasyAR.Mega.EditorTool, especialmente não modifique o Transform deste nó, pois isso pode fazer com que a ferramenta do editor não funcione corretamente ou cause erros na posição de exibição do conteúdo durante o rastreamento.
Carregar modelo de block
Clique na primeira caixa de seleção sob os dados de block, isso iniciará o processo de carregamento dos dados do editor de block. Após o carregamento, você pode ver a mesh do block atual na janela Scene.

Dica
- A mesh de block está alinhada com o espaço-alvo do rastreamento de block, você pode posicionar conteúdo 3D diretamente no modelo.
- A mesh de block alterna LOD de acordo com a posição da câmera, é necessário manter a conexão com a internet durante o uso para evitar falha na alternância de LOD.
- A mesh de block é armazenada sob o nó da ferramenta, existe apenas no modo editor e não será empacotada no aplicativo final.
Montar conteúdo 3D sob o nó block
Após carregar o modelo block, monte o conteúdo 3D sob o nó Block na cena, como seu nó filho.

Cuidado
- Os objetos 3D não podem ser posicionados sob o nó
EasyAR.Mega.EditorTool. Esse nó é destinado apenas às ferramentas do editor e, em alguns casos, será excluído ou reconstruído automaticamente.
Importante
- Os objetos 3D devem ser posicionados sob o nó block para garantir que a posição de renderização do conteúdo virtual seja correta em tempo de execução.
Posicionamento preciso de conteúdo 3D
Você pode posicionar o conteúdo virtual com precisão no espaço real seguindo as etapas abaixo.
Posicionar de acordo com o modelo de grade de blocos
No cenário, ajuste a posição e a rotação do conteúdo 3D em relação ao block mesh, ajustando - o para a posição e direção desejadas.
Dica
- Após o editor entrar no modo play, o block mesh ainda está disponível, mas não alternará o LOD de acordo com a posição da câmera.
- O block mesh é armazenado no nó da ferramenta e existe apenas no modo do editor, não sendo empacotado no aplicativo final.
[Opcional] Colocação com base em panorama
Clique na caixa de seleção Panorama Preview Marker para exibir os marcadores de panorama.

Nota
- Alguns dados não suportam panorama.
Clique em qualquer marcador de panorama para posicionar o conteúdo nessa localização no modo panorama. Você pode alternar entre diferentes panoramas clicando em diferentes marcadores de panorama para verificar se a posição do conteúdo 3D está correta em todas as perspectivas.

Dica
- Ao usar marcadores de panorama para posicionar conteúdo, a oclusão baseada em modelo espacial de malha (mesh) ainda é efetiva.
- Após entrar no modo de reprodução (play) no editor, esta função permanece disponível, mas a precisão da oclusão baseada em modelo espacial de malha pode ser afetada se a alternância de LOD estiver desativada.
- Os marcadores de panorama e os dados de panorama são armazenados no nó da ferramenta, existem apenas no modo editor e não são incluídos no aplicativo final.
[Opcional] Posicionamento com base nas Splash de Gauss 3D LCC
Nota
Este trecho de conteúdo se aplica ao cenário de uso após a coleta com dispositivos LCC e a conclusão da construção do mapa. Os resultados da construção do mapa com outros dispositivos não contêm dados de LCC 3DGS.
Se você usou o recurso de Splash de Gauss 3D LCC (LCC do LCC), pode ajustar a posição do modelo com base no 3DGS. Para o uso dos dados LCC, consulte Carregar dados LCC e alinhar com a Malha.
Impacto dos defeitos dos dados do cenário real na colocação de conteúdo
Se o modelo do Bloco carregado não estiver horizontal, o que fazer?
No painel Hierarchy, selecione o nó do bloco que precisa ser ajustado. No painel Inspector, modifique a Rotação até que a orientação do modelo pareça correta no editor do Unity.
A Transform do nó do bloco no sistema de coordenadas mundial não afeta o sistema de coordenadas local do bloco e, portanto, não afeta o resultado da renderização do conteúdo 3D que é um nó filho do bloco. Sua Transform é irrelevante para o efeito final de exibição.
Cuidado
Não modifique a Transform do EasyAR.Mega.EditorTool no nó do bloco, caso contrário, pode causar problemas no funcionamento da ferramenta do editor ou na exibição do conteúdo na posição incorreta durante o rastreamento.
O que fazer se o modelo do Bloco carregado tiver partes quebradas ou faltantes?
Durante o processo de reconstrução 3D, se for afetado pela cobertura incompleta da perspectiva de coleta, partes quebradas ou faltantes podem aparecer no modelo denso gerado.

Quando se depara com um modelo incompleto, se a precisão do alinhamento do conteúdo 3D das partes quebradas/faltantes não for muito alta, é possível colocar o conteúdo 3D clicando em Marcações panorâmicas e comparando com o Panorama. Em seguida, é possível verificar o efeito clicando em diferentes posições de Marcações panorâmicas próximas.

Se a precisão do alinhamento do conteúdo 3D das partes quebradas/faltantes for muito alta, é necessário fazer a complementação ou atualização do mapa por meio da Atualização incremental ou Atualização total sem perda. Geralmente, essa área significa que não foi coberta durante o processo de coleta de imagens, e o efeito de localização do Mega nessa área será afetado. Apenas alinhar o conteúdo 3D no editor não é suficiente.
Próximos passos
- Verifique ainda mais a precisão do posicionamento simulando a execução com a ferramenta de verificação de sessão.
- Adicione occlusão ambiental precisa ao cenário para aumentar a sensação de realidade do AR.





