Table of Contents

Usar EasyAR Mega para oclusión en Unity

La oclusión es una tecnología clave para mejorar la inmersión en la fusión AR de lo virtual y lo real. Este artículo explica cómo lograr efectos de oclusión en Unity mediante EasyAR Mega.

Antes de comenzar

Métodos de implementación de oclusión

  • Modelado offline: En el sistema de coordenadas de bloque, cree geometría 1:1 que coincida con entidades del mundo real (como paredes, columnas, equipos grandes); u obtenga modelos optimizados mediante recorte y reducción de polígonos del modelo denso del bloque.

  • Alineación en tiempo de ejecución: Durante el tiempo de ejecución, alinee el sistema de coordenadas de bloque con el espacio real mediante localización en la nube y cargue la geometría correspondiente.

  • Reemplazo de materiales: Asigne materiales de oclusión especiales a estas geometrías.

  • Efectos visuales: Cuando la GPU renderiza otros objetos virtuales, los píxeles ocluidos se descartan automáticamente debido a pruebas de profundidad fallidas, haciendo que los objetos virtuales sigan la lógica de oclusión del espacio físico real.

Cómo utilizar geometría como oclusión

Siga estos pasos para agregar geometría de oclusión a la escena y verificar el efecto.

Colocar geometría de oclusión

Use geometría incorporada o personalizada como oclusión, posicionada correctamente en el sistema de coordenadas de bloque según el modelo denso de Mega Block. Colocar geometría de oclusión

[Opcional] ajustar la posición de la geometría según panoramas

Ajustar oclusión según panoramas

Asignar material de oclusión a la geometría

Modifique el material de la geometría a un material de oclusión, como SpatialMappingOcculusion incluido en Unity. Ajustar oclusión según panoramas

Simular con datos EIF o ejecutar en dispositivo

Puede ajustar la colocación del modelo de oclusión según los resultados.

Cómo utilizar modelos densos recortados y reducidos como oclusión

Siga estos pasos para exportar, recortar y reducir el modelo denso de Mega Block, e importarlo como oclusión.

Exportar en Mega Blocks

Seleccione exportar en la herramienta Mega Blocks del panel Inspector.

Seleccionar exportar

Modificar opciones de exportación

Ajuste las opciones al exportar.

Opciones de exportación

  1. Nivel de LOD: niveles más bajos tienen menos polígonos (nivel 2 máxima precisión, nivel 0/1 menor precisión).
  2. Opción de exportar texturas: no se necesitan ya que solo requerimos malla blanca para oclusión.

Recortar y reducir el modelo

Recorte y reduzca el modelo exportado en software de creación de contenido (ej. Blender) usando modificadores como "Decimate", y guárdelo como Glb.

Consejo

Ejemplo usando el Decimate Modifier de Blender.

Antes del recorte

Después de recortar y reducir:

Después del recorte

Importar el modelo de oclusión en Unity y colocarlo bajo el nodo Block

Importar modelo de oclusión

Modificar el Transform del modelo

Ajuste el Transform para que Position y Rotation sean 0.

La malla de oclusión debe alinearse con el modelo denso, pues el recorte no alteró el sistema de coordenadas del bloque.

Modelo de oclusión alineado

Asignar material de oclusión al modelo

Cambie el material del modelo a material de oclusión, como SpatialMappingOcculusion de Unity.

Cambiar material del modelo de oclusión

Simular con datos EIF o ejecutar en dispositivo

Verifique los efectos mediante simulación EIF o ejecución en dispositivo.

Expectativas de efecto de oclusión

La efectividad de la oclusión depende principalmente de:

  • Precisión de tracking y localización
  • Exactitud en la colocación del modelo
  • Precisión del modelo (si no es geometría simple)

Es normal observar desalineaciones de varios centímetros durante deriva de tracking.

Modelos de oclusión con exceso de polígonos afectan el rendimiento. Se recomienda:

  • Usarlos solo en áreas necesarias
  • Preferir geometrías simples

Temas relacionados