Salve a tutti, quando ho iniziato a cimentarmi con la grafica 3D una delle più grosse sfide era
la creazione di un materiale “vetro” realistico, e dopo una serie di esperimenti ho finalmente
messo a punto un sistema per la creazione di tale materiale; con questo non intendo dire
che il mio è il miglior metodo per farlo, ma solo uno dei tanti modi per simularlo, che può
piacere o meno :)
Questo tutorial richiede una minima conoscenza del Material Editor di max, della gestione
delle mappe composte (es. mix, mask ecc...) e dell’uso delle maschere tramite canale alpha.
Spero che questa mini-guida possa essere di aiuto per chi inizia a sperimentare nel mondo
dello shading :D

Fatta questa breve premessa passiamo alle spiegazioni; insieme al tutorial fornisco la scena
in formato .max (fatta con la versione 6, ma posso provvedere a rendere un .3ds disponibile) con e senza materiali e tutte le mappe necessarie.

Nella scena “glass-material” trovate il risultato finale, mentre in “glass-scene” trovate tutto il
necessario su cui poter lavorare: un modello di un bicchiere, un tavolino, un piano dove va
applicata una texture di background,
una spot light e una camera già in posizione.

Potete scaricare le due scene e tutto il necessario da questi link:

http://www.treddi.co...ss-material.max
http://www.treddi.co...glass-scene.max
http://www.treddi.co.../backgrounf.jpg
http://www.treddi.co...Sphere-FREE.hdr
http://www.treddi.co.../glass-test.jpg
http://www.treddi.co...04medium015.jpg


Iniziamo aprendo il file “glass.scene”; premendo “M” si aprirà il Material Editor di max che
troverete vuoto (quello che ci proponiamo di fare è riempirlo ^_^); per il nostro materiale
utilizziamo un Blinn Shader, attiviamo l’opzione 2-Sided e impostiamo i parametri come in figura:

blinn parameters

Diffuse: nero
Specular Level: 180
Glossiness: 83
Opacity: 20

Una volta impostati i Basic Parameters procediamo con gli Extended Parameters per ottenere
un miglior controllo sulla trasparenza del materiale; sotto la voce Falloff portiamo il valore Amt
da 0 a 100 (questo farà si che il nostro materiale sarà più opaco ai bordi e più trasparente al
centro); cambiamo inoltre il Type da Filter a Additive (questo permetterà di illuminare
maggiormente i colori dietro il materiale aggiungendoli a quelli del backgound).

extended parameters

Apriamo il pannello del SuperSampling e nel menu a tendina selezioniamo Hammersley.

super sampling

Veniamo ora alla parte più “delicata”, ovvero quella riguardante le mappe da applicare;
dalla figura possiamo vedere quali sono i canali che andremo a mappare:

maps finale

Specular Level: utilizza una scala di grigi per definire l’intensità dello specular;

Glossiness: utilizza una scala di grigi per decidere dove il nostro riflesso speculare
                    verrà distribuito.

Bump: utilizza una scala di grigi per impostare zone di rilievo e/o depressione sulla superficie.

Reflection: questo canale ci consente di rendere il nostro materiale riflettente.

Refraction: questo canale ci permette di rendere il nostro materiale rifrangente.

Prima di procedere con la spiegazione su come mappare i singoli canali, un breve cenno
su ciò che intendiamo ottenere: un materiale riflettente e rifrangente non perfettamente
uniforme, che presenti alcune imperfezioni sulla sua superficie. Per la riflessione useremo
un file .hdr da usare come background (più precisamente daremo una forma sferica a questa
mappa in modo tale che venga riflessa da tutte le angolazioni) che verrà riflesso dal bicchiere.

(il file .hdr può essere scaricato da qui:
http://www.treddi.co...phere-FREE.hdr)

Utilizzando uno slot vuoto nel material editor clicchiamo su Get Material, poi su Bitmap e
carichiamo il file “BuildingMarble-Sphere-FREE.hdr” come mostrato in figura.

HDRI caricamento

Sotto il menu Coordinates cambiamo l’opzione Texture in Environ; nel menu a tendina Mapping
selezioniamo Shrink-wrap Enviroment.

HDRI setup

Apriamo il menu Enviroment and Effects premendo
il tasto “8” da tastiera e trasciniamo la mappa appena modificata all’interno dello slot Enviroment Map come in figura.

enviroment

Una volta impostando lo sfondo possiamo procedere col nostro materiale; nel canale Reflection
applichiamo una mappa di Falloff e cambiamo il Falloff Type in Fresnel; all’interno del primo (applicarla nel canale nero significa che l'oggetto sarà riflettente solo all'interno e non sui bordi, se volete ottenere l'effetto contrario basta applicare il raytrace nello slot bianco) slot applichiamo una mappa di Raytrace (come in figura).

falloff type

Per finire torniamo nel menu Maps
del Material Editor e abbassiamo il valore della Reflection da 100 a 15. Nel canale Raytrace
applicchiamo una mappa di.....Raytrace!!!  8 )

A questo punto il nostro menu Maps si presenterà così (se tutto va bene).

menu espressione

L’ultimo (e impegnativo) passaggio consiste nel creare un qualcosa da mettere nel
canale di Bump e da copiare nello Specular Level e nel Glossiness; a livello teorico creeremo
una mappa che simulerà delle righe sulle superficie e per distribuirla in modo random la
mischieremo con un simpatico canale alpha. La mappa da mischiare sarà a sua volta costituita
da altre tre mappe procedurali mischiate con un Mix shader.

La figura mostra la struttura della mappa che utilizzeremo nei 3 canali,

mask

ma procediamo con
ordine:nel canale Bump applichiamo un Mix; nel primo slot applichiamo un Noise e impostiamo
i parametri come in figura (quello che ci serve e una mappa che simuli una serie di righe
sottili e parallele tra loro, e il noise è ottimo per lo scopo).

noise

Copiamo la mappa ottenuta negli
altri due slot liberi del Mix come “Copy” e non come “Istance” e modifichiamone i parametri
come in figura (questi parametri non sono da seguire in modo rigoroso, siete liberi di
sperimentare e crecare l’effetto che più vi sembra opportuno).

noise mix

A questo punto disponiamo di un Mix composto da 3 mappe di Noise fuse insieme tra loro; ci
servirà un’ultima mappa per evitare che il Mix venga distribuito uniformemente su tutta la
superficie. Per fare questo clicchiamo (nel menu Maps) sul Mix nel canale del Bump, poi
ancora su Mix in alto a destra e applichiamo un Mask: scegliamo “Keep old map as sub-map”.
All’interno dello slot vuoto carichiamo la texture “”tile04medium015” che potete trovare qui :

http://www.treddi.co...04medium015.jpg

ed il gioco è fatto! :)

mix mask

L’ultimo passaggio consiste nel copiare il Mask ottenuto nei canali Glossiness e Specular
Level con questi valori:

Bump: 15
Glossiness: 35
Specular Level: 70

Se tutto è stato eseguito correttamente il vostro menu Maps dovrebbe essere come quello
mostrato in figura.

maps finale

Con questo è davvero tutto, spero che questo tutorial possa esservi utile e chiarire qualche
dubbio (spero non fe ne faccia venire di nuovi).

qui potete vedere il risultato finale con una leggera postproduzione in photoshop
sui contrasti (ma davvero poco; come motore ho usato mental ray per via della sua velocità ripsetto allo scanline nel calcolare gli algoritmi raytrace nelle riflessioni e nelle rifrazioni)

glass test

Bruno Maremonti

Per commenti, critiche, consigli, domande scrivere a zzagno@libero.it

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui