Unwrapping UV para Lightmaps

Sin duda uno de los pilares para lograr un buen resultado en UE4 es el dominio y control del mapeo UV para generar los Lightmap, osea el mapa especializado para guardar los cálculos de luz y sombra dentro de nuestra escena que fue pre calculada por medio del proceso de lightmass (baked lighting), este post intenta explicar todo lo referente a este tema y como dije es un pilar esencial y obligatorio si se quiere avanzar en UE4.

Lightmap de un Static Mesh
¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 5)

Al crear activos para tu juego, a menudo pasarás por el proceso de tener que generar un correcto mapeado UV para tus texturas. Si tu proyecto tiene la intención de utilizar cualquier forma de iluminación horneada conocida como Baked Lighting utilizando luces Estáticas o estacionarias también necesitará configurar un canal UV que almacene la información de iluminación, osea un lightmap. 

Que es Baked Lighting?

Es la posibilidad calcular la iluminación y pintar los resultados sobre los objetos, de modo que toda mi escena quede iluminada y no sea solo un render 2d.

Para ello debo usar un canal UV especial que almacene el resultado de los calculos de la iluminación por cada objeto de mi escena, a ese mapa se lo llama lightmap y normalmente se crea haciendo un unwrap del modelo 3d (static mesh) de forma que el modelo quede representado en correcta escala dentro de un canvas entre las coordenadas 0 y 1 donde ningún triangulo de la malla se superponga, ver imagen superior del post.

La ida es que ese mapa pueda contener en su informacion que es lo que pasa en cada pixel con la luz y la sombra para que al aplicarse ese mapa o piel sobre el objeto del mismo modo que una textura lo que me aporte sea como tiene que verse según la fuente de luz que recibe y calcule, osea en realidad no es mas que una textura pintada que esta siendo colocada sobre el objeto para representar que parte del objeto esta en luz y que en sombra, a simples rasgos y en criollo para que entiendan.

El canal UV que se utiliza para hacer Baked Lighting se llama Lightmap UV, que es similar a un canal de texture UV que contiene un mapeado en forma de piel 2d que se aplicara a cada malla estática representando el modelo, puede ser una madera, una mesa, una persona, etc, excepto que este Lightmap UV en particular se utiliza para almacenar información de iluminación y sombras, establece como se comporta la luz sobre el objeto. 

El proceso de mapeo de luz es una de las áreas más desafiantes de la creación porque, a diferencia de los rayos UV de textura, cada cara del modelo debe tener su propio espacio único en el mapa de luz sin caras superpuestas (digamos que cada porción del modelo recibirá su cantidad de luz y sombra y no puede haber 2 lugares iguales, por ello cada cara poligonal o triangular de la malla tiene que ser representada en el mapeo UV, y la disposición UV debe contener suficiente espacio de relleno entre las porciones del objeto (espacio) entre ellos para evitar artefactos (osea para que una porción de luz no afecte una porción de sombra, por ello se necesita espacio entre los objetos). Quedara mas claro mas adelante.

Los mapas de luz solo se requieren cuando se decide utilizar la técnica de Baked Lighting con el uso de luces estáticas o estacionarias sobre objetos estáticos dentro de Unreal. A este tipo de iluminación se la suele conocer como pre calculada, porque se calcula 1 vez y luego se puede recorrer toda la escena en tiempo real y se vera completamente iluminada ya que cada objeto tiene pintada la informacion de la luz en su propia piel.

Solo en caso de mover un objeto nos veremos en la necesidad de calcular nuevamente la luz, ya que al moverlo necesitamos volver a pintar esa piel de luz y sombras según como lo afecten las fuentes de luz en su nueva posición.

Imaginen una caja en el piso y una luz, hago los cálculos de la luz y veo la luz y las sombras como afectan la caja y el piso, quito la luz (la elimino), sigo viendo los objetos iluminados y con sombras porque se pintaron así (baked lighting), ahora muevo la caja, sigo viendo la caja con luz y sombra pero la sombra del piso no acompaña a la caja, quedo pintada donde antes había una caja. Para que la sombra del piso vuelva a estar donde debe tengo que volver a re calcular los mapas de luz.

Crear un mapa de luz

Hay dos formas de crear un Lightmap:

Auto generado de Lightmap UV

La creación de UV de mapas de luz personalizados puede ser un proceso lento, especialmente si tiene proyectos que requieren miles o decenas de miles de activos (osea objetos 3d). Un mapa de luz generado automáticamente puede ser una forma rápida de crear un mapa de luz UV para ahorrarle una inversión de tiempo considerable si lo configura manualmente y genera un correcto padding (espacio) entre las mallas. Hemos adoptado este proceso en nuestro propio flujo de trabajo aquí en Epic.

Al importar sus propios activos, se generará automáticamente un mapa de luz UV (a menos que esté deshabilitado) en la ventana Opciones de importación de FBX.

Ventana de importación de objeto FBX a Unreal Engine 4
Ventana de importación de objeto FBX a Unreal Engine 4

Se generará automáticamente un mapa de luz basado en el Mapeo UV para el diseño de textura (canal UV 0) del modelo 3d que se esta importando. El mapa de luz UV generado automaticamente vuelve a empaquetar las islas para que cumplan los requisitos de un buen mapa de luz sin errores: sin islas superpuestas o envolventes, y suficiente relleno entre islas para limitar los artefactos en función de la resolución del mapa de luz objetivo.

Cuando hablamos de islas nos referimos a porciones de la malla representadas en el canvas o mapa UV que conforman un objeto, estas islas no tiene que superponerse e incluso tienen que mantener una distancia (padding) prudencial entre unas y otras, o pueden producir artefactos, errores de luz o sombra donde no debería haber.

Representacion 2d de la columna, separada en islas dentro del canvas y con un correcto padding.
Representación 2d de la columna, separada en islas dentro del canvas y con un correcto padding.

Una vez que se ha generado un Lightmap UV para una malla estática, se puede ajustar usando la configuración de generación de Lightmap en el editor de malla estática en la  Build Settings, pero no es necesario tocar estas configuraciones una vez que se haya generado el Lightmap UV.

Podemos cambiar los parámetros de generación de Lightmap.
Podemos cambiar los parámetros de generación de Lightmap.

Estas configuraciones se pueden usar en cualquier momento para generar un Lightmap UV o reempaquetar las existentes. La herramienta utiliza un algoritmo de reempaquetado para generar el mapa de luz basado en Source Lightmap Index (o canal UV) y luego lo almacena en un nuevo Destination Lightmap Index

El algoritmo vuelve a empaquetar los gráficos UV del índice del mapa de luz de la fuente especificada, pero no los corta ni los divide en el proceso. Tenga esto en cuenta al crear Lightmap UVs y al hacer un poco de trabajo inicial en su software de modelado o software de edición UV, puede obtener un buen resultado al dividir los gráficos UV antes de importarlos a UE4 y en la mayoría de software profesionales va a tener que hacer esto para poder aplicarle las texturas como debe.

Mapas UV lightmap personalizados

Para la mayoría de las mallas estáticas que importe en UE4, podrá usar un mapa de luz UV generado automáticamente porque se puede lograr un buen resultado con un mínimo esfuerzo. Sin embargo, para aquellos momentos en los que no es posible utilizar adecuadamente un UV generado automáticamente, querrá crear un mapa de luz personalizado en su software de modelado 3d como 3d Max, Blender o herramienta de edición UV preferida.

Dependiendo de las capacidades de sus herramientas de edición UV y del tipo de activo que está creando, puede crear un mapa de luz personalizado que es la opción ideal pero mas trabajosa, esto normalmente sucede con modelos que por su propia forma pueden requerir más atención al detalle que otros activos. 

Muchas herramientas de edición UV, como la que se muestra a continuación de Autodesk 3ds Max, tienen una gama de características que le permiten aplanar, remodelar, conectar y separar fácilmente los gráficos UV de manera que tengan sentido. Estas son opciones que no están disponibles con la generación de mapas de luz de UE4 y por ello debe hacerlo en programas especializados a tal fin.

Generando un mapa de luz en 3d Max con las herramientas de edición UV.
Generando un mapa de luz en 3d Max con las herramientas de edición UV.

Al final de esta página encontrara ayuda para hacer un Unwrap de una malla y quizás combinar este proceso con mapas de luz de generación automática. 

Textura UV versus Lightmap UV

La configuración de una textura UV a menudo requerirá un enfoque diferente para diseñar los gráficos UV para obtener el mejor resultado que el que obtendría con el mapa de luz UV. Los mapas de luz deben colocarse planos sin áreas superpuestas y necesitan suficiente relleno entre cada isla UV para garantizar que no haya fugas de luz. 

Configurar una textura UV no tiene estas estipulaciones porque solo importa cómo desea que la textura se asigne a esos gráficos UV. Es aceptable que tengan islas superpuestas o incluso envolventes (osea que el mapeado incluso puede salirse del canvas), ya que puede tener texturas de mosaico u otras asignadas a diferentes partes de la geometría.  

Tomemos, por ejemplo, la fachada del edificio a continuación. Tiene cuatro lados que tienen la misma textura asignada a sus diferentes caras. En lugar de utilizar el espacio UV para cada lado, se ha creado una textura única y los gráficos UV de cada lado se han colocado uno encima del otro. Esto permite que el espacio se use de manera eficiente para una textura única que se asigna a todas las caras sin tener que usar una resolución más alta debido a la menor densidad de texel.

Texture UV - Observe que el canvas solo mapea un lado que se replicara en los otros 3.
Texture UV – Observe que el canvas solo mapea un lado que se replicara en los otros 3.

La torre se vera excactamente igual de las 4 caras que la conforman, lo que estamos haciendo aqui es aplicándole la piel a cada cara.

Cuando se presenta el mapa de luz (abajo), todas las caras se representan con su propio espacio UV para que se pueda generar un Bake de luz adecuado. Algunas partes se han separado y se les da suficiente relleno entre las otras tablas para garantizar menos artefactos o fugas de luz.

Lightmap UV - Observe que el necesita mapear todo el objeto 3d.
Lightmap UV – Observe que el necesita mapear todo el objeto 3d.

Necesito poder transmitir que pasa con la luz y las sombras en cada cara de la torre, por ello necesito que el lightmap represente a todo el objeto, de otro modo todas las caras se verían igual de iluminadas y sombreadas lo que seria completamente irreal, si un lado de la torre recibe luz el otro lado a de estar en sombra.

Contiguous UVs and Padding (espacio entre islas)

Una forma para configurar un correcto mapeo de luz UV es tener agrupaciones de islas contiguas (o conectadas) de la geometría, para generar un resultado de iluminación suave, es ideal conectar caras de manera que tenga sentido al representar la geometría.

Por ejemplo, en las siguientes islas UV se han conectado todas las caras frontales y laterales de la geometría en un solo gráfico UV y la parte superior se ha separado como su propia isla.

Imagen que muestra como nos conviene unir ciertas islas para suavizar la luz.
Imagen que muestra como nos conviene unir ciertas islas para suavizar la luz.

Una vez hecho el unwrap es necesario incluir una cantidad mínima de relleno entre los gráficos UV para evitar artefactos de sangrado de luz y sombra. 

Por lo general, se requiere un mínimo de cuatro texels para evitar todos los artefactos de sangrado ya que la compresión de textura DXT funciona en bloques de texel 4×4.

Si está configurando un mapa de luz personalizado para el relleno, use la siguiente ecuación para determinar el espaciado de texel adecuado para su cuadrícula:

1 / Target Lightmap Texture Resolution = Texel Grid Spacing

Ejemplo de la fórmula anterior usando una resolución de  64 :

1 / 62 = 0.0161290323

UE4 usa un píxel para el relleno, lo que significa que necesitamos restar uno píxel de cada lado (U y V) cuando intentamos encontrar la cuadrícula de ajuste para ajustar manualmente los gráficos UV a la cuadrícula, por ello es 1/62 y no 1/64. El uso del mapa de luz generado automáticamente por UV los empacará con el relleno adecuado.

  1. Padding UV perdido
  2. Padding UV necesario para evitar la contaminación y artefactos.

Los bordes del mapa de luz UV no necesitan relleno adicional porque Lightmass rellena alrededor de los bordes o edges del mapa de luz para evitar cualquier tipo de fuga de luz o bleeding (sangrado) al combinar el lightmap texture atlas con el nivel. 

El uso eficiente del espacio UV puede requerir que fuerce algunos rayos UV con la fuerza bruta (brute force) y el uso de la escala para ajustarlos dentro del espacio UV y usar la mayor cantidad de porción UV.

La imagen de la derecha muestra un correcto uso del canvas para un Lightmap
(De izquierda a derecha) Vista solo iluminación; Malla Estática con Textura; Diseño UV de textura, diseño UV de lightmap

Es más importante que tengamos una superficie contigua limpia sin interrupción para el resultado de la iluminación que preocuparnos por la escala 1:1. 

Un mapa de luz que tiene una relación de escala 1:7 tiene el doble de cobertura y producirá un mejor resultado incluso si las islas están escaladas de manera no uniforme. 

Las áreas que son demasiado delgadas pero que mantienen una relación 1: 1 no se iluminarán correctamente porque no pueden capturar un buen resultado. 

Otra conclusión clave de este ejemplo es que los cortes interiores negativos se han separado (resaltado en rojo) para evitar que compartan información de luces y sombras para los gráficos contiguos de UV donde un resultado de iluminación suave es importante.

Ejemplos de Lightmap UV

Los siguientes ejemplos exploran diseños UV de Lightmap personalizados para una geometría simple, compleja y estructurada orgánicamente. Estos pueden darle una idea de cómo acercarse y mantener un resultado de iluminación suave.

Objeto simple

Esta fachada del edificio representa una pieza modular simple que es un buen ejemplo de una geometría contigua que cuando se desenvuelve refleja su geometría baja en poli.

Diseño Texture UV
Diseño Texture UV
Diseño Lightmap UV
Diseño Lightmap UV

El uso de caras contiguas hace que sea mucho más fácil maximizar la cobertura en el espacio UV para obtener mejores bake de luz con resoluciones de mapa de luz más bajas y con un mapa de luz casi perfecto. Tenga en cuenta que no hay costuras ni líneas oscuras sutiles causadas por gráficos UV divididos.

Resultado de combinación de mapa de luz y de textura.
Resultado de combinación de mapa de luz y de textura.

Objeto complejo

Para los diseños que no se adhieren a ninguna de las reglas generales para los rayos UV contiguos, como los que tienen mucha geometría o espacio negativo con pocos elementos, deberá dividir los gráficos UV y agregar mucho más relleno para evitar artefactos.

Diseño de Mapeo Texture UV y Mapa de Luz UV
Resultado de calculo de iluminación en Preview, solo iluminación sin materiales.
Resultado de calculo de iluminación en Preview, solo iluminación sin materiales.

El mapa de luz de barandas muestra cierta distorsión en las piezas verticales que mantienen unido el riel (imagen central, lado derecho). Los dos lados y la sección central de esas piezas fueron forzados a unirse. A pesar de que tiene distorsión en los rayos UV, todavía tiene suficiente cobertura para generar un buen resultado.

Los interiores de las piezas circulares en la barandilla se han dividido para la parte frontal y posterior en sus propias islas contiguas. El lado que será visible para el jugador tiene las caras internas y externas agrupadas para que las tres cuartas partes de esas áreas tengan una iluminación suave. La parte posterior de la barandilla es su propia isla, ya que probablemente no sea algo que sea fácilmente visible en el nivel. En cambio, centrarse en la mayoría que es visible para los jugadores es más importante para tener un buen resultado.

A veces, puede tener una geometría compleja que tendrá que ajustar en base a lo que mejor funciona en su escena para ajustar el Lightmap UV. 

Diseño de Mapeo Texture UV y Mapa de Luz UV
Resultado de calculo de iluminación en Preview, solo iluminación sin materiales.

Cuando hay tantos elementos separados, existe la posibilidad de que se desperdicie mucho espacio UV debido al padding (espacio entre piezas). En este caso, no hay más remedio que usar una resolución de mapa de luz más alta para garantizar que se mantenga la calidad. 

Debemos prever este tipo de escenarios, en este ejemplo se planeó usar una resolución de mapa de luz más alta combinando gráficos UV que tenían sentido y también sabiendo que aún así no se vería perfecto. Habrá algo de sangrado de luz pero no tanto como para arruinar el resultado de la iluminación.

Dependiendo de su cantidad de memoria puede usar una resolución de mapa de luz más alta para reducir algunos artefactos, pero siempre es mejor usar la resolución más baja posible para el rendimiento y la optimización. Además, tenga en cuenta que un buen material con una textura difusa y normal interesante puede ocultar algunos problemas de mapas de luz.

Objeto orgánico

Para la geometría que tiene muchas formas redondeadas o que tiene un diseño más orgánico, es mejor proyectar la superficie plana y relajar los rayos UV según sea necesario.

Objeto orgánico con mapeo de textura UV y Lightmap UV
Objeto orgánico con mapeo de textura UV y Lightmap UV
Resultado de calculo de la iluminación en preview, vista solo iluminación.
Resultado de calculo de la iluminación en preview, vista solo iluminación.

Para formas orgánicas, observe cómo la geometría se puede separar de una manera que tenga sentido, como dividir los gráficos UV en lugares que funcionarían naturalmente. 

La mayor preocupación al hacer esto es que cualquier división del borde romperá la suavidad del resultado de la iluminación. Entonces, en el caso de esta fuente, romper la parte superior de la fuente en sus mitades superior e inferior, siendo el centro propio y la base inferior como su propia isla tiene más sentido para reducir las costuras visibles en el proceso de calculo de luces. Una buena regla general es dividir los UV de su mapa de luz en las secciones donde hay huecos o hendiduras profundas.

El gráfico UV para la columna central no se parece a su malla, sino que se ha enderezado para usar el espacio UV de manera más eficiente. Para un mapa de luz UV, esto es perfectamente aceptable para permitir un resultado de iluminación agradable y suave.

La importancia de la resolución del mapa de luz

Un mapa de luz efectivo llenará la mayor parte del espacio UV de la manera más eficiente posible para utilizar la resolución más baja que obtenga un buen resultado de iluminación. La mayoría de los problemas de mapeo de luz pueden mitigarse mediante el uso del espacio UV para maximizar la cobertura mientras se mantiene suficiente relleno entre los gráficos UV.

Si su proyecto está diseñado para plataformas de escritorio, generalmente pueden permitirse el lujo de utilizar resoluciones más altas, ya que tienen un mayor presupuesto de memoria para aprovechar. Sin embargo, para consolas y plataformas móviles, los presupuestos de memoria deben controlarse estrictamente. Es común sacrificar algo de calidad de resolución de mapas de luz para mantenerse dentro del presupuesto.

Dependiendo de la geometría y su complejidad, puede ser útil dividir la malla en piezas más pequeñas para que cada una pueda tener un mapa de luz único con buena cobertura y usar una resolución de mapa de luz más baja.

Inspección de mapas de luz y configuraciones

Static Mesh Editor

El editor de malla estática le permite inspeccionar cualquier UV adjunto a su malla estática,  generar sus propios UV de mapa de luz , establecer la resolución de la textura del mapa de luz para esta malla y más.

Enabling the UV Overlay – Habilitar la superposición UV

Use el menú desplegable UV en la barra de herramientas para seleccionar un canal UV para mostrar. 

Static Mesh Editor, se ingresa haciendo doble clic sobre una malla estática.
Static Mesh Editor, se ingresa haciendo doble clic sobre una malla estática.

Una vez seleccionado, el canal UV muestra una superposición en la vista del editor de malla estática.

Podemos observar el resultado del mapeo UV en el canal 1 en este caso.
Podemos observar el resultado del mapeo UV en el canal 1 en este caso.

El canal UV que se muestra actualmente se indica sobre la superposición.

En esta imagen se aprecia mejor el canal seleccionado.
En esta imagen se aprecia mejor el canal seleccionado.

Establecer el índice de coordenadas del mapa de luz

El  índice de coordenadas del mapa de luz ( Lightmap Coordinate Index ) especifica qué canal UV debe usarse para esta malla estática cuando Lightmass genera una textura de mapa de luz durante una construcción de iluminación. 

Localice el  Índice de coordenadas de Lightmap ( Lightmap Coordinate Index ) en la sección Configuración general ( General Settings ) del Editor de malla estática.

CUIDADO – UE4 intentará asignar el canal UV adecuado cuando sea posible al importar una malla estática que actualmente tiene un canal de mapa de luz (UV Channel 1) o si se genera un mapa de luz durante la importación. Sin embargo, si genera un Lightmap UV después de la importación de una malla estática que aún no tenía uno, deberá asignar manualmente el canal UV correcto al índice de coordenadas del mapa de luz.

La resolución Lightmap le permite establecer la resolución de textura predeterminada para la textura de luz generada por Lightmass durante los cálculos de la iluminación. Esta resolución se utilizará para todas las instancias de esta malla estática colocada en un nivel.

Ubique la configuración de Resolución de mapa de luz ( Lightmap Resolution ) en la  sección Configuración general  ( General Settings ) en el Editor de malla estática.

Ajuste la resolución del mapa de la luz.
Ajuste la resolución del mapa de la luz.

También puede sobrescribir la resolución de un mapa de luz de una Static Mesh en cualquier nivel habilitando Overridden Light Map Res y cambiando su tamaño de resolución. Esta configuración anula a nivel de instancia la configuración particular de la malla estática. 

Overridden Light Map Res, sobrescribe la resolución de la malla estática.
Overridden Light Map Res, sobrescribe la resolución de la malla estática.

CUIDADO – Ajustar Light Map Resolution o Overridden Light Map Res con un valor mas bajo que Min Lightmap Resolution utilizado para generar el mapa de luz UV hará que las costuras queden visibles y puede producir posibles fugas de luz cuando se hacen los cálculos de la iluminación. El valor Min Lightmap Resolution debe ser el valor más bajo posible que alguna vez intente establecer para esta malla estática para garantizar que se mantenga suficiente relleno entre los gráficos UV.

Vista de nivel – Level Viewport

El  Level Viewport le permite utilizar diferentes modos de visualización para inspeccionar su iluminación y resolución lightmap en cuanto a densidad relativa a otras mallas estáticas. 

Estos modos de vista lo ayudan a inspeccionar los resultados finales, así como a solucionar problemas de mapa de luz y de construcción de iluminación. 

Uso del modo de vista de densidad de mapa de luz

El modo de vista  Lightmap Density le permite visualizar la densidad de la resolución de los mapas de luz asignados con una cuadrícula a cuadros en relación con otros Actores de malla estática en el nivel basado en una configuración de densidad «ideal» (o máxima). 

Es importante tener una densidad uniforme en toda la escena para obtener una iluminación constante cuando se utiliza iluminación horneada (baked lighting).

Modo de visualización Lightmap Density
Modo de visualización Lightmap Density

Habilite este modo de visualización en el Viewport – Lit – Optimization Viewmodes – Lightmap Density ta cual muestra la imagen aqui abajo.

Camino para acceder desde el Viewpot al modo de vista Lightmap Density.
Camino para acceder desde el Viewport al modo de vista Lightmap Density.

Una vez habilitado, una cuadrícula de color superpondrá todas las mallas estáticas de la escena según su resolución de mapa de luz actual. 

Los siguientes colores de densidad indican la resolución ideal del mapa de luz para el nivel y como este se relaciona con la resolución del mapa de luz establecida para las mallas estáticas en el nivel.

Debería ajustar la resolución de cada objeto, teniendo en cuenta los colores, la complejidad del objeto, el nivel de detalle pretendido y la importancia del objeto en su escena, en lo que Arquitectura se refiere. Para los juegos o VR la regla es siempre lo menos posible mientras el resultado sea aceptable. 

Tenga en cuenta que cualquier malla estática con su movilidad establecida en Móvil (movable) mostrará Marrón en el modo de vista Lightmap Density, ya que no requiere un mapa de luz UV o necesita ser optimizado a este respecto.

La densidad predeterminada es un punto de partida donde comenzar, dependiendo de si su escena es para un juego, arquitectura o realidad virtual y la cantidad de memoria con la que cuente quizas le sea util ajustar los rangos de color para que sean más estrictos o flexibles para su proyecto. 

Use el apartado Lightmap Density Rendering Options para ajustar la preferencia de su escala, dicho apartado lo encontrara en Build > Lighting Info > Lightmap Density Rendering Options como lo muestra la imagen siguiente.

Ajuste la escala de colores de Lightmap Density en base a las necesidades de su proyecto.
Ajuste la escala de colores de Lightmap Density en base a las necesidades de su proyecto.
PropiedadDescripción
Densidad idealEstablece la densidad ideal a la que debe ser ajustada su escena. La densidad de texel ideal se representa con verde.
Máxima densidadEstablece la densidad máxima a la que se considera demasiado densa para la escena. La densidad de texel es roja.
Escala de colorEscala el color de la escena cuando se utiliza el modo de vista Densidad de mapa de luz.
Escala de grisesEscala el nivel de brillo del factor de escala de grises para la escena en función de los valores de densidad Ideal Máxima .
Render en escala de grisesPermite usar la escala de grises para el modo de vista de densidad de mapa de luz.

Modo de visualización de solo iluminación

El  modo de vista Solo iluminación ( Lighting Only ) es útil para inspeccionar la iluminación en su escena sin información de textura de material. Esto es extremadamente útil cuando se mira el resultado del calculo de iluminación (baked lighting) con parámetros de preview. 

Modo de visualización Lighting Only
Modo de visualización Lighting Only

Use este modo de vista con Error Coloring para visualizar errores de mapa de luz en su escena como resultado de la superposición o envoltura de UV.

Configuraciones mundiales – World Settings

El panel de Configuración mundial contiene configuraciones específicas para el nivel actualmente cargado, incluye algunas configuraciones adicionales específicas para mapas de luz, como elegir si se deben comprimir para ahorrar memoria (no recomendable en proyectos Arquitectónicos a no ser que sean para realidad virtual), establecer el tamaño máximo del atlas de textura empaquetado que almacena los mapas de luz y acceder a las texturas de mapa de luz empaquetadas generadas para el nivel.

Comprimir mapas de luz – Compress Lightmaps

Por defecto, UE4 ya comprime las texturas de mapa de luz generadas para la optimización. Cuando Compress Lightmaps no está marcado, el atlas de textura de mapa de luz empaquetado no usará compresión. Aumentará el uso de memoria significativamente (cuatro veces) al hacerlo, pero puede reducir los artefactos causados ​​por los algoritmos de compresión.

Para superficies que no usan un mapa normal, los artefactos de compresión pueden ser visibles para mapas de luz más pequeños empaquetados en el atlas de texturas. Mediante el uso de buenas texturas y mapas normales, se mejora el resultado de baked lighting. Para algunos UV de mapa de luz problemáticos en los que está aumentando la resolución del mapa de luz, tenga en cuenta que volver a trabajar los gráficos UV para tener una cobertura adicional dentro del espacio UV puede mejorar este tipo de artefactos de compresión.

Áreas iluminadas directamente – Directly Lit Areas

En áreas iluminadas directamente con alto contraste, los artefactos de compresión pueden ser más fáciles de detectar. Con la compresión desactivada, el resultado del mapa de luz es más suave, sin manchas, pero a un costo mucho mayor.

Comprimir mapa de luz deshabilitado - resolución 64
Comprimir mapa de luz deshabilitado – resolución 64
 Comprimir mapa de luz habilitado - resolución 64
Comprimir mapa de luz habilitado – resolución 64
Áreas indirectamente iluminadas – Indirectly Lit Areas

En áreas indirectamente iluminadas, los artefactos de compresión son menos notables. Si bien el resultado es más suave cuando la compresión está desactivada, es menos probable que se note cuando se aplican texturas y mapas normales.

Comprimir mapa de luz deshabilitado – resolución 64
Comprimir mapa de luz habilitado – resolución 64
Áreas iluminadas directamente con mayor resolución del mapa de luz

Una posible solucion para mejorar los resultados de los calculos de la iluminacion sin deshabilitar la compresion es la de duplicar la resolucion de los Lightmaps.

La resolución del mapa de luz en la base de la pared (centrada entre las columnas contra el piso) se ha incrementado para demostrar que se pueden lograr resultados similares simplemente aumentando la resolución del mapa de luz en lugar de desactivar la compresión. 

Comprimir mapa de luz habilitado – resolución 64

Al duplicar la resolución original del mapa de luz, la mayoría de los artefactos se han eliminado y el uso de memoria de textura es mínimo o inexistente para este pequeño cambio.

Comprimir mapa de luz habilitado – resolución 128

Tamaño de textura de mapa de luces y sombras empaquetadas

Cuando se generan mapas de luz para el nivel de actores individuales, se empaquetarán y almacenarán en atlas de texturas múltiples. La carga de texturas de mapas de luz individuales por actor no es muy eficiente y aumentaría la carga de trabajo de la GPU para cargarlas y descargarlas continuamente.

La cantidad de actores de malla estática utilizados en un nivel y su resolución de mapa de luz determinarán la cantidad de atlas de textura que se utilizará. 

Las resoluciones de mapa de luz más grandes aumentan la cantidad de espacio que usan en el atlas. El tamaño del atlas de texturas se puede ajustar utilizando una potencia de dos (512, 1024, 2048 o 4096) para la configuración del tamaño de textura del mapa de luces y sombras empaquetadas ( Packed Light and Shadow map Texture Size ).

Solución de problemas y optimización

Error para colorear – Error Coloring

Error Coloring permite visualizar las advertencias que aparecen en el Registro de mensajes ( Message Log ) en Verificación de mapa ( Map Check ) después de hacer un Build de luces, superponiendo un color de error en el mapa de luz donde se produce.

Habilitar el uso de error coloring
Habilitar el uso de error coloring

Cuando usa Error coloring, la Calidad de iluminación al hacer el Build de las luces (reconstrucción de la iluminación) debe establecerse en calidad Media o Preview para visualizar los resultados como lo muestra la imagen siguiente.

El uso del modo de vista Lighting Only puede hacer que sea más fácil buscar y encontrar este tipo de problemas.

Lightmap UV superpuestos

Una advertencia UV de mapa de luz superpuesto indica que los gráficos de UV están superponiendo. Todos los UV deben tener su propio espacio en el mapeo UV de un Lightmap. 

El color de error se superpone a Orange para cualquiera de estos gráficos UV. Tenga en cuenta que los mapas UV de textura no tienen problemas con la superposición de islas, pero no puede permitirse lo que se ve en la imagen siguiente en un Lightmap.

UV superpuestos, artefactos de luces y sombras.
UV superpuestos, artefactos de luces y sombras.
UV superpuestos, error superposición de color.
UV superpuestos, error superposición de color.

Envolviendo UVs – Wrapping UVs

Una advertencia de envoltura UV indica que los gráficos UV están fuera del espacio 0-1 UV. El color de error se superpone en verde para cualquiera de estos gráficos UV.

Mapeo de Lightmap UV fuera del Canvas.
Mapeo de Lightmap UV fuera del Canvas.
Mapeo UV fuera del canvas, error de luces y sombras Artefactos.
Mapeo UV fuera del canvas, error de luces y sombras Artefactos.
Mapeo UV fuera del canvas, error de superposición de color.
Mapeo UV fuera del canvas, error de superposición de color.

Ventana de estadísticas

La ventana de estadísticas contiene muchos datos útiles para la iluminación, las texturas y las primitivas que se encuentran en los niveles cargados actualmente. 

Muchos de los datos aquí mostrados requieren al menos que se reconstruya la luz una vez para ser útil.

Para abrir la ventana Estadísticas, use el menú archivo para seleccionar Editar> Estadísticas ( Edit > Statistics ).

Ventana estadísticas de UE4
Ventana estadísticas de UE4

Use la selección desplegable en la esquina superior izquierda para seleccionar el tipo de datos que desea mostrar:

Información de construcción de iluminación – Lighting Build Info

La Lighting Build Info muestra una lista ordenada de actores en los niveles cargados actualmente y cómo se tardó en calcular la iluminación para cada uno de ellos. 

Esta lista puede ayudarlo a localizar mallas problemáticas que pueden llevar mucho tiempo calcular la iluminación. Por ejemplo, una alta resolución de mapa de luz o un número de luces en la escena que interactúan con un actor pueden contribuir al tiempo que lleva calcular la iluminación para él.

Información de iluminación de malla estática – Static Mesh Lighting Info

La Static Mesh Lighting Info muestra una lista ordenada de actores en sus niveles cargados actualmente e información sobre su mapa de luces. Esta lista puede ayudarlo a identificar rápidamente las resoluciones de mapa de luz de los actores y la memoria de textura que usarán.

Te puede interesar

Por favor recuerde que si esta informacion le pareció útil puede agradecer dejando un comentario y compartiendo esta pagina con amigos o colegas. Así mismo lo invito a ver el curso gratuito de Unreal Engine 4 en mi canal de Youtube 3d4every1 y suscribirse al mismo si le parece interesante. Al inicio de este post puede asignar un numero de estrellas que les parezca merezca este post, siendo 5 la mayor calificación.

Temas relacionados que pueden interesarte:

Deja una respuesta