Este documento está diseñado para proporcionar directrices y prácticas recomendadas para trabajar con el sistema de materiales basados en la física de Unreal Engine. Se da por hecho que tienes cierta familiaridad con el proceso de creación de materiales en Unreal. Si no has trabajado nunca antes con materiales en Unreal, tal vez prefieras empezar con la página de conceptos básicos sobre materiales.
Esta página se centra solo en los atributos de materiales que están directamente relacionados con el flujo de trabajo de sombreado basado en la física. Para un desglose completo de todas las entradas del nodo de material principal, consulta la página Entradas de materiales.
¿Qué significa «basado en la física»?
El renderizado basado en la física (PBR) significa que las superficies se aproximan al modo en que se comporta la luz en el mundo real, en contraposición al modo en que intuitivamente pensamos que debería hacerlo. Los materiales que se adhieren a los principios del PBR son más precisos y suelen tener un aspecto más natural que un flujo de trabajo de sombreado que confíe plenamente en la intuición del artista para establecer los parámetros.
Los materiales basados en la física funcionan igual de bien en todos los entornos de iluminación. Además, los valores de los materiales pueden ser menos complejos e interdependientes, lo que facilita el flujo de trabajo de creación de materiales. Estas ventajas son aplicables incluso a la renderización no fotorrealista, como demuestran las películas de Pixar [4] y de Disney [3].
Para ver una visión técnica en profundidad del modelo de sombreado y material basado en la física de Unreal Engine, consulta esta presentación de SIGGRAPH 2.
Atributos del materiales de PBR
Son los atributos de materiales que están directamente relacionados con el aspecto físico de los materiales de Unreal.
Todas estas entradas están diseñadas para aceptar valores entre 0 y 1. En el caso del color base, se trata de una muestra de color o textura con valores RGB comprendidos entre 0 y 1.
Los valores basados en la física pueden medirse a partir de materiales del mundo real. A continuación se dan algunos ejemplos.
Color base
El color base define el color general del material. La entrada Color base acepta un valor Vector3 (RGB) en el que cada canal se fija automáticamente entre 0 y 1.
Si se toma del mundo real, este es el color cuando se fotografía utilizando un filtro polarizador (la polarización elimina el efecto especular de los no metales cuando están alineados).
Valores medidos de color base para no metales (solo intensidad):
| Material | Intensidad del color base |
|---|---|
| Carbón | 0,02 |
| Asfalto nuevo | 0,02 |
| Asfalto desgastado | 0,08 |
| Suelo sin vegetación | 0,13 |
| Hierba verde | 0,21 |
| Arena del desierto | 0,36 |
| Hormigón fresco | 0,51 |
| Hielo oceánico | 0,56 |
| Nieve fresca | 0,81 |
Colores base medidos para metales:
| Material | Color base (R; G; B) |
|---|---|
| Hierro | (0,560; 0,570; 0,580) |
| Plata | (0,972; 0,960; 0,915) |
| Aluminio | (0,913; 0,921; 0,925) |
| Oro | (1,000; 0,766; 0,336) |
| Cobre | (0,955; 0,637; 0,538) |
| Cromo | (0,550; 0,556; 0,554) |
| Níquel | (0,660; 0,609; 0,526) |
| Titanio | (0,542; 0,497; 0,449) |
| Cobalto | (0,662; 0,655; 0,634) |
| Platino | (0,672; 0,637; 0,585) |
Rugosidad
La entrada Rugosidad controla lo rugosa o lisa que es la superficie de un material. En el material, esto se manifiesta como el aspecto nítido o borroso de los reflejos.
Los materiales rugosos dispersan la luz reflejada en más direcciones que los materiales lisos, lo que da lugar a reflejos difusos, a veces sutiles. Las superficies lisas reflejan la luz de forma más uniforme, dando lugar a reflejos nítidos y enfocados o brillos especulares.
- Una rugosidad de 0 (lisa) da como resultado un reflejo especular.
- Una rugosidad de 1 (rugosa) da como resultado una superficie difusa o mate.

Valores de rugosidad de 0 a 1. Superficies no metálicas arriba; metálicas abajo.

Valores de rugosidad de 0 a 1.
Asignación de rugosidad
La rugosidad se asigna con frecuencia a los objetos utilizando una textura en escala de grises para añadir variación física a una superficie. Las zonas oscuras de un mapa de rugosidad aparecen como espejos en el material, mientras que las zonas claras son rugosas y parecen menos reflectantes.
El vídeo siguiente muestra el valor de rugosidad aumentando de 0 a 1, con una textura perlina que controla la distribución de los valores claro (rugoso) y oscuro (liso). A 0, la vista previa del material es completamente especular. A 1, el material es totalmente mate. Los valores intermedios son más interesantes, ya que algunas partes de la superficie parecen lisas y otras rugosas.
Los mapas de rugosidad se utilizan con frecuencia para añadir arañazos, manchas u otras imperfecciones a materiales como el plástico y el metal.
Rugosidad frente a especularidad
La interacción entre lo rugoso y lo especular es un punto importante que hay que comprender, sobre todo si trabajabas en Unreal Engine antes de que se adoptara el flujo de trabajo PBR.
La especularidad se refiere a la cantidad de luz especular reflejada por una superficie. Este valor es inherente al tipo de material y normalmente el valor predeterminado de 0,5 es preciso. La entrada Especular no se utiliza para mapas de reflexión/especularidad ni para añadir variación a la superficie. Eso debe tratarse en el mapa de rugosidad.
Metálico
La entrada Metálico acepta un valor entre 0 y 1, y define si tu material se comporta como un metal o como un no metal.
En la mayoría de los casos, debes tratar Metálico como una propiedad binaria en Unreal Engine. Para superficies puras, como metal puro, piedra pura, plástico puro, etc., debes establecer Metálico en 0 o 1, no en valores intermedios. Al crear superficies híbridas como metales corroídos, polvorientos u oxidados, puede que necesites algún valor entre 0 y 1.
- Los materiales no metálicos tienen un valor metálico de 0. Ese es su valor predeterminado.
- Los materiales metálicos tienen un valor metálico de 1.
Valores metálicos de 0 a 1.
Puede que al principio seas reticente a hacer cualquier material completamente metálico. Evita el impulso de utilizar valores parciales a menos que tengas una buena razón.
Este ejemplo muestra cómo cambia una superficie cuando el valor metálico aumenta de 0 a 1 en un material con rugosidad relativamente baja.

Valores metálicos de 0 a 1.
Asignación de superficies metálicas
Los metales y los no metales suelen estar presentes en el mismo material. Pensamos en un panel metálico con una capa de pintura que cubra parte o la totalidad del metal.
La pintura es un no metal, por lo que el valor metálico debe ser 0 en cualquier región cubierta por pintura. En cualquier lugar en el que se vea el panel metálico, el valor metálico debe ser 1.
Esto debe tratarse con una máscara en blanco y negro pasada a la entrada Metálico. La pintura no se mezcla con el metal, se asienta sobre él. Tu mapa metálico no debe contener valores intermedios de escala de grises, solo blanco y negro. También puedes utilizar capas de material para conseguir resultados similares.
Especular
La entrada Especular toma un valor entre 0 y 1, y controla cuánta luz especular refleja la superficie.
- Un valor especular de 0 es totalmente antirreflectante.
- Un valor especular de 1 es totalmente reflectante.
Unreal Engine utiliza un valor especular predeterminado de 0,5, que representa aproximadamente un 4 % de reflejo especular. Este valor es exacto para una gran mayoría de materiales.
Para materiales muy difusos, puedes tener la tentación de ponerlo a cero. ¡Resiste! Todos los materiales tienen propiedades especulares. Consulta esta publicación para ver ejemplos [5]. La forma correcta de hacer materiales muy difusos es utilizar un valor de rugosidad alto.
Mapas de cavidades
Una razón para modificar la propiedad especular es añadir microoclusiones o sombras a pequeña escala, por ejemplo, de grietas representadas en el mapa de normales. A veces se denominan cavidades. La geometría a pequeña escala, especialmente los detalles que solo están presentes en los polígonos altos y en el mapa de normales, no serán captados por las sombras en tiempo real del renderizador.
Para captar esta sombra, puedes generar un mapa de cavidades, que suele ser un mapa AO con una distancia de trazado muy corta. Se multiplica por el color base final antes de la salida y se multiplica por 0,5 (valor especular predeterminado) como salida Especular.
Para que quede claro, esto es ColorBase = CavidadColorBaseAntiguo, Especular = Cavidad0,5.
Para un uso avanzado, puede utilizarse para controlar el índice de refracción (IOR). Hemos comprobado que esto no es necesario para el 99 % de los materiales. A continuación se muestran los valores especulares basados en el IOR medido.
Valores especulares medidos:
| Material | Especular |
|---|---|
| Vidrio | 0,5 |
| Plástico | 0,5 |
| Cuarzo | 0,570 |
| Hielo | 0,224 |
| Agua | 0,255 |
| Leche | 0,277 |
| Piel | 0,35 |

Valores especulares de 0 a 1
Ejemplo de materiales medidos. Arriba: Carbón, hormigón fresco, asfalto desgastado. Abajo: Cobre, hierro, oro, aluminio, plata, níquel, titanio
Referencias
1. Lagarde, Alimentar un modelo de sombreado basado en la física
2. Karis, Sombreado real en Unreal Engine 4
3. Burley, Sombreado basado en la física en Disney
4. Smits, Diseño de modelos de reflexión para WALL-E y Up
5. Hable, Todo brilla