Second Life Materials: normal map e specular map, cosa sono?

ll progetto Materials è ormai implementato stabilmente nel viewer Linden a partire dalla versione 3.6, e fra le varie novità spiccano ovviamente quelle relative alle nuove possibilità delle texture.

Nel pannello Texture sono presenti diverse nuove opzioni. Alcune riguardano la gestione delle trasparenze delle texture di tipo diffuse, ovvero le consuete texture, e permettono di definire come debba essere gestito il canale alpha, altre riguardano le proprietà di riflettanza.

L’elenco a discesa Texture si è arricchito di ulteriori due voci: oltre alla consueta Texture (diffuse), ora troviamo anche Bumpiness (normal) e Shininess (specular).

Cosa saranno? E a cosa servono?

Il nuovo pannello Texture.

Il nuovo pannello Texture.

L’obiettivo è abbastanza intuibile, trattandosi di texture: creare una visualizzazione più accurata degli oggetti in Second Life (mi è capitato di leggere “più fotorealistica”, ma non è obbligatorio, il fotorealismo è solo una delle possibilità se quello è l’effetto voluto. Per esempio, a me sembra che poter applicare tre texture diverse a un oggetto rappresenti un bel mixer di immagini. Però è soltanto una mia idea).

Inoltre, probabilmente si tratterà di caratteristiche che reagiscono alla luce, poiché riguardano le superfici e i riflessi.

Comunque, per apprezzarne l’effetto è necessario che sia attivo l’Advanced Lightning Model. Quindi, per prima cosa selezionate Me > Preferences e nel pannello Graphics verificate che la casella di controllo Advanced Lightning Model sia attiva. Se no, attivatela.

Se non disponete di un computer da guerra e la vostra scheda grafica con le ombre va in crisi, sappiate che non è necessario attivarle per godere del nuovo motore di rendering, che sicuramente vi offrirà un’esperienza visuale migliore. Il mio consiglio è di lasciare attiva questa opzione, ha molto più effetto sulle performance ridurre eventualmente di un po’ la Draw Distance.

Per i più tecnici, l’Advanced Lightnining Model di Second Life utilizza un modello custom di BRDF, o Bidirectional Reflectance Distribution Function. Insomma, definisce in che modo un oggetto rifletterà la luce.

Quindi, per sfruttare questa possibilità avremo bisogno di tre texture (già, spendendo anche il triplo per caricarle): la nostra consueta texture,  più le corrispondenti texture di Bumpiness e Shininess. Come crearle?

Per la normal map, probabilmente l’opzione più semplice è usare un software come CrazyBump, che però è a pagamento. Se usate Photoshop, un plugin gratuito viene da NVidia: NVIDIA Texture Tools for Adobe Photoshop. Se qualche lettore conoscesse altre utility, aggiungetele nei commenti e provvederò ad aggiornare il post.

Il mio obiettivo è creare una normal map dell’affresco di Giotto visibile nell’immagine seguente.

L'affresco di Giotto in Photoshop.

L’affresco di Giotto in Photoshop.

Dopo aver installato il plugin, in Photoshop, selezionate Filter > NVDIA Tools > NormalMapFilter. Consiglio di leggere il manuale, le opzioni disponibili sono davvero molte. Comunque, otterremo un’immagine che dovrebbe assomigliare alla seguente.

La normal map dell'affresco.

La normal map dell’affresco.

Salvate l’immagine e caricate sia l’immagine di partenza sia la normal map in SL. Vediamo che succede.

In SL, create un oggetto ed applicate la texture diffuse come di consueto. Nell’elenco a discesa Texture selezionate Bumpiness (normal) e la normal map creata, che verrà applicata all’oggetto. Noterete senza dubbio dei cambiamenti nella visualizzazione.

Applicare la normal map.

Applicare la normal map.

Per valutare cosa accade, create una luce e trascinatela intorno all’immagine: la normal map ridefinisce le aree riflettenti dell’immagine di base. Assegnate un colore diverso dal bianco alla luce per comprendere con maggiore chiarezza.

Alcune aree dell'immagine appaiono rosate, poiché il punto luce sta proiettando luce di colore rosso.

Alcune aree dell’immagine appaiono rosate, poiché il punto luce sta proiettando luce di colore rosso e la normal map la riflette.

Attenzione, non è un’immagine renderizzata con dei punti luce in un software 3D e importata: l’effetto è dinamico, cambia con il punto di vista, l’intensità della sorgente luminosa e ovviamente con la luce ambiente. Le due immagini possiedono impostazioni differenziate: provate a modificare un po’ Horizontal e Vertical Offset della normal map per vedere come e dove si disloca.

La Shininess (specular) map invece permette di definire come reagiscono alla luce determinate aree dell’immagine, una spece di filtro sulla normal map.

Si tratta in genere di un’immagine in toni di grigio, dove il nero rappresenta la massima opacità e il bianco la riflettanza più elevata. Il metodo più semplice per ottenerla è ovviamente convertire in toni di grigio l’immagine di partenza e lavorare un po’ con  livelli per ottenere l’effetto desiderato, ma nulla vieta di inventare effetti più creativi utilizzando immagini del tutto diverse.

Per capire molto velocemente cosa fa una specular map, create un’immagine quadrata metà nera e metà bianca, e caricatela: la metà dell’immagine su cui la applicate non rifletterà più il punto luce precedentemente creato.

Un affresco su... lamiera.

Un affresco su… lamiera lucida.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...