Lumberyard
Guía del usuario (Version 1.21)

Trabajo con mapeado de normales

La ilusión de que los objetos tienen profundidad y nivel de detalle extra se consigue mediante el uso de mapeados de normales, que son un tipo de mapeado topológico. Los mapeados topológicos y los mapeados de normales agregan detalles sin aumentar el número de polígonos. Por tanto, se utilizan para "fingir" profundidad y detalles como arrugas, arañazos y bordes biselados. A diferencia del mapeado por desplazamiento, el mapeado de normales afecta al sombreado, y no a la superficie en sí. La superficie sigue siendo plana cuando se ve desde un ángulo.

El mapeado topológico almacena una intensidad que representa la altura relativa (topología) de los píxeles desde el punto de vista de la cámara. El mapeado de normales tradicional, además de almacenar la altura, también contiene la dirección de las normales en los valores RGB de la imagen de la textura. Por tanto, es más preciso que el mapeado topológico.

Lumberyard utiliza una forma de mapeado de normales denominada mapeado de normales del espacio tangente, que usa un mapa de alturas o se deriva de un modelo con un alto número de polígonos. En el mapeado de normales, un color representa un determinado vector normal (orientación de superficie de un punto). Para el mapeado de normales del espacio tangente, la información es relativa a la superficie subyacente.

El mapeado de normales del espacio tangente es independiente de la geometría subyacente, lo que implica que también se puede usar la textura en otras geometrías. Se alineará automáticamente con la superficie, independientemente del reflejo, la rotación, la escala o la traslación. Solo estos dos últimos son compatibles con el mapeado de normales tradicional (de objetos o mundo).

Una de las ventajas del mapeado de normales de espacio tangente es que las normales siempre apuntan hacia afuera, de modo que si asumimos la longitud de la unidad, la coordenada z de la normal se puede reconstruir a partir de los componentes x e y. Tras la expansión de las coordenadas desde 0..1 al rango de -1..1, el componente z se puede calcular en el sombreador con esta fórmula: z = sqrt(1 - x*x + y*y). Esto permite utilizar texturas de dos canales (2 bytes por téxel) para almacenar el mapeado de normales.