Los reflejos son un aspecto importante para dar vida a los entornos, ya que permiten que la luz incida sobre los objetos de la escena. En 3D en tiempo real, los reflejos comienzan con la forma en que se configuran los materiales. Los materiales con valores bajos de rugosidad hacen que las superficies sean más o menos reflectantes. Esta puede ser la diferencia entre crear una superficie como un espejo o como metal cepillado.
Unreal Engine proporciona varios sistemas específicos de reflejos para que los utilices en tus proyectos. Algunos de ellos pueden utilizarse conjuntamente o por sí solos, despriorizando cualquier otro método de reflejos. La elección de los tipos de reflejos que habilitas para tu proyecto depende principalmente de la calidad que quieras conseguir y de las plataformas en las que quieras publicar. Algunos sistemas de reflejos pueden ser demasiado costosos para el rendimiento, solo se admiten en determinadas plataformas o pueden tener restricciones de hardware.
Tipos de reflejos
Cuando desarrolles tu proyecto, deberás tener en cuenta si necesita reflejos dinámicos, el nivel de calidad que debe alcanzar y si la plataforma de destino en la que quieres publicarlo los admite o no.
Por ejemplo, utilizar una combinación de capturas de reflejos estáticas con un efecto dinámico de posprocesado de reflejos del espacio en pantalla funciona bien en la mayoría de las plataformas y es rápido de renderizar, pero tiene artefactos de renderizado debido a su naturaleza. Sin embargo, el uso del sistema de iluminación global y reflejos Lumen o los reflejos del trazado de rayos emulan la luz y los reflejos de forma más precisa sobre los objetos de la escena, pero tiene un mayor coste de renderizado y no es compatible con todas las plataformas.
Los sistemas de reflejos disponibles admiten los siguientes tipos de reflejos y plataformas:
| Sistema de reflejos | Tipo de reflejo | Plataformas admitidas |
|---|---|---|
| Reflejos Lumen | Dinámico | PC de sobremesa de gama alta y consolas de nueva generación |
| Reflejos del trazado de rayos | Dinámico | Sistemas PC de sobremesa con Windows 10, DirectX 12 y GPU NVIDIA compatible |
| Reflejos del espacio en pantalla | Dinámico | Equipos de escritorio y consolas |
| Capturas de reflejos | Estático | Todas las plataformas |
| Reflejos planos | Dinámico | Todas las plataformas |
Reflejos Lumen
Los reflejos Lumen forman parte del sistema de iluminación global y reflejos Lumen, que utiliza el trazado de rayos basado en software o hardware para generar reflejos para la escena. Lumen utiliza una combinación de métodos para representar con precisión la escena mediante trazados de pantalla cuando utiliza el modo de trazado de rayos por software. Cuando el modo de trazado de rayos por hardware está activado, aprovechará la arquitectura de trazado de rayos existente para los reflejos, pero necesita una GPU NVIDIA compatible para funcionar.


Para obtener más información, consulta Iluminación global y reflejos Lumen.
Reflejos del trazado de rayos
Esta función del trazado de rayos está obsoleta y puede que se elimine en una futura versión.
Los reflejos del trazado de rayos por hardware utiliza técnicas de trazado de rayos para emular la forma en que funciona la luz para una representación precisa del entorno y admite múltiples rebotes de reflejos. El trazado de rayos en Unreal Engine requiere una GPU NVIDIA compatible y un sistema operativo Windows compatible con DirectX 12.


Para obtener más información, consulta Trazado de rayos por hardware.
Reflejos del espacio en pantalla
Los reflejos del espacio en pantalla (SSR) son un efecto dinámico de posprocesado que se limita a reflejar solo lo que es visible en la pantalla. Los objetos fuera de pantalla u ocluidos por objetos en pantalla no pueden representarse en los reflejos del espacio en pantalla, lo que puede causar artefactos de renderizado en los reflejos.
Para obtener más información, consulta Reflejos del espacio en pantalla.
Actores de capturas de reflejos
Los actores de captura de reflejos son una captura estática de bajo coste de la zona en la que se coloca la sonda de reflejos. Muchos de ellos pueden colocarse alrededor del nivel sin afectar al rendimiento, ya que se calculan antes del tiempo de ejecución.
Puedes elegir entre dos tipos de capturas de reflejos: una forma de caja y otra de esfera. Funcionan capturando una imagen del entorno circundante desde su centro y luego asignándola a la forma de captura del reflejo. Las capturas de reflejos pueden superponerse y mezclarse entre sí, y a menudo se colocan con una grande para abarcar un área y otras más pequeñas para reflejos estáticos más definidos en las superficies.
Para obtener más información, consulta Actores de capturas de reflejos.
Reflejos planos
Los reflejos planos son un actor que puede colocarse a lo largo de las superficies para crear reflejos precisos y dinámicos de la escena, con lo que vuelve a renderizar el nivel desde la dirección del reflejo. Este método de reflejos puede ser costoso, pero proporciona reflejos precisas y es compatible con todas las plataformas.


Para obtener más información, consulta Reflejos planos.
Reflejos de alta calidad
Los ajustes predeterminados de calidad del reflejo consiguen un buen equilibrio entre rendimiento y calidad visual. Sin embargo, para los proyectos que se preocupan menos por el rendimiento y quieren elevar aún más la calidad de los reflejos, puedes utilizar el GBuffer Normales de alta precisión para hacerlo.
Un factor importante para conseguir reflejos de alta calidad es la precisión con que pueden representarse la normal y la tangente del vértice. Las mallas de alta densidad pueden hacer que los vértices adyacentes se cuantifiquen a los mismos valores de normal y tangente de vértice, lo que provoca saltos en bloque en la orientación de las normales. Codificar las normales y tangentes como 16 bits por canal permite a los desarrolladores hacer el balance entre mayor calidad y cuánta memoria adicional se utiliza codificando los búferes de vértices.


Los siguientes ajustes son necesarios para activar las normales de alta precisión para los reflejos:
-
En Configuración del proyecto, en Motor > Renderizado > Optimizaciones, cambia el Formato del búfer a Normales de alta precisión.
-
Abre cualquier recurso de malla estática y, utilizando el panel Detalles del editor de mallas estáticas, en LOD 0 > Configuración de construcción activa Usar base tangente de alta precisión.