¿Qué es el mapeado de normales?
En los gráficos por ordenador en 3D, gracias al mapeado de normales, no hace falta modelar o esculpir todos los detalles de un modelo en 3D en las características geométricas del objeto. Esta técnica se usa para crear detalles superficiales ilusorios que aumentan el realismo de los objetos digitales sin incrementar la complejidad geométrica.
En qué consiste el proceso de mapeado de normales
En el modelado en 3D, las superficies se representan mediante polígonos. Los cálculos de la iluminación se efectúan a partir de la geometría de estos polígonos del mismo modo que en el arte pictórico se emplean técnicas de sombreado para imitar las tres dimensiones. Aunque este método es muy eficaz, puede llegar a consumir muchos recursos informáticos, lo que limita el nivel general de detalle posible. El mapeado de normales proporciona una solución magnífica y ligera al modificar la forma en la que la luz interactúa con una superficie sin alterar la geometría subyacente.
Los mapas de normales almacenan información sobre una superficie en forma de imagen de una textura. Al codificar la normal de la superficie en una textura, los mapas de normales pueden simular la apariencia de los detalles superficiales como, por ejemplo, bultos, arañazos y arrugas, entre otros, sin aumentar la complejidad geométrica subyacente.
Los mapas de normales se calculan durante el renderizado mediante la normal de la superficie modificada procedente del mapa de normales. Dado que estos cálculos consumen menos recursos informáticos, se pueden lograr elevados niveles de detalle, incluso en tiempo real, lo que convierte a los mapas de normales en una técnica muy utilizada en el desarrollo de videojuegos.
Dónde se emplea el mapeado de normales en la actualidad
En general, el mapeado de normales es una técnica versátil, y la debería utilizar cualquier artista y profesional del diseño en 3D para acelerar y mejorar su flujo de trabajo.
Ahora bien, el uso del mapeado de normales no solo se puede apreciar en aquellos casos en los que las restricciones del hardware son extremadamente importantes (como sucede con los videojuegos, donde las escenas se tienen que renderizar en tiempo real para la persona que está jugando), sino también en películas animadas por ordenador, en la visualización arquitectónica y en el diseño de productos.
El mapeado de normales no afecta a la coloración de un objeto, por lo que podrás ver que lo más habitual es emplearlo en aquellos casos en los que la superficie de un objeto no es perfectamente plana o lisa. En justicia, esto quiere decir que en casi todos los modelos en 3D se podría emplear un mapa de normales para validar su realismo: desde cuero desgastado hasta vetas de madera hinchadas, piel humana y tejidos, entre otros.
Para el mapeado de normales se suelen emplear varias herramientas y programas de software esenciales. Estos son unos cuantos ejemplos:
1. Software de modelado en 3D: herramientas como Blender, Maya, ZBrush y {{substance-3d-modeler}} se utilizan para crear los modelos que se emplearán para el mapeado de normales. Existen muchas soluciones de software excelentes que aportan sus propios enfoques para el modelado y la escultura.
2. Software para pintar texturas: se pueden emplear herramientas de software como {{substance-3d-painter}} o incluso Adobe Photoshop para crear y editar mapas de texturas, incluidos los mapas de normales.
3. Generadores de mapas de normales: el software de generación de mapas de normales ayuda a crear mapas de normales a partir de información geométrica o textural en alta resolución. Herramientas como xNormal, CrazyBump o Substance 3D Designer permiten generar mapas de normales si se les introducen diversos datos.
4. Motores de videojuegos: los motores de videojuegos como Unreal Engine y Unity incorporan funciones de mapeado de normales. Estos motores ofrecen las herramientas y prestaciones de renderización necesarias para aprovechar los mapas de normales. Son igual de eficaces para generar renderizaciones que para crear experiencias lúdicas.
5. Lenguajes de programación de sombreado: conocer lenguajes de programación de sombreado como HLSL (High-Level Shading Language) o GLSL (OpenGL Shading Language) puede venir bien para crear sombreadores personalizados que puedan aprovechar el mapeado de normales. Estos lenguajes permiten a los equipos de desarrollo definir la forma en la que la iluminación interactúa con los mapas de normales y otros mapas de texturas y, de este modo, lograr efectos visuales impresionantes.
Puede que esta lista no sea exhaustiva, pero ofrece a la comunidad creativa un excelente punto de partida para comenzar a hacerse una idea básica de lo que es el mapeado de normales y cómo aplicarlo en entornos de renderizado en tiempo real.
Imágenes de Playground Games.
En qué se diferencian los mapas de normales de los mapas de relieve
Los mapas de normales almacenan información explícita de la normal de la superficie mediante imágenes en RGB donde cada canal cromático representa los componentes X, Y y Z del vector normal de la superficie en cada téxel. Los mapas de normales captan mucha más información sobre la orientación de una superficie. Los mapas de normales no afectan a las características geométricas del modelo propiamente dichas, pero aun así, sí que modifican la forma en la que la luz interactúa a su alrededor.
En comparación con los mapas de relieve, los mapas de normales proporcionan la máxima exactitud en los resultados, al captar detalles de la superficie que van más allá de las meras variaciones de altura.
Pros y contras del mapeado de normales
1. Detalles realistas en la superficie: el mapeado de normales permite añadir detalles superficiales intrincados sin aumentar la complejidad geométrica.
2. Eficiencia: el mapeado de normales es una técnica eficiente desde el punto de vista del consumo de recursos informáticos, sobre todo en comparación con el incremento de la cantidad de polígonos de los modelos para lograr superficies detalladas.
3. Reducción de requisitos de memoria: los mapas de normales almacenan información en un formato de textura, que normalmente ocupa menos memoria que el almacenamiento de información geométrica.
4. Reusabilidad: los mapas de normales se pueden aplicar fácilmente a modelos distintos, lo que permite que artistas y profesionales del desarrollo los puedan reutilizar en varios activos. De este modo, se ahorra tiempo y esfuerzo, y se reduce el tamaño final de un producto.
5. Efectos de iluminación interactivos: el mapeado de normales mejora la interacción de la luz con un modelo, permite efectos de iluminación en 3D dinámicos como, por ejemplo, reflejos especulares, variaciones de sombreado y una mayor exactitud en los reflejos.
1. Alteración por escasez de datos geométricos: los mapas de normales solo afectan a la apariencia de los detalles de las superficies y no pueden modificar las características geométricas. De normal, la ilusión que crean puede ser útil, aunque a veces puede ser necesario recurrir a otras técnicas cuando hay que modificar las características geométricas propiamente dichas.
2. Creación y modificación: crear mapas de normales de gran calidad puede ser difícil y requiere unos conocimientos y un software especializados. Editar mapas de normales puede ser complicado debido al carácter intrincado de los datos que lo componen.
3. Limitaciones de espacio textural: los mapas de normales requieren más espacio textural, ya que se suelen almacenar como imágenes en RGB, lo cual puede afectar al uso global de la memoria y podría obligar a optimizarla cuidadosamente en algunos casos.
4. Limitaciones de espacio tangente: los mapas de normales se suelen definir en espacio tangente, lo que significa que dependen de la orientación del modelo y las coordenadas UV. En ocasiones, esta circunstancia puede ocasionar artefactos visuales si se aplica el mismo mapa de normales a modelos con disposiciones UV u orientaciones distintas.
A pesar de presentar algunas limitaciones, los mapas de normales son la técnica más eficaz para mejorar la calidad visual y el realismo de los modelos en 3D en tiempo real. El mapeado de normales ofrece un equilibrio saludable entre rendimiento y fidelidad visual, lo que lo convierte en una herramienta de valor incalculable para renderizar y texturizar en 3D.
Descubre en qué casos utilizar el mapeado de normales
Más información sobre el mapeado de normales
Preguntas frecuentes
¿QUÉ ES UN MAPA DE NORMALES EN EL DISEÑO DE VIDEOJUEGOS?
¿CUÁNTOS CANALES HAY EN UN MAPA DE NORMALES?
Los mapas de normales se crean mediante una imagen en RGB (rojo, verde y azul), donde cada canal de color de la imagen representa el componente X, Y y Z de la normal de la superficie en cada téxel del mapa, lo que significa que un mapa de normales tiene tres canales, cada uno de los cuales contiene valores positivos o negativos.
- El canal rojo (R) se corresponde con el componente X del vector normal de la superficie.
- El canal verde (G) representa el componente Y del vector normal de la superficie.
- El canal azul (B) representa el componente Z del vector normal de la superficie.
En conjunto, los tres canales sirven para proporcionar datos explícitos sobre la orientación de cada téxel, que se utilizan durante el renderizado para mejorar los efectos de iluminación y sombreado en el modelo en 3D.
¿POR QUÉ SE LE LLAMA “MAPA DE NORMALES”?
En el ámbito de los gráficos generados por ordenador, por “normal” se entiende un vector que es perpendicular (o “normal”) a una superficie en un punto concreto. Por lo tanto, a los mapas de normales se los llama así porque almacenan información sobre las normales de la superficie de un modelo en 3D.
Al aplicar un mapa de normales durante el renderizado, las normales de la superficie del modelo en 3D se modifican en función de la información almacenada en el mapa, lo que genera efectos de iluminación y sombreado que transmiten la ilusión de que los detalles de la superficie son sumamente intrincados.