Iluminación en Unreal Engine 5 | ¿Qué es bakear?

El bakeo de iluminación es una de las técnicas más importantes en la optimización gráfica de un videojuego. Permite obtener sombras suaves, rebotes de luz realistas y ambient occlusion sin afectar el rendimiento en tiempo de ejecución. Pero, ¿cuál es la mejor manera de hacerlo?

APRENDE UNREAL

Chema Luque

5/8/20247 min read

Cursos avanzados Unreal | Bakear Iluminación

Introducción

Hay una constante en el desarrollo de videojuegos que nos persigue a todos. Algo que hemos aceptado como un mal necesario. Algo que nos obliga a perder el tiempo, a quedarnos mirando una barra de progreso durante minutos, horas… y, en algunos casos, incluso días.

El bakeo de luces.

Si alguna vez has intentado iluminar una escena en Unreal Engine 5 y has terminado golpeando la mesa porque el proceso se ha alargado más de lo esperado, este video es para ti. Hoy vamos a ver por qué el bakeo tradicional con CPU es un problema, qué ventajas tiene usar la GPU para generar lightmaps, y cómo puedes acelerar tu workflow para evitar que la iluminación de tu juego se convierta en una tortura.

Vamos a ver qué es la iluminación bakeada, cómo funciona GPU Lightmass, qué necesitas para activarlo y, sobre todo, si merece la pena abandonar el método clásico de CPU.

¿Qué es la Iluminación Bakeada?

Antes de entrar en la batalla entre CPU y GPU, hay algo que tenemos que entender. ¿Qué demonios significa "bakear luces"?

Básicamente, se trata de precalcular la iluminación de la escena y almacenarla en texturas llamadas Lightmaps. De esta forma, en lugar de que el motor tenga que calcular la luz en tiempo real, simplemente usa la información que ya ha sido procesada. Esto ahorra rendimiento y permite que los juegos se vean realistas sin destruir la tasa de FPS.

Imagínate que tienes una linterna en una habitación oscura. Si usas iluminación en tiempo real, el motor tiene que recalcular la luz y las sombras en cada frame. Pero si bakeas la luz, es como si alguien pintara en la pared dónde deberían estar esas sombras y reflejos. El resultado parece el mismo, pero el rendimiento es infinitamente mejor.

Esto es genial, pero hay un problema. Bakear luces lleva tiempo. Mucho tiempo. Y aquí es donde empieza la pesadilla.

El Método Clásico: Bakear por CPU

Hasta hace poco, la única forma de bakear luces en Unreal Engine era usando la CPU. El procesador se encargaba de analizar cada punto de la escena, calcular cómo la luz interactúa con los objetos, y generar las texturas de iluminación.

El mayor problema de este método es que es lento. Muy lento. Tanto que si intentas bakear una escena grande, es muy probable que te dé tiempo a ver una serie entera en Netflix mientras esperas.

Además, la CPU tiene que hacer todos estos cálculos por sí sola, sin la ayuda de la tarjeta gráfica. Esto significa que el consumo de RAM se dispara, que el procesador se calienta como si estuviera a punto de despegar, y que durante todo el proceso tu PC queda prácticamente inutilizable.

Si alguna vez te ha pasado que presionas "Build Lighting", ves la barra de progreso avanzar un 2% en diez minutos y piensas: "bueno, ahora tengo tiempo para reflexionar sobre mis decisiones en la vida", ya sabes de lo que estoy hablando.

Pero aquí es donde entra en juego la GPU.

El Futuro: GPU Lightmass

Para solucionar este desastre, Unreal Engine introdujo GPU Lightmass, una nueva forma de bakear luces que en lugar de usar la CPU, aprovecha la potencia de la tarjeta gráfica.

Esto cambia completamente las reglas del juego.

Al utilizar la GPU, el tiempo de bakeo se reduce drásticamente. Proyectos que antes tardaban horas en completarse ahora pueden resolverse en cuestión de minutos.

Pero no solo es una cuestión de velocidad. La calidad de la iluminación también mejora. GPU Lightmass permite tener más rebotes de luz, sombras más suaves y una Global Illumination más precisa, sin sacrificar rendimiento.

Además, este método permite previsualizar la iluminación de forma más rápida. Si estás ajustando luces en una escena, puedes ver los cambios casi en tiempo real, en lugar de tener que esperar a que la CPU vuelva a calcular todo desde cero.

Pero no todo es perfecto.

¿Tiene Inconvenientes?

Sí, y aquí es donde hay que tener cuidado.

Para usar GPU Lightmass necesitas una tarjeta gráfica potente. No vale cualquier cosa. Lo ideal es contar con una NVIDIA RTX o una AMD con soporte para Ray Tracing, porque el sistema utiliza el trazado de rayos para generar los lightmaps.

Además, este método consume mucha VRAM. Si trabajas con lightmaps de alta resolución y tu tarjeta gráfica tiene poca memoria, podrías encontrarte con problemas de rendimiento o incluso fallos en la iluminación.

Otro punto importante es que GPU Lightmass no funciona con iluminación en tiempo real. Solo se puede usar para lightmaps pre-renderizados, lo que significa que si quieres luces dinámicas en tu juego, necesitarás combinarlas con otros métodos como Lumen o Ray Tracing en tiempo real.

A pesar de estos inconvenientes, en la mayoría de los casos GPU Lightmass es una opción muy superior a la CPU, siempre que tengas el hardware adecuado.

¿Cómo activar GPU Lightmass en Unreal Engine 5?

Si quieres empezar a usar GPU Lightmass, hay algunas configuraciones que debes ajustar en Unreal Engine.

Lo primero es asegurarte de que tienes Ray Tracing activado. Este sistema depende completamente de la aceleración por hardware para realizar los cálculos de iluminación.

También necesitas habilitar Virtual Texture Support y Virtual Texture Lightmaps, porque Unreal Engine usa Virtual Textures para optimizar la memoria y manejar los lightmaps de manera eficiente.

Por último, es fundamental activar DirectX 12 y Shader Model 6 en la configuración del motor. Sin estos elementos, GPU Lightmass simplemente no funcionará.

Si no activas estas opciones, seguirás atrapado en el bakeo tradicional con CPU, y créeme, no quieres eso.

¿Qué son cada una de las cosas que he activado?

Support Hardware Ray Tracing:

  • Permite activar y aprovechar la aceleración por hardware para el trazado de rayos (Ray Tracing) en GPUs compatibles.

  • Habilita características como:

✅ Reflejos Ray Tracing: Reflejos más realistas sin necesidad de Screen Space Reflections (SSR).

✅ Sombras Ray Tracing: Sombras más detalladas y suaves basadas en la posición y tamaño de la luz.

✅ Global Illumination Ray Tracing (RTGI): Rebotes de luz más realistas en escenas dinámicas.

✅ Transparencias y refracciones mejoradas: Permite efectos avanzados en vidrios y líquidos.

✅ Ambient Occlusion Ray Tracing: Sombreado de contacto más preciso en objetos cercanos.

💡 Requisitos: Se necesita una GPU con soporte para Ray Tracing por hardware, como las tarjetas NVIDIA RTX o AMD RDNA 2/3.

⚠️ Si no activas "Support Hardware Ray Tracing", Unreal Engine no podrá usar GPU Lightmass, porque este depende completamente del Ray Tracing para calcular los lightmaps.

Virtual Textures:

  • Técnica de optimización que permite renderizar texturas gigantes sin consumir demasiada memoria de la GPU. En lugar de cargar toda la textura en VRAM, solo se cargan las partes visibles y necesarias en cada frame.

    • 🔹 Funcionan como un "streaming" de texturas, evitando el uso excesivo de memoria.

    • 🔹 Permiten usar texturas de altísima resolución (8K, 16K, o más) sin afectar el rendimiento.

    • 🔹 Se dividen en tiles pequeños, que se cargan dinámicamente según la visibilidad.

    • 🔹 Mejoran la calidad en paisajes, materiales con múltiples capas y efectos avanzados.

💡 Se usan en: Landscapes enormes, materiales con detalles ultra precisos, y optimización de texturas en general.

El plugin GPU Lightmass usa Virtual Textures para almacenar los Lightmaps, ya que genera texturas de iluminación de altísima resolución. Si no activas las Virtual Textures:

⚠️ Problemas posibles:

❌ Los Lightmaps generados por GPU Lightmass no se podrán almacenar correctamente.

❌ Se pueden ver errores visuales en la iluminación bakeada.

❌ No se aprovechará la optimización de memoria que ofrece Unreal Engine.

D3D12 - SM6:

  • API gráfica de Microsoft DirectX 12 que permite a Unreal Engine comunicarse con la GPU de manera más eficiente. Es la versión moderna de DirectX, diseñada para mejorar el rendimiento y permitir gráficos más avanzados con mejor uso del hardware.

📌 ¿Por qué Unreal Engine te pide activarlo?

  • Si estás usando tecnologías avanzadas como Ray Tracing, GPU Lightmass o Nanite, Unreal Engine necesita DirectX 12 porque D3D11 no es lo suficientemente potente.

🔥 ¿Qué es SM6 (Shader Model 6)?

  • El Shader Model 6 (SM6) es la última versión de los shaders de DirectX, y permite sombras, iluminación y materiales más avanzados en Unreal Engine.

📌 ¿Por qué Unreal Engine te pide activarlo?

  • Porque GPU Lightmass y Ray Tracing requieren SM6, ya que los cálculos avanzados de luz y materiales dependen de las funciones de los nuevos shaders.

Lightmaps VS Lightmass: ¿En qué se diferencian?

Ahora bien, antes de llegar a la conclusión, hemos hablado de muchas cosas, ha salido lightmaps, lightmass, y hay una pregunta que no podemos ignorar: ¿Cuál es la diferencia entre Lightmaps y Lightmass?

Los Lightmaps son simplemente texturas que almacenan la información de la iluminación bakeada. Es decir, es la "imagen final" de cómo la luz afecta a la escena. Funcionan de manera muy similar a una textura de color o de normales, pero en este caso, lo que almacenan es información sobre luz y sombras.

Lightmass, por otro lado, es el sistema de cálculo que se encarga de generar estos Lightmaps. Es el proceso que determina cómo la luz rebota en la escena, qué áreas deben recibir más sombra y cuánta iluminación indirecta afecta a los objetos.

Entonces, para dejarlo claro:

  • Lightmaps = Resultado final (texturas con la luz precalculada).

  • Lightmass = Proceso de bakeo (el sistema que genera esos Lightmaps).

Cuando usamos GPU Lightmass, el sistema de bakeo es mucho más rápido y eficiente. Pero el resultado final sigue siendo el mismo: un conjunto de lightmaps que se aplican a los objetos estáticos de la escena.

Esta diferencia es clave para entender por qué cambiar a GPU Lightmass es tan importante. No estamos hablando solo de un método alternativo, sino de una mejora en la forma en la que generamos los Lightmaps.

📌 CONCLUSIÓN: ¿CPU O GPU?

Entonces, después de todo esto, ¿qué opción es mejor?

Si tienes una tarjeta gráfica potente, la respuesta es clara: usa GPU Lightmass. El proceso será más rápido, la calidad será mejor y tu workflow será mucho más eficiente.

Si tu PC no tiene una GPU potente, entonces no te queda otra que usar CPU. Pero en ese caso, ten en cuenta que los tiempos de bakeo serán largos y el consumo de recursos será alto.

En cualquier caso, saber cómo funciona la iluminación en Unreal Engine y optimizar tu workflow es clave para cualquier desarrollador.