Table of Contents

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

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. Posicionando a geometria de oclusão

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

Ajuste fino da oclusão 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. Ajuste fino da oclusão com base na imagem panorâmica

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.

Antes do recorte

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

Após o recorte

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

Importando o modelo de oclusão

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.

Modelo de oclusão alinhado

Atribuindo material de oclusão ao modelo

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

Modelo de oclusão com material alterado

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.

Tópicos relacionados