dilluns, 15 de setembre del 2014

Panot Flor i mapa de normals

En aquesta entrada modelaré un panot dels que es fan servir per pavimentar les voreres de la Ciutat de Barcelona, concretament el conegut com a "flor". I aprofundiré en l'estudi dels materials a Blender amb l'aplicació del mapa de normals (normal map).

Més informació sobre el panot flor:
http://www.btv.cat/btvnoticies/2014/05/07/el-panot-de-flor-laposta-de-lajuntament-per-a-la-ciutat/
http://www.ara.cat/barcelona/panot-simbol-barceloni_0_1115888589.html
http://cmans.wordpress.com/2013/08/06/panots-de-barcelona/

Primerament el modelat de la rajola, donat que té simetria en dos eixos, només en modelaré un quadrant. Un cop fet el cos, he modelat els toroides que formen la flor i, amb el modificador booleà els he restat del cos anterior. Finalment he aplicat els dos modificadors de simetria.




I finalment aquest és el model acabat, encara sense aplicar materials.Cada quadrant té 284 cares, és a dir, cada rajola té 1136 cares.


Normalment el paviment no és la nostra prioritat en una escena, per tant és absurd consumir tants recursos (per la quantitat de cares que té) i es fa servir una versió simplificada. Una sola cara, amb una imatge de la rajola amb un mapa de normals aplicat (que dona informació de com aquella superfície reflexa la llum)

El mapa de normals (normal mapping) és una representació sobre un pla i en l'escala de colors RGB de la inclinació de les normals a una superfície. on els valors de R (red, vermell) representa la component X de la normal, els valors de G (green, verd) representa la component Y de la normal i els valors de B(blue, blau) representa la component Z de la normal.


Per tal de mostrar-ho amb més claretat, vegem l'exemple de sota: La superfície en forma de muntanya està formada per moltes cares, i cadascuna té una normal (vector unitari tridimensional ) diferent en cada punt. Sobre ella hi ha un pla, on representarem com a colors RGB les tres components de la normal en cada punt, segons els eixos X,Y i Z.

Així, al cim de la "muntanya" la normal té només component en la direcció de l'eix Z+, o sigui que tindrà color 100%  B  i 50% G  i 50% R. A la part dreta (vessant X+) la normal és predominant en la direcció X+ (100% R vermell) i quasi nul·la en les altres 50%  B i 50% G, mentre que a l'esquerra és predominant en la direcció X- (0% vermell) i quasi nul·la en les altres 50%  B i 50% G. A la part superior (vessant Y+) la normal és predominant en la direcció Y+ (100% verd) i quasi nul·la en les altres 50%  B i 50% R, mentre que a la part de baix és predominant en la direcció Y- (0% verd) i quasi nul·la en les altres 50%  B i 50% R


El càlcul en cada punt d'una superfície de les tres components del vector normal és doncs, un problema exclusivament geomètric, però complicat per la gran quantitat de cares. Afortunadament Blender disposa d'un mecanisme de càlcul, que s'anomena Bake (traducció aproximada "enfornar", posar al forn a coure's), dins de l'ordre Render.

A continuació he creat un pla sobre el panot, sobre el qual projectaré les normals:



I aquest és el mapa de normals del nostre panot, un cop desada la imatge, es pot utilitzar per a perfeccionar el material del panot.


A continuació he fet una comparació dels resultats obtinguts amb 9 panots modelats completament "geometria real" (esquerra), amb un total de 10224 cares i un únic pla (1 sola cara) amb mapa de normals aplicat (dreta). La textura del material és idèntica per a tots dos casos (una textura de formigó gris) i no mostra els cercles. 

La imatge dels cercles es deguda únicament a la geometria (esquerra) i al mapa de normals (dreta)


Per a perfeccionar l'aparença he fet servir una fotografia de 4x4 panots. Hem guanyat en realisme ja que les parts fondes són d'un clor més clar. Vegeu que a la imatge de la dreta dreta el primer i tercer panots són iguals (taca blanca a la part inferior esquerra) mentre que a la imatge de l'esquerra, cada quadrant de panot és idèntic, efecte arrossegat pel modificador de simetria aplicat en el modelat de la geometria.


Finalment, cal dir que en vistes properes, lògicament, es perd la "màgia" d'aquest efecte. A la imatge següent es mostra, a dalt, els detalls de la geometria real, i a la part inferior, el el pla amb mapa de normals.


En qualsevol cas l'ús adequat d'una bona textura complementada amb mapa de normals permet estalviar molt de temps de càlcul per a vistes de lluny i deixar la complexa geometria real per a vistes de prop.

2 comentaris:

  1. Què xulo!!! segueixo sense entendre tot això de les normals (la meva neurona no dóna per tant) però la rajola t'ha quedat espectacular. Hauràs de posar a dissenyar-me papers d'scrap (saps que n'hi ha un amb aquestes rajoles? jajajaja). Petonets

    ResponElimina
  2. Quan vulguis... estic sempre a la teva disposició... Petonets...

    ResponElimina