Las luces que tienen su movilidad configurada como Móvil son luces que pueden ser dinámicas o cambiar dinámicamente de cualquier forma durante el tiempo de ejecución (a veces se las denomina luces dinámicas). Su coste de rendimiento es mayor que el de las luces estáticas o estacionarias, y depende del número de mallas afectadas por la luz y del recuento de triángulos de esas mallas. Por ejemplo, una luz dinámica que proyecta sombras con un radio grande tiene un coste de rendimiento más alto que una con un radio más pequeño.
Las luces móviles son compatibles con la iluminación indirecta dinámica cuando se usan con iluminación global y reflejos de Lumen.
De los tres tipos de movilidad de la luz para elegir, las luces móviles tienen una calidad variable (dependiendo del tipo de sombras dinámicas que se utilicen), la mayor mutabilidad y el mayor coste de rendimiento.
Tipos de sombras compatibles
Las luces móviles son compatibles con muchos más métodos de iluminación y sombreado dinámico que las luces estáticas y estacionarias. Los siguientes tipos de sombras son compatibles con las luces móviles:
Los mapas de sombras proporcionan sombras dinámicas para toda la escena. Es el método de sombreado estándar para todo el sombreado dinámico del motor y funciona en la mayoría de las plataformas para todos los tipos de luz. Los mapas de sombras no proporcionan un sombreado suave de áreas (como sí hacen muchos de los otros métodos de sombreado de esta lista).
Los mapas de sombras virtuales proporcionan mapas de sombras coherentes y de alta resolución que funcionan bien con recursos de calidad cinematográfica y grandes mundos abiertos iluminados dinámicamente. Proporcionan un sombreado suave de áreas y funcionan bien con Nanite, iluminación global y reflejos de Lumen y World Partition para ofrecer la máxima calidad a un coste de rendimiento razonable. Los mapas de sombras virtuales son compatibles con las últimas plataformas de consola y PC compatibles con DirectX 11 o DirectX 12.
Las sombras con trazado de rayos simulan efectos de iluminación suave de áreas para obtener la máxima calidad de sombreado con un rendimiento razonable. Utilizan la arquitectura de trazado de rayos compatible con el hardware de GPU de NVIDIA que se ejecuta en Windows 10 (o posterior) con DirectX 12.
Las sombras de campo de distancia de malla proporcionan efectos de iluminación y un sombreado suave de áreas a partir de mallas basadas en una representación de campos de distancia de la malla. Este método requiere las mallas de campo de distancia para el proyecto, que son necesarias para el trazado de rayos por software en Iluminación global y reflejos de Lumen y en Oclusión ambiental de campo de distancia.
Sesgo de sombreado
Las técnicas por defecto de asignación de sombras en Unreal Engine funcionan en todas las plataformas para que las luces móviles proporcionen un sombreado dinámico. La asignación de sombras tiene algunas limitaciones que producen artefactos, como sombras facetadas en superficies curvas y un endurecimiento del contacto de las sombras en las intersecciones de las superficies, que pueden hacer que los objetos parezcan flotar o no estar conectados a tierra en la escena.
El sesgo de sombreado es un conjunto de propiedades por luz que ayuda a reducir este tipo de artefactos al tiempo que mejora la precisión del autosombreado y la intensidad de contacto de estas fuentes de luz. Estos ajustes de sesgo funcionan al encontrar un equilibrio entre la precisión en un área y la reducción de los artefactos de autosombreado en otra.
Ajustar el sesgo de pendiente de sombreado reduce los artefactos de autosombreado con la pérdida de precisión de la sombra, lo que puede provocar un efecto de paneo (o efecto flotante) para los objetos conectados a tierra en la escena. Los ajustes de sesgo de pendiente no solucionarán todos tus problemas de autosombreado de la iluminación dinámica, pero sí la mayoría. Tú decides cuál es el equilibrio adecuado para tu proyecto.
Las luces direccionales tienen una propiedad de sesgo de profundidad adicional que controla la intensidad del sesgo en los mapas de sombras en cascada (CSM). Reduce las discontinuidades de los artefactos de sombra en los puntos de transición en cascada.
Las siguientes propiedades están disponibles en las luces para ajustar el sesgo de sombreado:
| Propiedad | Descripción |
|---|---|
Distribución del sesgo de sombreado en cascada | (Solo para luces direccionales) Controla la escala del sesgo de profundidad en los mapas de sombras en cascada. Mitiga la diferencia en los artefactos de sombra entre distintas transiciones en cascada. Con el valor 1, el sesgo de sombreado se escala en función del tamaño de cada cascada. 0 escala el sesgo de sombreado de manera uniforme en todas las cascadas. |
Sesgo de sombreado | Controla la precisión con la que se aplican las sombras automáticas de las sombras de toda la escena desde esta fuente de luz. En 0, las sombras comienzan en la superficie de su proyector de sombras, pero habrá muchos artefactos. Con valores grandes, las sombras empiezan más lejos del proyector y no habrá artefactos de autosombreado, pero puede parecer que el objeto flota sobre una superficie. Los valores en torno al punto medio de 0.5 ofrecen un buen equilibrio entre la precisión y la reducción de los artefactos de autosombreado. |
Sesgo de pendiente de sombreado | Esto funciona además del sesgo de sombreado para controlar la precisión del autosombreado de las sombras de toda la escena de la luz seleccionada. Esta propiedad aumenta la cantidad de sesgo en función de la pendiente de una superficie determinada. En 0, las sombras comienzan en la superficie de su proyector, pero tendrán muchos artefactos de autosombreado. Con valores grandes, las sombras se iniciarán más lejos de su proyector y no habrá artefactos de autosombreado, pero los objetos pueden parecer que flotan sobre una superficie. |
Enfoque de filtro de sombra | Ajusta la nitidez del sombreado directo de las luces estacionarias o móviles. Puede reducir el efecto de sombreado suave de la asignación de sombras. |
Caché de mapas de sombras
El almacenamiento en caché de los mapas de sombras es una función de las luces móviles que hace que la proyección de sombras de las luces puntuales y focales sea mucho más asequible en los juegos. En los niveles en los que tienes recursos que no necesitan moverse, el cálculo de sus sombras está costando rendimiento en cada fotograma. El almacenamiento en caché de los mapas de sombras analiza los recursos que tienen tu movilidad establecida como Estática o Estacionaria y no necesita recalcularlos en cada fotograma a menos que algo cambie con ellos o con la luz.
El almacenamiento en caché de los mapas de sombras tiene un impacto significativo en el rendimiento, sobre todo en niveles en los que hay muchos recursos afectados por las luces.
Por ejemplo, en una escena de tamaño moderado con tres luces puntuales móviles que proyectan sombras, podrían tardar más de 14 milisegundos en renderizar la profundidad de las sombras. Con las sombras en caché activadas, esas mismas tres luces pueden tardar alrededor de 1 milisegundo en renderizar las profundidades de las sombras.
El almacenamiento en caché de los mapa de sombras requiere memoria para almacenar las sombras almacenadas en caché. Para escenas lo suficientemente grandes, puede que tengas que ajustar la cantidad de memoria asignada con el comando de consola r.Shadow.WholeSceneShadowCacheMb.
Rendimiento del almacenamiento en caché de los mapas de sombras
Puedes comprobar el rendimiento de las sombras en caché abriendo la ventana de estadísticas para el renderizado de sombras con Stat ShadowRendering. Luego activa/desactiva las sombras en caché con el comando de consola r.Shadow.WholeSceneShadows.
Almacenamiento en caché del mapa de sombras: habilitado | Almacenamiento en caché del mapa de sombras: deshabilitado |
Limitaciones del almacenamiento en caché del mapa de sombras
El almacenamiento en caché de los mapas de sombras puede reducir considerablemente el coste de usar sombreado dinámico en tus niveles, pero hay algunas limitaciones que debes tener en cuenta al usarlo con funciones no compatibles del motor.
Por defecto, el almacenamiento en caché solo puede tener lugar cuando los siguientes recursos cumplen estos criterios:
Las formas primitivas del nivel deben tener su movilidad establecida en Estática o Estacionaria.
Los materiales que utilicen Desfase de posición en el mundo no se almacenarán en la caché.
Las luces puntuales y las luces focales son compatibles y deben tener su movilidad configurada como Móvil mientras proyectan sombras.
Las sombras de las luces que se mueven no se almacenarán en caché.
Los materiales que usan Teselado animado o Desfase de profundidad de píxel pueden generar artefactos, ya que sus sombras se almacenarán en la caché, pero parecerán incorrectas con el recurso.