Bumped VS Parallax



Hablemos un poco de shaders: Podemos definir un shader como el mecanismo de renderizado de una textura sobre un polígono, que hoy en día dista mucho de lo que hemos podido ver en antiguallas como Counter Strike, en los que se texturizaba "a pelo" mapeando la textura y nada más. Hoy en día no es así, y además de la textura de base, se utilizan otras texturas de apoyo que mejoran en gran medida el realismo. En esta ocasión nos centraremos en las técnicas de bump mapping y parallax que nos permiten obtener resultados similares a éste: shader-NormalParallaxSpecular-0 El mapa de normales (bump) es una textura secundaria que sólo funciona a efectos de iluminación. Para cada pixel de la textura original nos indica la dirección de un vector normal que puede ser distinto (o no...) del habitual, que es el perpendicular al polígono. Un mapa de normales almacena colores RGB en cada píxel, indicando según la intensidad de cada componente RGB el valor del vector XYZ que señala la nueva normal del polígono en ese punto. Como un añadido de mejora al mapa de normales, parallax nos añade un segundo mapa llamado mapa de alturas (height) que añade efectos de zoom a la textura en aquellas zonas en las que se quiere simular elevación. ¿Qué supone ésto? Lo mejor es que echéis un vistazo a este ejemplo de Unity en ejecución:

http://trinit.es/unity/parallax

Pensad en una textura con una trama exclusivamente vertical u horizontal, como en los cubos de abajo: Sin parallax la trama se sigue viendo vertical u horizontal y el relieve es más "falso". Sin embargo si en aquellas zonas del polígono en las que queremos simular relieve aplicamos un efecto de zoom a la textura, conseguimos engañar al ojo del jugador. Los cubos de la derecha usan el shader parallax, observad que el relieve resulta mucho más real. En el caso de la trama vertical y horizontal, observad cómo la trama se "curva" para simular que el relieve es real, mientras que en el caso de la textura de ladrillos resulta evidente cómo parallax hace que los ladrillos se oculten entre sí como si en realidad tuviesen polígonos propios... Pero no. No hay polígonos más allá de los de los cubos, observad las aristas :D Si queréis probarlo por vosotros mismos, aquí os dejo la textura original utilizada para los cubos de ladrillo: floor Aquí la textura de mapa de normales (Bump map): floor bump Y aquí la textura de mapa de alturas de parallax (Height map): floor height Finalmente, aquí podéis descargar el paquete Unity para tener todos los recursos que componen la escena. No os quedéis con la duda y haced vuestras propias pruebas, las texturas anteriores son de muy baja calidad (512x512) y están calculadas automáticamente por Unity, imaginaros lo que podéis hacer con un buen texturizador en vuestro equipo de desarrollo :D

Comparte este Post

Comentarios (0)

    Se el primero en dejar un comentario!

Deja tu comentario