Riflessioni del Raytracing

A partire da Blender v2.37

In passato, in Blender si usavano le EnvMaps (mappe ambientali) per simulare la riflettività [reflectiveness] degli oggetti. Ma questo era un modo alquanto complicato, dovendo usare Empty (oggetti nulli) e livelli (layers) quando il risultato voluto era un semplice piano riflettente. Fortunatamente, l'inclusione del Raytracing nel rendering ha facilitato tutto il processo e contribuito ad ottenere un realismo maggiore.

Nota: Se si vuol beneficiare delle riflessioni si deve attivare il raytracing. Questo viene fatto nel Pannello Render della pulsantiera Scene (F10) attivando il pulsante Ray.

Capire le basi

Qui non c'è niente da immaginare, il principio delle riflessioni del raytracing è molto semplice: si spara un raggio dalla telecamera e lo si fa viaggiare nella scena finché non incontra un oggetto. Se il primo oggetto colpito dal raggio non è riflettente, allora il raggio prende il colore dell'oggetto. Se l'oggetto è riflettente, allora il raggio rimbalza dalla posizione attuale e viaggia fino ad un altro oggetto, e così via, finché non incontra un oggetto non-riflettente dando all'intera catena di raggi quel colore. Infine, il primo oggetto riflettente eredita alcuni dei colori del suo ambiente, proporzionalmente al suo valore di RayMir.

Ovviamente, se nella scena ci sono soltanto oggetti riflettenti, il rendering potrebbe durare per sempre. Ecco il perché è stato creato il meccanismo per limitare i viaggi di un singolo raggio tramite il valore di Depth: tale parametro indica il numero massimo di rimbalzi consentito per ciascun raggio.

I pulsanti del Ray Mirror

Per attivare le riflessioni, si deve prima attivare il pulsante Ray Mirror. La Figura 10-27 mostra i parametri disponibili per le riflessioni col raytracing, nel primo gruppo di impostazioni.

Figura 10-27. Il Pannello Mirror Transp.

RayMir Imposta la quantità di riflettività [reflectiveness] dell'oggetto. Si usa un valore di 1.00 se si vuole uno specchio perfetto, o si pone RayMir a 0.0 se non si vuole alcuna riflessione.

Depth Indica il numero massimo di ricorsioni per un singolo raggio che si riflette. Il valore di default di Depth, 2, è solitamente un buon valore. Se la propria scena contiene molti oggetti riflettenti e/o la telecamera punta molto vicino (zoom) ad uno di tali oggetti riflettenti, si dovrà aumentare questo valore se si vogliono vedere le riflessioni circostanti nella riflessione dell'oggetto riflesso (!). In questo caso, un Depth di 4 o 5 è solitamente una buona scelta.

Fresnel Regola la potenza dell'effetto Fresnel. L'effetto Fresnel controlla quanto il Materiale debba essere riflettente, a seconda dell'angolo tra la normale alla superficie e la direzione della vista. Di solito, più grande è l'angolo, più un Materiale diventa riflettente (in genere questo avviene sul profilo dell'oggetto).

Fac Un 'fattore' di controllo per regolare la miscelazione (tra aree riflettenti e non-riflettenti).

Nota: Da notare che per ottenere un 'vero' effetto Fresnel con l'algoritmo corrente, si deve impostare Fresnel a 5.0 e Fac a 1.25. Tuttavia, si può giocare con questi valori per esigenze artistiche, se necessario.

Restano ancora dubbi nel capire cosa sia l'effetto Fresnel? Si prepari un piccolo esperimento per capire cosa sia in realtà. Dopo un giorno di pioggia, si esce e ci si mette sopra una pozzanghera. Si vedrà il terreno sotto la pozzanghera. Inginocchiandosi, appena davanti la pozzanghera, con la faccia vicino al terreno, lo si vedrà ancora in un punto distante dalla pozzanghera. La parte liquida della superficie più vicina lascia intravedere il terreno, ma spostando lo sguardo verso l'altra estremità della pozza, gradualmente il terreno viene mascherato finché tutto quello che si vede è il cielo riflesso. Questo è l'effetto Fresnel: avere una superficie che possiede sia parti riflettenti che non-riflettenti a seconda dell'angolo di osservazione e della normale alla superficie. Nella seguente Figura 10-28, tale funzionamento è perfettamente dimostrato per un un Materiale perfettamente riflettente (RayMir 1.0).

Figura 10-28. Dimostrazione dell'effetto Fresnel con valori pari a (dall'alto verso il basso) 0.0, 2.5 e 5.0

Fresnel a 0.0 corrisponde al Materiale di uno specchio perfetto, mentre Fresnel a 5.0 potrebbe corrispondere per un Materiale lucido [glossy] (legno verniciato, per esempio). È a mala pena visibile ma nell'immagine più in basso il Materiale è perfettamente riflettente.

Riflessioni colorate

Per default, un Materiale quasi perfettamente riflettente, come un oggetto Cromato o uno Specchio, rifletterà i colori esatti circostanti. Ma altri Materiali ugualmente riflettenti alterano le riflessioni col proprio colore. Questo è, per esempio, il caso di un contenitore ben lucidato d'oro o di rame. Per riprodurlo in Blender, si deve regolare adeguatamente il Mirror Color (Colore dello Specchio) (si veda la Figura 10-7).