Corona 4: Caustics Tutorial

Nell’ultima release di corona è finalmente possibile abilitare le caustiche per rendere le immagini ancora più realistiche. Il tutto senza dover modificare troppi settaggi, in pura filosofia Corona.

0: Cosa sono le caustiche

Le caustiche sono un fenomeno ottico dovuto alla rifrazione e riflessione di raggi luminosi.
Questo effetto è ben visibile sul fondale di una piscina illuminata dal sole.

1: Modellazione

Per ottenere un effetto convincente e simulare adeguatamente le caustiche e la distorsione del vetro, è assolutamente necessario modellare l’oggetto con uno spessore realistico. Dobbiamo inoltre modificare la superficie del modello per renderla non uniforme (nel nostro caso useremo una mappa di Displacement creata con Substance Designer).

Modellazione della lampada partendo da un box + turbosmooth e successivi free form deformation. Il modificatore shell è stato aggiunto per aggiungere spessore al vetro.

2: Creazione della mappa di Displacement

E’ molto semplice creare una mappa di displacement con Substance Designer visto che ogni noise è gia ripetibile. In questo esempio abbiamo cercato di riprodurre lo stesso tipo di superficie del vetro nelle foto di partenza tramite un Cellular invertito. Potete scaricare il modello 3d e la texture finale cliccando su questo link

Per aggiungere ulteriori dettagli, il noise iniziale è stato distorto tramite un nodo Warp e successivamente sfocato per rendere il risultato finale meno spigoloso.

3: Displacement

Senza perdere tempo prezioso in unwrapping, usiamo la CoronaTriplanarMap per proiettare la nostra texture di Displacement sul modello e grazie al rendering in tempo reale troviamo i valori esatti per dimensione e altezza.

I valori finali sono: Displacement (min amount 0 – max amount 0,3cm) e Scale della CoronaTriplanarMap (15cm)

4: Materiale del Vetro

Il vetro appartiene alla famiglia dei dielettrici; avrà quindi una riflessione molto tenue frontalmente per poi crescere man mano che si guarda lateralmente. Per controllare questo comportamento bisogna agire sul FRESNEL IOR (nei materiali trasparenti coincide con lo IOR) settandolo a 1,54.

Questo vetro è Diffuse (0,0,0) Reflection level (1.0) IOR e FRESNEL IOR (1,54) Volumetric scattering (Dispersion color HEX:b3c7ba, Distance 2cm)

5: Setup della scena

Abbiamo preparato una scena di interno con dei modelli di lampade in vetro che sfruttano proprio questo principio per creare particolari effetti luminosi. Se non si attiva il nuovo Caustics Solver, i vetri delle lampade risultano trasparenti alla luce, e non generano l’effetto desiderato.

Il nuovo Caustics solver va abilitato nel Performance tab di Corona. In questo modo otterremo nell’immagine le caustiche di riflessione generate dal vetro della lampada.

Per visualizzare l’effetto completo bisogna abilitare le caustiche di rifrazione nei parametri del materiale vetro. In questa scena ci sono due materiali di vetro differenti, uno per le lampade vuote e uno per le lampade con sorgente luminosa. Il parametro va attivato su entrambi i materiali.

Di default, le caustiche vengono renderizzate nel beauty pass (se usate il rendering in tempo reale – IPR – le caustiche vengono visualizzate a partire dal 4 pass).

Abilitando il Caustic Solver si ottengono solo le caustiche di riflessione; abilitando anche il checkbox “Caustics (slow)” nei singoli materiali si ottengono anche le caustiche di rifrazione.

6: Caustiche come pass separato.

Si può decidere di includere le caustiche direttamente nel Beauty pass oppure di averle visibili solo nel Render Element dedicato. Quest’ultimo caso è utile per poter gestire in post l’intensità dell’effetto o per mascherarlo in alcune parti se necessario.

Per visualizzarlo solo nel render element bisogna abilitare il checkbox “Only in caustics element” nelle proprietà del Caustics solver e abilitare il CShading_Caustics pass.

Il render pass delle caustiche va sovrapposto al beauty pass in 32bit utilizzando il blend mode Linear Dodge (Add).

Sperando che questo mini-tutorial vi sia stato utile, approfittiamo per ricordarvi del nostro corso su Corona Renderer!

Alla prossima!
Rob & Giona

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.