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.

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.

Continuar leyendo «Unwrapping UV para Lightmaps»