|
Lambert è in teoria
lo shader perfetto per le superfici (ed è un
modello vecchio di 200 anni), dove la luce colpisce
la superficie e si riflette in modo equo in tutte
le direzioni. Le superfici che gli sono più
vicine sono la cera e la plastica. Questo spiega perché
gli oggetti senza texture renderizzati con Lambert
sembrano di plastica. Lambert inoltre sembra essere
lo shader base con cui LightWave (e la maggior parte
dei pacchetti 3d) renderizzano, se non specifichiamo
qualcos'altro. Se il vostro oggetto è di plastica,
Lambert farà il lavoro per cui è stato
creato.
| Minnaert (A) e Minneart
B |
Minnaert (più precisamente
Minnaert-A o implementazione dello stesso) è
stato creato per replicare l'ombreggiatura della luna
(ma non solo quello), e spesso è chiamato Moon
shader.
Credo che Gaffer usi un modello simile quando
usate il suo Diffuse Roughness.
Il Diffuse Sharpness di LightWave (chiamato in origine
Sharp Terminator) è un tentativo per simulare
questo modello. Minnaert è buono per ogni elemento
che ha una superficie porosa, o coperta di piccole
particelle, come la luna che è coperta di polvere.
Queste superfici possono restituire un sacco di luce
per retro riflessione.
Un buon esempio sono i metalli ossidati, i
metalli lavorati, la polvere, le rocce (in particolare
quelle sedimentarie come sabbia, argilla e ardesia,
e in minor modo marmo e granito, che possono essere
riprodotti meglio con Lambert), il legno non lavorato,
la vernice opaca (secca naturalmente), e ogni elemento
simile a questi. Se avete una superficie finemente
grezza, o che sembra impolverata, Minnaert è
il vostro shader.
Minnaert B, la seconda opzione
dello shader, è adatto per i materiali fibrosi,
che tendono a mantenere le fibre orientate perpendicolarmente
alla superficie, come il velluto, i tappeti. Il modello
è molto simile a Oren-Nayar, che spesso viene
chiamato shader velluto.
Di fatto questi due shader sono spesso scambiati con
moon shader e velvet shader.
Esistono un sacco di variazioni di questi shader,
e la linea di demarcazione è alquanto sottile.
Oren-Nayar (almeno una delle
due variazioni di questo modello) è nato per
simulare le superfici "pelose", ancora una
volta con le fibre posizionate in parallelo alla superficie.
Meno luce è riflessa dalla superficie, più
perpendicolare risulta il punto di vista.
Questa è la simulazione di un aspetto
della superficie con una superficie molto fine, all'osservatore
molto acuto sarà possibile vedere il retro
della superficie delle fibre, per riflessione della
luce.
Oren-Nayar è buono per le stesse cose
per cui lo è Minnaert-B. Se la superficie è
fibrosa, allora deciderete per Oren-Nayar, o Minnaert-B,
dipende dai gusti. Questo include le superfici come
stoffa, legno, pelle (un sacco di piccoli peli sulla
pelle, ed è anche leggermente porosa e polverosa,
quindi anche Minnaert può essere la scelta
giusta), e ogni elemento simile a questi.
Oren-Nayar e Minnaert hanno diverse varianti,
e non so quali varianti siano state implementate nei
nodi, sembra che il Minnaert dia un buon risultato
per il velluto rispetto a Oren-Nayar versino, e vice-versa...
Oren Nayar può darvi un buon risultato nel
realizzare la luna. Come ho detto non esistono regole
scolpite nella pietra, solo delle linee guida, ogni
esperimento è lecito.
Occlusion non è un
vero e proprio shader come quelli elencati fino ad
ora. In realtà non ombreggia la superficie,
ma assegna un valore da 0 a 1 che indica quanto lo
sfondo sia visibile dalla superficie in ogni suo punto.
Questo valore viene usato per controllare gli altri
nodi, per specificare quanto la riflessione e la diffusione
lavorino nelle differenti zone. Dato che è
un nodo scalare e non supporta un vettore colore,
può ombreggiare solamente in bianco e nero,
con il bianco quando nulla è di fronte alla
superficie, e il nero quando da nessun punto è
possibile vedere quella parte.
A causa dei suoi risultati, spesso è
usato per simulare il radiosity, infatti il backdrop
radiosity e il risultato di questo nodo sono molto
simili, la differenza principale è che il nodo
lavora senza considerare l'illuminazione, e i colori,
perchè ombreggia solo con toni di grigio, mentre
con il radiosity sono riflessi i colori, e cambierà
a seconda di ciò che sarà presente nello
sfondo : HDRI, environment, sky tracer, etc.
Di solito viene usato come nodo di controllo per gli
altri nodi.
La Traslucenza è essenzialmente
la stessa simulazione che abbiamo negli attributi
di superficie, ma fatta come nodo, che permette inoltre
di controllare i colori separati nella traslucenza.
Una cosa interessante del nodo di traslucenza è
che offre due modi di lavoro, a range fisso o un range
di lavoro; quando settate i 90 gradi, avrete un risultato
identico a quello del canale di traslucenza, dove
la superficie è più luminosa dove la
superficie è perpendicolare ai raggi di luce,
e non illuminata quando la superficie è allineata
alla luce, in pratica lavora come l'ombreggiatura
dello shader Lambert, ma retro illuminata.
Con i 180 gradi questo limite è superato,
quando la superficie è illuminata,
sarà più luminosa dove è retro
esposta alla luce, 50% di intensità lungo il
limite (l'angolo dei 90 gradi), e 0% dove è
direttamente esposta direttamente alla luce.
Questo nodo va usato in combinazione con altri
nodi, perché l'ombreggiatura che genera da
solo non è molto utile, tende a dare una resa
tipo negativo fotografico.
Quando è combinato con Lambert, Oren-Nayar
o Minnaert (usando un nodo Mixer o Add), questo shader
fa un buon lavoro sulle superfici traslucide, come
carta, foglie, lampade, o ogni elemento che sia sottile.
Il colore e la quantità sono texturizzabili,
e li potete usare per simulare alcune trame interne,
per esempio la grana della carta, o le vene di una
superficie, che sono visibili solo quando sono retro
illuminate.
Quando avete bisogno di più precisione
nella traslucenza, Theta è
un passo avanti. E' un'altra forma di traslucenza,
ma con la precisione del ray tracing.
E' sul limite dello shader di sub superficie.
Usa un indice di rifrazione per definire quanto
la luce va in profondità e agisce sul lato
posteriore della superficie.
Questo permettete un maggiore controllo sugli oggetti
spessi, come candele o plastica.
La quantità di luce visibile attraverso
un oggetto è basato sull'angolazione tanto
quanto sull'angolo dell'illuminazione. Se l'oggetto
è direttamente posto tra camera e luce, sarà
illuminato al massimo come traslucenza.
Se il punto di vista porta l'oggetto al di
fuori della linea, l'illuminazione decresce. Questo
shader è adatto alle superfici sottili che
devono avere una parte della luce riflessa da dietro.
Funziona molto bene per le foglie, ma un buon esempio
è la polvere nel vento, se avete presente la
sabbia controluce, avete presente ciò di cui
stiamo parlando.
Elementi puliti e traslucenti come plastica,
vetro (ottimo per vetro ghiacciato), e alcuni liquidi,
sono ottimi usi per questo shader. Ottimo anche per
membrane sottili come le ali dei pipistrelli, dove
si vedono solo da determinati punti di vista.
Per gli shader della specularità, bisogna
essere un po' più specifici. Ci sono tante
varianti sul tema.
Phong è lo standard,
fornisce dei riflessi morbidi, come Lambert, molto
simile alla plastica. Se la superficie non è
lavorata a specchio, Phong fa un buon lavoro. Vernici
lucide, plastiche, metalli lisciati risultano perfetti
esempi dei riflessi del Phong.
Blinn è molto simile
al Phong, ma con una leggera differenza, per i riflessi
dati dalla retro illuminazione, Phong tende a distribuire
il riflesso sulla superficie, mentre Blinn tende a
mantenere il riflesso con la stessa dimensione, come
se la luce fosse di fronte all'oggetto.
Il riflesso rimane rotondo, invece di allargarsi.
Esclusa questa differenza sono virtualmente identici.
Di solito preferisco usare il Phong per le superfici
che si suppone saranno asciutte o molto lisce. Il
distribuirsi dei riflessi sulle superfici tende a
dare l'impressione di superficie polverosa, dove invece
Blinn fornisce un effetto di pulito, fresco, lavorato
e perfino bagnato.
Cook-Torrance dà una
resa differente. Con alti vari di glossiness i riflessi
sono molto secchi e concentrati (resa di un materiale
molto lucido e duro), ottimo per gli oggetti di vetro,
o simili ad uno specchio. Perfetto per la vernice
delle auto, vetri, acqua, cromo, o ogni altra cosa
che debba essere riflettente.
Con bassi valori di glossiness lo shader fornisce
riflessi interessanti per gli altri tipi di materiali
come metallo non lavorato, vetro ghiacciato. Fornisce
un riflesso molto ampio che può essere usato
per superfici poco riflettenti come il legno, la roccia,
la pelle o altre superfici che non hanno grandi qualità
riflettenti.
Anisotropic è stato
creato per creare superfici che hanno una serie di
micro graffi sulla superficie. Il miglior esempio
è il metallo satinato, o la superficie di un
cd. Ottimo per superfici con fibre parallele sulla
superficie, ornamenti natalizi, tubi, legno, e naturalmente
capelli.
Potete personalizzare la forma del riflesso
controllando indipendentemente la larghezza e l'altezza
dei riflessi. Se la superficie contiene fibre, o ha
una superficie satinata, questo shader vi sarà
di grande aiuto
|