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
- Complete Inicio rápido con ejemplos de Unity de EasyAR Mega.
- Ser capaz de crear contenido alineado con entornos reales.
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.

[Opcional] ajustar la posición de la geometría 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.

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.

Modificar opciones de exportación
Ajuste las opciones al exportar.

- Nivel de LOD: niveles más bajos tienen menos polígonos (nivel 2 máxima precisión, nivel 0/1 menor precisión).
- 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.

Después de recortar y reducir:

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

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.

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

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