Aportar normales reales al 3DGS con una malla proxy
Descripción general
ProxyMesh es una función de la edición Pro de LCC4Unreal. Aporta información real de profundidad y normales mediante una malla proxy colocada en la escena y es el único modo de normales con sombreado real de la forma. Se aplica a todos los formatos del pipeline LCC2 (.lcc2 / .sog / .spz / .ply). Para las licencias, consultar Ediciones y licencias.
Nota: ProxyMesh requiere una licencia válida. Sin ella, recurre automáticamente al modo Fixed.
Qué es una malla proxy
Los datos 3DGS no tienen normales de superficie propias y no escriben nada en el GBuffer, por lo que no pueden participar en los cálculos de iluminación habituales. La función de la malla proxy es aportar una geometría cuya forma coincida con el 3DGS. El plugin toma de ella la profundidad, las normales y las propiedades de material del GBuffer y las entrega a la iluminación y el posprocesado del motor; la malla en sí nunca aparece en la imagen final.
Datos 3DGS Malla proxy
(color, opacidad) (profundidad, normales, propiedades de material)
│ │
│ ▼
│ Escritas en el GBuffer
│ │
│ ┌───────────────┴───────────────┐
│ ▼ ▼
│ Iluminación del motor Posprocesado que
│ (direccional, puntual, sombras) depende del GBuffer
│ │ (reflexión, refracción, etc.)
│ └───────────────┬───────────────┘
▼ ▼
Origen del color ─────────▶ Composición de la imagen final
│
▼
La malla proxy en sí es invisible
En otras palabras: el color de la imagen procede del 3DGS, y la respuesta a la iluminación procede de la malla proxy.
El origen de la malla no está restringido. El plugin solo lee su resultado de renderizado y no importa cómo se haya producido. Fuentes habituales:
| Fuente | Descripción |
|---|---|
| Malla aproximada generada junto con el 3DGS | Malla producida por el flujo de trabajo de captura; la coincidencia de forma más ajustada y la primera opción |
| Malla convertida a partir del 3DGS | Malla reconstruida a partir del 3DGS con una herramienta de terceros |
| Malla creada a mano | Modelada según la forma del 3DGS en software DCC, adecuada para escenas que requieren un control preciso |
| Ensamblada a partir de primitivas básicas | Volúmenes aproximados construidos con Cube, Plane y otras mallas básicas, adecuados para formas regulares como edificios y suelo |
El único requisito es que la malla coincida espacialmente con la forma del 3DGS. Cuanto más ajustada sea la coincidencia, más realista será la iluminación. Cuando la desviación es demasiado grande, la dirección de la iluminación deja de corresponder con la forma visible en la imagen.
La malla no necesita alta precisión: una geometría low-poly simplificada es suficiente siempre que los volúmenes y la orientación sean correctos.
Qué aporta el material
Las propiedades de material de la malla proxy se leen junto con el GBuffer, por lo que determinan cómo responde a la iluminación la superficie del 3DGS.
Para una iluminación básica, basta con un material de whitebox y no se necesitan texturas. Para los efectos que dependen de las propiedades de material, usar el material PBR correspondiente en la ubicación adecuada de la malla, por ejemplo:
- Reflexión y refracción del agua: usar un material de agua con valores adecuados de metalicidad y rugosidad en la zona del agua
- Reflejos metálicos: asignar valores adecuados de Metallic y Roughness en las estructuras metálicas
- Superficies rugosas: usar un Roughness alto para suprimir los reflejos que no deben aparecer
Cuando las propiedades de material no se corresponden con la forma real, el resultado de la iluminación no coincide con el aspecto del 3DGS en la imagen, por ejemplo reflejos especulares en una pared que debería ser rugosa.
Configuración rápida
Paso 1: colocar el Actor ProxyMesh
- Añadir un Actor
ALCC2ProxyMeshdesde el panel del plugin LCC4Unreal en el editor - Asignar un StaticMesh a su
StaticMeshComponent(de cualquier fuente, consultar la sección anterior) - Ajustar la posición del ProxyMesh para que se superponga espacialmente al contenido 3DGS

Colocar un Actor ALCC2ProxyMesh en la escena
Paso 2: activar el modo ProxyMesh
- Seleccionar el Actor del pipeline LCC2 (
ALCC2Actor/ASogActor/ASpzActor/APlyActor) - Buscar LightMode en el panel Details y cambiarlo a Lit
- Buscar la categoría Lighting de LCC2Component en el panel Details
- Establecer
NormalModeenProxyMesh

Activar Lit y establecer NormalMode en ProxyMesh
Paso 3: verificar
- Cambiar la dirección de la iluminación de la escena y observar si el 3DGS produce autosombreado
- Confirmar que la malla proxy queda oculta en la imagen final

Resultado de la iluminación después de que ProxyMesh aporte normales reales
Ejemplo de uso de ProxyMesh

El proceso de configuración de ProxyMesh y el resultado de la iluminación
ALCC2ProxyMesh
El Actor proxy, emparejado con los Actors del pipeline LCC2 cuando NormalMode = ProxyMesh.
Propiedades
| Propiedad | Descripción |
|---|---|
| StaticMeshComponent | La malla estática que aporta la profundidad y las normales de la escena |
Transform predeterminado
- Escala (100, 100, 100): la unidad de la malla es el metro por defecto, mientras que UE usa centímetros
- Rotación (0, 180, 0): compensa que el pipeline de generación de la malla tiene el eje frontal opuesto al de UE
Comportamiento
- Activa automáticamente el renderizado CustomDepth cuando el StaticMesh es válido
- Registra una advertencia y desactiva CustomDepth cuando el StaticMesh está vacío
Comprobación de licencia
El modo ProxyMesh requiere una licencia de la edición Pro; consultar Ediciones y licencias. Sin licencia, recurre automáticamente al modo Fixed, y el valor almacenado de la propiedad no se modifica.
Cambio en tiempo de ejecución
NormalMode se puede cambiar en tiempo de ejecución desde Blueprint o C++ y surte efecto en el fotograma siguiente.
Uso en Blueprint
Crear un ProxyMesh
SpawnActor->Class: ALCC2ProxyMesh
→ Establecer el StaticMesh de StaticMeshComponent
→ Ajustar la posición para alinearla con el contenido 3DGS
Cambiar de modo
LCC2Component->NormalMode = ProxyMesh
Buenas prácticas
- Cobertura de la malla: asegurarse de que la malla proxy cubre la misma zona espacial que el contenido 3DGS.
- Precisión de la malla: basta con una aproximación simplificada de la geometría de la escena, no se necesitan recuentos altos de polígonos.
- Varios Actors: se pueden colocar varios Actors
ALCC2ProxyMeshpara cubrir zonas distintas. - Sin vinculación explícita: no es necesario asociar el ProxyMesh a un Actor concreto, el emparejamiento se produce automáticamente.
- Compatibilidad retroactiva: los proyectos que no usan ProxyMesh se comportan exactamente igual que antes de la actualización, sin coste adicional.
Resolución de problemas
ProxyMesh no surte efecto
- Confirmar que
NormalModeestá establecido enProxyMesh - Confirmar que la licencia es válida
- Asegurarse de que el Actor ProxyMesh tiene asignado un StaticMesh válido
- Confirmar que el ProxyMesh se superpone espacialmente al contenido 3DGS
Advertencia: "has a null StaticMesh"
Asignar un StaticMesh al Actor ALCC2ProxyMesh. La advertencia está limitada por frecuencia y se emite solo una vez por instancia.
El color del whitebox es visible en la imagen final
- Asegurarse de que al menos un LCC2Component está en modo ProxyMesh
- Ajustar
LCC2.ProxyMeshDepthEpsiloncuando la coincidencia de profundidad sea demasiado estricta
El resultado de la iluminación es incorrecto
- Verificar que las normales de la malla proxy son una aproximación razonable de la geometría real de la escena
Las sombras aparecen solo de cerca y se cortan a lo lejos
Es un problema del motor. Seleccionar el Actor ProxyMesh y desactivar y volver a activar Far Shadow en el StaticMeshComponent para restaurar las sombras completas.