De nada sirve hacer un modelo muy detallado si no se va a iluminar bien. Los lightmaps ayudan a que tu modelo se ilumine con la mayor calidad posible.
¿Qué es un lightmap?
Un lightmap es una textura donde se imprime la información de iluminación de un modelo. Esta textura se usa para simular el efecto de la luz sobre un modelo sin necesidad de calcular en tiempo real. La textura de lightmap se sobrepone a la textura de color del modelo.
¿Dónde usarlos? Los lightmaps son muy económicos en términos de costo de procesamiento, porque son precomputados con anticipación. Esto los hace excelentes para iluminar escenarios. La alternativa a usar lightmaps es calcular la iluminación en tiempo real cada cuadro; hay algunos motores que están optimizados para hacerlo así, pero en Unreal lo mejor es usar lightmaps para todos los modelos estáticos.
Otra alternativa a usar lightmaps es usar iluminación estática, pero imprimiendo los resultados sobre los colores de los vértices del modelo.
El sistema de iluminación de Unreal
La geometría de un nivel de UDK se divide en dos tipos principalmente, los actores estáticos, como los Static Meshes, y los actores dinámicos, como los Skeletal Meshes, Movers, InterpActors y KAssets. Como parte del proceso de creación existe un paso donde se construye la iluminación del nivel. Durante ese proceso Unreal calcula la interacción de las luces con los objetos estáticos, e imprime el efecto de la iluminación sobre ellos para no tener que hacerlo en el momento del gameplay.
Cualquier cambio que hagas en la geometría estática, aunque sea mover un Static Mesh un poco, romperá la iluminación del nivel y tendrás que reconstruir de nuevo para evitar el mensaje “Lighting needs to be rebuilt”.
Puedes imprimir la información de luz de dos formas en los Static Meshes. Por defecto, la iluminación quedaba impresa como colores de vértices, entonces la calidad de la sombra dependía de la cantidad de vértices de tu geometría. Para modelos complejos puede ser una solución, pero para modelos planos donde no existe tanta teselación lo mejor es usar un Lightmap.
Para crear un lightmap, crea un nuevo canal UV en tu modelo, aparte del que usas para texturizar normalmente. La información de iluminación quedará impresa como una textura sobre este UV, así que tienes que asegurarte de que no hayan islas UV sobrepuestas, y que todo esté dentro del rango 0-1.
Haciendo los UVs
Tienes dos opciones: La primera es simplemente copiar el canal UV original y asegurarte de que no hayan superposiciones, optimizando el espacio y dejando suficiente ancho entre las islas para que no haya “sangrado” de una isla a otra si el lightmap tiene poca resolución.
La otra alternativa es crear un UV para lightmap desde cero. Dependiendo de la complejidad del modelo esta puede ser la ruta necesaria.
Unreal hace poco integró el sistema de iluminación global Lightmass. Con este sistema obtienes iluminación de mejor calidad, pero requiere de algunas optimizaciones a la hora de preparar los UVs.
Lightmass, al contrario del sistema anterior de lightmaps, sí toma en cuenta la dirección de la luz al imprimir la información. De hecho, los lightmaps creados por Lightmass usan los tres canales de color de una textura para imprimir la luz incidente desde los tres ejes 3D. Por eso es necesario que las islas UV sean lo más contínuas posibles, evitando que hayan variaciones en la rotación de las islas (por ejemplo, una isla colocada verticalmente y otra horizontalmente). Eso evita que queden cortes visibles en la iluminación.
Lo otro a considerar es el acolchado entre las islas UV. Dependiendo de la resolución a la que vas a crear el lightmap, deja un espacio suficiente entre cada isla interior del mapeado UV. Puedes usar todo el espacio hasta los bordes, porque Lightmass se preocupa de acolchar éstos al construir la iluminación.
Importación y configuración

Asegúrate de exportar tu modelo con ambos canales UV, e impórtalo a Unreal. Si el UV secundario tiene problemas de sobreposición, Unreal te lo advertirá. Una vez importado, haz doble clic sobre el modelo en el Content Browser para abrir el Static Mesh Editor. Ubica la propiedad Light Map Coordinate Id y fíjate que esté en 1 (0 es el UV normal, 1 es el UV de lightmap). En la propiedad Light Map Resolution escribe el tamaño de la textura que se creará cuando construyas la iluminación del nivel. De este tamaño depende el detalle que tendrá el mapa de iluminación sobre este modelo. Nota: desde el cambio a Lightmass, Unreal usa un nuevo formato para guardar las sombras, que ya no necesita tanta resolución para obtener resultados aceptables. Para modelos arquitectónicos muy grandes, obtengo buen detalle con 512 pixeles, cuando antes hubiera necesitado 1024 o 2048. Para objetos pequeños uso 128 o incluso 64, si lo aguanta. Si lo dejas en cero el modelo volverá a iluminarse con colores de vértices. Tendrás que hacer varias pruebas para ver qué resultados te convienen. Ten en cuenta que las texturas de lightmap procesadas se guardan con el nivel, así que con muchos objetos usando lightmaps enormes el peso del nivel va a crecer considerablemente.
Pruebas
Ahora puedes construir las luces del nivel pulsando Build All. Lightmass empieza el proceso y te avisará cuando termine (puede tardar varios minutos).
Presiona este botón en los modos de visualización para activar el modo Lighting Only With Texel Density.
![]()
En este modo, Unreal muestra el nivel iluminado, pero en lugar de las texturas normales muestra un patrón de tablero de ajedrez representando la resolución de textura de los modelos. Cada cuadro en la textura representa un pixel de textura (un Texel). Aquí puedes verificar si están correctos, o si fuiste muy tacaño o generoso con la resolución. Los modelos que no muestran la textura de tablero de ajedrez están siendo iluminados con colores de vértices.
Por último, si quieres ver las texturas de lightmap generadas y guardadas actualmente, ubica tu nivel en la lista de paquetes del Content Browser. Las texturas no utilizadas se limpian automáticamente luego de un tiempo.

En resumen, un lightmap es una textura creada por Unreal donde imprime la información de luces y sombras de un modelo previamente para no tener que calcularla en tiempo real. Para crear un lightmap necesitas tener un segundo canal UV en tu modelo donde ninguna isla se sobreponga. En Unreal asigna el canal adecuado y la mínima resolución aceptable. Construye las luces y refina para que el nivel no quede pesando demasiado.
