Technical_Ledger // SUBSTRATE-MATERIALES-NUEVA-GENERACION-UNREAL // v5.0

Desafiando el G-Buffer Convencional para Materiales de Alta Fidelidad

Substrate redefine el paradigma de sombreado en tiempo real, sustituyendo modelos fijos por una topología modular de slabs y operadores BSDF altamente complejos.

Deep dive técnico sobre Substrate en Unreal Engine. Análisis de BSDF, layering vertical y optimización de G-Buffer para producción de alto nivel.

Cardan VFX Engineering
Supervisor de PipelineCardan VFX Engineering

Resumen Ejecutivo // AEO_Protocol

"Substrate es el nuevo framework de materiales de Unreal Engine que reemplaza el sistema de Shading Models heredado por un enfoque basado en capas físicas reales. Permite la composición de múltiples tipos de superficies (como metal, dieléctricos y dispersión subsuperficial) en un único grafo, garantizando la conservación de energía y una mayor fidelidad visual mediante la manipulación directa de la arquitectura de la luz."

Intención Estratégica: El Fin de la Limitación del Shading Model

En la industria del renderizado en tiempo real, históricamente nos hemos visto limitados por el concepto de 'Shading Model'. Un material era Lit, Unlit, Clear Coat o Subsurface, pero rara vez podía ser una combinación coherente de varios sin recurrir a costosos hacks de shader o pasadas adicionales de composición. Substrate rompe con esta rigidez estructural al introducir una arquitectura donde el material no es una entidad atómica definida por un solo modelo, sino una composición de múltiples 'Slabs' (planchas de propiedades físicas) que interactúan entre sí mediante operadores matemáticos precisos. Esto no solo permite una mayor libertad creativa, sino que alinea el pipeline de Unreal Engine con estándares de offline rendering como Arnold (Standard Surface) o RenderMan (Lama).

Desde la perspectiva de la dirección técnica, la adopción de Substrate representa un cambio fundamental en cómo gestionamos la memoria y el presupuesto de computación del GPU. En el sistema heredado, el G-Buffer tenía una estructura fija, lo que significaba que incluso si un material no utilizaba características de 'Anisotropy' o 'Subsurface', los bits correspondientes en el buffer seguían reservados o desperdiciados. Substrate introduce un G-Buffer dinámico y flexible. La cantidad de datos almacenados por píxel ahora depende directamente de la complejidad del grafo del material. Esto significa que un material simple consume menos recursos que antes, mientras que materiales complejos para héroes o activos cinematográficos pueden escalar su fidelidad a niveles previamente inalcanzables en tiempo real.

La relevancia estratégica de Substrate radica en su capacidad para unificar lenguajes de materiales. En producciones transmedia donde los activos deben pasar de una película pre-renderizada a una experiencia interactiva, la discrepancia entre los materiales de V-Ray/Arnold y Unreal ha sido un cuello de botella constante. Con el modelo BSDF (Bidirectional Scattering Distribution Function) de Substrate, la traducción de parámetros es mucho más directa, permitiendo que los Technical Artists construyan librerías de materiales 'físicamente correctos' que se comportan de manera predecible bajo cualquier condición de iluminación, eliminando las 'soluciones a ojo' que plagan las producciones de bajo nivel.

Technical Illustration {INDEX} for substrate-materiales-nueva-generacion-unreal
Figura {INDEX}: Esquema técnico de referencia en Unreal Engine.

Lógica de Algoritmo: BSDF Blending y Conservación de Energía

El núcleo matemático de Substrate se aleja de la simple interpolación lineal (LERP) de colores para adoptar una mezcla de funciones de distribución de reflectancia bidireccional (BRDF) y funciones de distribución de transmitancia bidireccional (BTDF). Cuando un Technical Artist utiliza un nodo de 'Vertical Layering' en Substrate, el motor no está simplemente poniendo una textura sobre otra; está calculando cómo la luz atraviesa la capa superior (capa de barniz o suciedad), cómo es absorbida según la ley de Beer-Lambert, y cuánta energía llega finalmente a la capa inferior para ser reflejada de vuelta. Este proceso de 'Energy Compensation' asegura que el material nunca emita más luz de la que recibe, un error común en los shaders tradicionales donde las capas especulares adicionales a menudo hacían que el objeto pareciera 'brillar' artificialmente.

La topología de un material en Substrate se construye a través de una jerarquía de operadores. Los operadores principales incluyen 'Substrate Add', 'Substrate Weight', 'Substrate Mix' y 'Substrate Vertical Layer'. Cada uno de estos nodos realiza operaciones de convolución y ponderación sobre los Slabs de entrada. Por ejemplo, el operador 'Vertical Layer' es fundamental para materiales complejos como la pintura de automóviles o la piel humana. En este escenario, la capa superior (Clear Coat) tiene su propio índice de refracción (IOR) y rugosidad, que dicta cuánta luz se refleja especularmente y cuánta se refracta hacia el 'Slab' inferior. La implementación de Substrate utiliza una aproximación de micro-facetas de Smith para modelar estas interacciones, permitiendo que la oclusión de la luz entre capas se maneje de forma automática y físicamente coherente.

Otro aspecto crítico es la gestión de la anisotropía y la rugosidad multiescala. En el sistema anterior, la anisotropía era un 'add-on' costoso y limitado. En Substrate, la distribución de micro-facetas puede ser definida con mayor precisión, permitiendo que las propiedades de estiramiento de los reflejos cambien dinámicamente según la orientación de la fibra o el mecanizado del metal. Además, la integración de 'Mean Free Path' (MFP) para el scattering subsuperficial permite que la luz viaje a través de múltiples capas de materiales translúcidos, simulando de manera realista la profundidad de la piel, la cera o el mármol, donde el color no es solo un atributo de superficie, sino el resultado de la absorción volumétrica dentro de los slabs inferiores.

Desde un punto de vista computacional, Substrate emplea un sistema de 'Tiling' para el renderizado. En lugar de procesar todos los píxeles con la misma lógica de shader pesada, el motor divide la pantalla en tiles y clasifica cada píxel según la complejidad de su material Substrate. Esto permite que el GPU ejecute paths de ejecución optimizados para materiales simples mientras reserva la potencia de cómputo máxima solo para los píxeles que contienen materiales multicapa complejos. Esta técnica de 'Deferred Shading' evolucionada es lo que permite que Substrate mantenga el rendimiento de 60 FPS en hardware de actual generación a pesar de la inmensa carga matemática adicional que conlleva el shading por capas físicas.

Arquitectura de Nodos: El Slab como Unidad Fundamental

En la anatomía de Substrate, el nodo 'Substrate Slab' es la pieza central que sustituye a los pines de entrada tradicionales (Base Color, Metallic, Roughness, etc.). Un Slab representa una única interfaz óptica. Contiene parámetros para 'Diffuse Albedo', 'F0' (reflectancia normal), 'F90' (reflectancia en los bordes), y 'Roughness'. Una de las distinciones más importantes en Substrate es la separación explícita entre la reflexión difusa y la especular mediante el uso de modelos físicos de metales y dieléctricos más rigurosos. Ya no dependemos de un valor booleano (0 o 1) para Metallic; en su lugar, podemos definir el comportamiento cromático de los reflejos basándonos en datos de laboratorio o IOR complejos.

El flujo de trabajo estándar en Substrate comienza con la definición de las propiedades base en un Slab inicial. A partir de ahí, el Technical Artist utiliza nodos de 'Operator' para modificar o extender este Slab. Por ejemplo, para crear un metal oxidado, no se mezcla el color de la oxidación con el del metal. En su lugar, se crea un Slab para el metal y otro Slab para el óxido (que es un material dieléctrico con dispersión difusa alta). Luego, se utiliza un nodo 'Substrate Mix' controlado por una máscara de ruido o textura. Este enfoque garantiza que las propiedades físicas de ambos materiales se mantengan intactas: el metal conservará su comportamiento de reflexión especular coloreada, mientras que el óxido se comportará como un material mate y rugoso, afectando la luz de manera independiente pero coherente dentro del mismo píxel.

Para materiales más avanzados, como fibras de carbono o textiles complejos, Substrate permite el uso de 'Anisotropy Slabs' y 'Sheen Slabs'. El nodo 'Sheen' simula la retrodispersión de la luz en fibras microscópicas, algo esencial para telas como el terciopelo o el satén. Al apilar un Slab de Sheen sobre un Slab base mediante un operador de mezcla, el Technical Artist puede controlar con precisión cómo la luz se 'suaviza' en los ángulos de incidencia rasante, sin destruir la información de color base o la estructura de la superficie. Esta modularidad permite construir shaders extremadamente densos visualmente sin la necesidad de escribir código HLSL personalizado, aunque Substrate sigue permitiendo la inyección de nodos 'Custom' para operaciones matemáticas de bajo nivel.

Es vital entender que la arquitectura de Substrate es inherentemente 'top-down'. Las capas superiores siempre tienen la prioridad en la evaluación de la luz, y la visibilidad de las capas inferiores está dictada por la transmitancia de las capas que están por encima. Esto significa que si colocas un Slab de 'Agua' con una rugosidad de 0.0 sobre un Slab de 'Arena', el sistema calculará automáticamente el oscurecimiento de la arena debido a la saturación de humedad y la refracción del agua, un efecto que en el sistema tradicional requeriría una lógica manual compleja y costosa de mantener.

Technical Illustration {INDEX} for substrate-materiales-nueva-generacion-unreal
Figura {INDEX}: Esquema técnico de referencia en Unreal Engine.

Métricas de Rendimiento y Análisis de G-Buffer

La implementación de Substrate conlleva una reestructuración profunda del backend de renderizado de Unreal Engine. A diferencia del G-Buffer tradicional de ancho fijo (generalmente 160 bits por píxel en configuraciones estándar), Substrate utiliza un 'Byte Address Buffer' que puede expandirse dinámicamente. Esto introduce una métrica de rendimiento crítica: el 'Substrate Material Complexity'. Un shader que utiliza un solo Slab y sin layering complejo se renderizará con una eficiencia similar o superior a la del sistema antiguo. Sin embargo, cada operador de layering o mezcla adicional incrementa el número de 'Data Slots' que el píxel debe ocupar en la memoria de video.

En términos de ancho de banda, Substrate está optimizado para arquitecturas de GPU modernas que soportan operaciones de lectura/escritura atómicas rápidas. En hardware como la serie RTX de NVIDIA o RDNA de AMD, el impacto de Substrate en el frame time se mitiga mediante el uso de 'Inline Ray Tracing' para sombras y reflejos, ya que Substrate proporciona una descripción mucho más rica de la superficie para los hits del rayo. Esto resulta en reflejos de trazado de rayos (RT Refractions) mucho más precisos, ya que el rayo puede 'entender' la estructura multicapa del material en el punto de impacto, devolviendo una respuesta lumínica que incluye las contribuciones de todas las capas visibles.

Para optimizar producciones a gran escala, Unreal Engine proporciona herramientas de visualización específicas para Substrate. El modo de visualización 'Substrate Complexity' permite a los Technical Artists identificar áreas de la escena donde el costo de shading es prohibitivo. Es importante destacar que el costo no solo proviene del número de texturas, sino de la cantidad de capas activas por píxel. Un error común es mantener capas 'invisibles' (con peso 0) dentro del grafo; en Substrate, estas capas todavía pueden ocupar slots en el buffer de datos si el compilador de shaders no puede determinar estáticamente su irrelevancia. Por lo tanto, el uso de 'Static Switches' para podar ramas del grafo de material sigue siendo una práctica esencial para mantener el presupuesto de GPU bajo control.

Finalmente, el impacto en la memoria VRAM debe ser monitoreado. Aunque Substrate es más eficiente en la gestión de datos por píxel, el almacenamiento de los Slabs y sus parámetros intermedios durante la fase de G-Buffer pass puede aumentar la presión sobre el ancho de banda de la memoria. En plataformas con limitaciones de memoria (consolas portátiles o hardware de gama baja), se recomienda limitar el número máximo de capas de Substrate permitidas globalmente a través de las 'Scalability Settings' del motor, permitiendo que el sistema haga un 'fallback' a representaciones simplificadas de los materiales complejos sin romper el look-dev general de la escena.

Cardan Edge: Errores Críticos y el 'Amateur Layering'

El error más común que observamos en Technical Artists novatos al adoptar Substrate es el 'Over-Layering' sin propósito físico. El hecho de que puedas apilar diez capas de Slabs no significa que debas hacerlo. Cada capa introduce una evaluación BSDF adicional. En producción profesional, un material que requiere más de tres capas suele ser una señal de una mala planificación del activo o de una falta de comprensión de las propiedades de la superficie. La elegancia en Substrate reside en lograr la máxima fidelidad con la estructura de Slabs más simple posible. Apilar capas para corregir errores de texturizado en lugar de resolverlos en la fuente (Substance Designer/Painter) es una receta para el desastre en términos de rendimiento.

Otro fallo crítico es ignorar el índice de refracción (IOR) y su relación con la conservación de energía. Muchos artistas intentan forzar un 'look' aumentando el brillo especular artificialmente, rompiendo la física interna de Substrate. Substrate está diseñado para que, si los datos de entrada son correctos, el resultado sea impecable. Intentar 'luchar' contra el sistema de layering mediante multiplicaciones de color arbitrarias fuera de los nodos de Slab destruye la coherencia de la iluminación global (Lumen) y del trazado de rayos. En Cardan, insistimos en que un Technical Artist debe entender la física de la luz antes de tocar un solo nodo en Substrate.

La falta de atención al 'Roughness Remapping' entre capas es otro punto de fricción. Cuando la luz pasa a través de una capa rugosa superior, la luz que llega a la capa inferior ya está dispersa. Substrate intenta modelar esto, pero si el artista proporciona valores de rugosidad incoherentes (como una capa superior perfectamente lisa sobre una capa inferior muy rugosa que supuestamente está 'húmeda'), el resultado visual será plano y carente de profundidad. La clave es pensar en términos de volumen y de cómo la micro-topografía de una capa afecta a la siguiente.

Análisis Comparativo: Substrate vs. Shading Models Tradicionales

La transición de los Shading Models tradicionales a Substrate es comparable al paso de Fixed-Function Pipelines a Programmable Shaders hace dos décadas. El sistema tradicional de Unreal era excepcional por su velocidad y simplicidad, pero fallaba estrepitosamente en representar materiales que no encajaban en sus categorías predefinidas. Por ejemplo, intentar simular un plástico translúcido con una capa de barniz especular en el sistema antiguo requería trucos de 'Emissive' o múltiples pasadas de renderizado que nunca se sentían integradas en el entorno.

Frente a estándares de la industria como OSL (Open Shading Language) o MDL (Material Definition Language) de NVIDIA, Substrate ofrece una ventaja competitiva única: está optimizado específicamente para la rasterización y el ray tracing híbrido en tiempo real. Mientras que MDL es increíblemente descriptivo, su evaluación en tiempo real a menudo requiere una simplificación masiva que despoja al material de sus detalles más finos. Substrate, al ser un sistema nativo de Unreal, mantiene un puente directo entre la descripción del material y el hardware de ejecución, permitiendo efectos como el 'Bent Normal Shading' y el 'Anisotropic Occlusion' que son difíciles de lograr de manera eficiente con lenguajes genéricos.

En comparación con el sistema de materiales de Unity (HDRP Layered Shader), Substrate es significativamente más flexible. Mientras que Unity limita al usuario a un número fijo de capas (generalmente 2 o 4) con una funcionalidad específica, Substrate permite una topología de grafo arbitraria. Puedes mezclar, sumar y estratificar slabs de cualquier tipo en cualquier orden, lo que otorga al Technical Artist una capacidad de 'Shading Engineering' que anteriormente solo estaba disponible en motores de renderizado offline para cine.

Veredicto Técnico

Substrate no es una opción; es el nuevo estándar para cualquier producción de alta gama en Unreal Engine. Su implementación exige que los Technical Artists eleven su conocimiento de física óptica y arquitectura de GPU. La directiva es clara: migrar las librerías de materiales a una lógica basada en Slabs, priorizar la conservación de energía y utilizar las herramientas de perfilado dinámico para justificar cada capa añadida. Aquellos que dominen la topología de Slabs de Substrate definirán el techo visual de la próxima generación de contenido digital.