Normal Maps en palabras sencillas.

Este artículo lo escribo por petición de Malice, que después de explicarle como había solucionado mis problemas con Normal maps, y del cual estaba al tanto de mi batalla con ellos, me respondió con un ¿qué?, eso se debió a que poner la solución en palabras no es nada fácil, por eso voy a explicar con palabras mas “normales” como enfrentar todos los problemas, en http://www.polycount.com/forum/ pueden encontrar más información al respecto.

Antes que nada voy a dejar claro varios conceptos, primero, los modelos en los videojuegos cuentan de polígonos, un conjunto de vértice y lineas que unidos forman a los polígonos en forma de alambrado, para que estos modelos tengan color se les aplica una textura en pixel es, pero si el modelo esta en 3D y la imagen esta en 2D ¿como hacemos eso?, para eso existen los UVmaps, es desarmar tu modelo en grupos de polígonos y estirarlo para que quede plano, así como cuando armas un cubo en papel y este tiene forma de cruz.

1

los polígonos que abres y pones en 2D se les asigna una posición, una escala y una rotación, lo que le estamos dando es la coordenada de la cual va a extraer los pixeles de la imagen, cuantos pixeles va a extraer y en que dirección, por eso si un polígono es mas grande que otro, quiere decir que este va a contener mas pixeles y por lo tanto va a tener mejor definición.

2

Ahora vamos a lo que nos importa, en los videojuegos existen dos procesos para la creación de Game Art, el primero, es crear tu modelo con pocos polígonos y luego agregarle polígonos y así obtener un modelo mas detallado, el otro proceso suele considerar se el proceso inverso, pero en realidad no es así, por que ambos procesos se combinan dependiendo del objeto que se vaya a modelar. Es muy común crear un modelo con alto detalle y una cantidad de polígonos que sobrepasa el millón, a este se le conoce tiernamente como “High Poly” una vez modelas tu High poly, que pudo iniciar de un “Low Poly” como base, luego comienzas a modelar sobre tu modelo High Poly, a esto se le conoce como retopología, cuando terminas tu retopología, pasas a crear el mapa de UV´s para poder comenzar a texturizar, así que pasamos la información de color y detalle de nuestro modelo en alta definición a nuestro modelo en baja definición.

3

Pero ¿cómo hacemos para que el detalle de el modelo en alta definición que tiene arrugas y texturas pase a un modelo que solo tiene dos polígonos en su pecho?, entonces es ahí cuando nuestros amigos los Normal Maps llegan a salvar el día, estos mapas contienen la información de relieve y detalle del modelo de alta definición, para ello lo mejor es usar software especializado para ello, se los aseguro, ningún software en la industria les dará los resultados que pueden obtener con Xnormal, por que es el único con la cantidad de opciones suficientes para obtener resultados, Xnormal es un software gratuito que pueden descargar para crear sus mapas de normales.

El problema mas común es que la parte por donde se corto la malla para crear una isla de Uv no encaje, eso es debido a que el Canal Verde del Normal Map esta invertido, ¿eh? pues sí, eso, resulta que el normal map utiliza los tres canales de una imagen para guardar sus coordenas de relieve “RGB” o “XYZ” para solucionarlo se puede generar un normal map en -Y o invertir el canal manualmente en photoshop.

4

el segundo problema es natural, los pixeles que estan dentro de un polígono se van a ver cortados a la mitad por el poligono, sobretodo si el polígono tiene alguna rotación extraña, cuando este trata de empatar con los pixeles de otro polígono, se va a notar una especie de raya, que solo se ve cuando se esta muy cerca, esto sucede por que los pixeles tienen direcciones diferentes, y al estar cortados a la mitad la función del normal map no termina por completarse.
5

Otro de los problemas mas comunes ocurre cuando tienes grupos de suavizado o bordes duros http://www.youtube.com/watch?v=PMgjVJogIbc cuando se genera un normal Map sin grupos de suavizado este trata de contrarrestarse, por lo cual agregará degradados adicionales al mapa, como resultado tenemos sombras extrañas, lo mejor es aplicar los bordes duros antes de generar el normal map, entonces este obtendrá superficies planas, y cuando juguemos con la iluminación los resultados serán apropiados.
6

el último problema es con los bordes redondeados, cuando tienes un modelo high poly que tiene bordes redondeados, normalmente un modelo de superficies duras “Hard Surfaces” el borde se va a ver cortado, y eso es debido a la forma en la que el poligono se esta proyectando, -¿qué?, pues si, para poder pasar la información de un modelo HighPoly a un modelo Low Poly, ambos deben estar en la misma posición uno encima del otro, entonces el Low Poly va a extender una linea en ambas direcciones, esta línea es conocida como “normal face” y ya que viaja en las dos direcciones es conocida como binormal, capturando toda la información de relieve que se encuentre debajo o encima de él. En adición a esto cuando se aplica un grupo de suavizado, el borde por el que se corto ya no se proyectará de forma adecuada, entonces al generar el Bake este Omitirá una parte de la malla de alta definición, mostrando un problema con los bordes.
7

para solucionar los dos últimos problemas lo adecuado es generar una mesh conocida como “Cage” esta mesh es exactamente igual al Low Poly, solo que esta será mas grande y la rodeará completamente, la función de esta mesh es decirle a nuestro software de bake cual es la distancia de proyección de cada polígono, y que tanto del espacio entre el polígono del low Poly y el Cage deberá usar para generar el bake, permitiendonos más control de que es exactamente lo que queremos proyectar, y obteniendo resultados mas precisos y limpios.

8

9

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s