Implementando oclusão com EasyAR Mega no Unity
A oclusão é uma tecnologia fundamental para aprimorar a imersão da fusão entre realidade virtual e aumentada. Este artigo descreverá como implementar o efeito de oclusão no Unity usando o EasyAR Mega.
Antes de começar
- Complete o Guia de início rápido com amostras do EasyAR Mega Unity.
- Seja capaz de Criar conteúdo alinhado com o mundo real.
Métodos de implementação de oclusão
Modelagem offline: No sistema de coordenadas do Bloco, crie geometrias correspondentes 1:1 para entidades do mundo real (como paredes, pilares, equipamentos grandes); ou obtenha um modelo otimizado através do recorte e redução de polígonos do modelo denso do Bloco.
Alinhamento em tempo de execução: Durante a execução, alinhe o sistema de coordenadas do Bloco com o espaço real por meio de localização em nuvem e carregue a geometria correspondente.
Substituição de material: Atribua materiais especiais de oclusão a essas geometrias.
Efeito visual: Quando a GPU renderiza outros objetos virtuais, os pixels das partes ocluídas são descartados automaticamente devido à falha no teste de profundidade, fazendo com que os objetos virtuais sigam a lógica de oclusão do espaço físico real.
Usando geometrias para oclusão
Siga as etapas abaixo para adicionar geometrias de oclusão à cena e verificar o efeito.
Posicionando a geometria de oclusão
Com base no modelo denso do Mega Bloco, use geometrias internas ou crie suas próprias geometrias para oclusão e posicione-as no local correto no sistema de coordenadas do Bloco.

[Opcional] Ajuste fino da posição da geometria com base na imagem panorâmica

Atribuindo material de oclusão à geometria
Altere o material da geometria para um material de oclusão, como o SpatialMappingOcculusion integrado do Unity.

Simulação com dados EIF ou execução no dispositivo
Ajuste o posicionamento do modelo de oclusão com base no efeito de execução.
Usando o modelo denso recortado e com polígonos reduzidos para oclusão
Siga as etapas abaixo para recortar e reduzir os polígonos do modelo denso do Mega Bloco exportado, obtendo um modelo branco para oclusão, e importe-o para a cena como oclusão.
Exportando em Mega Blocks
Clique no botão Export à direita de Mesh para exportar o modelo denso.

Modificando as opções de exportação
Preste atenção em modificar as opções de exportação durante a exportação.
Na figura, 1 é o nível de LOD; quanto menor o nível, mais simples o modelo, com menos polígonos. Para a maior precisão, selecione o nível mais alto.
Na figura, 2 é a opção de exportação de textura. Aqui, apenas o modelo branco é necessário para oclusão, não sendo necessárias texturas.
Recortando e reduzindo polígonos do modelo
Recorte e reduza os polígonos do modelo exportado em um software de criação de conteúdo digital (por exemplo, Blender) e salve-o como Glb.
Dica
O exemplo usa o Decimate Modifier do Blender.

Após recorte e redução de polígonos:

Importando o modelo de oclusão para o Unity e anexando-o abaixo do nó do Bloco na cena

Modificando o Transform do modelo
Modifique o Transform do modelo para que Position e Rotation sejam todos 0.
Neste ponto, o modelo branco para oclusão deve se alinhar perfeitamente com o modelo denso, porque as operações de recorte e redução de polígonos no software de criação de conteúdo digital não alteraram a definição do sistema de coordenadas do Bloco.

Atribuindo material de oclusão ao modelo
Altere o material do modelo para um material de oclusão, como o SpatialMappingOcculusion integrado do Unity.

Simulação com dados EIF ou execução no dispositivo
Execute uma simulação com dados EIF ou execute no dispositivo para ver o efeito.
Expectativas do efeito de oclusão
O efeito da oclusão é influenciado principalmente pelos seguintes pontos:
- A precisão do rastreamento de localização em si
- A precisão do posicionamento do modelo
- A precisão do modelo em si (se não for uma geometria simples)
É normal observar um desalinhamento de alguns centímetros durante a deriva da localização.
Modelos de oclusão com muitos polígonos podem afetar o desempenho. É recomendado usá-los apenas em áreas necessárias e, sempre que possível, usar geometrias simples para oclusão.


