Tutorial per Corona Renderer: Volumetric Fog

Vediamo insieme come creare la nebbia come effetto volumetrico con Corona Renderer.

Software: Corona Renderer 2.0

Corona Renderer 2 permette di simulare effetti volumetrici ancora più avanzati rispetto alle versioni precedenti. In questo tutorial vi mostrerò come creare velocemente della nebbia utilizzando textures procedurali per variare la densità e gestire l’altezza in maniera dinamica.
Questo metodo è perfetto per limitare l’effetto nebbia vicino ad alcune aree dell’immagine. Nell’esempio dell’auto ho voluto simulare della foschia bassa, rasente all’asfalto. Per prima cosa va creata una geometria che delimiterà l’area di azione della nebbia, in questo caso un semplice box.

Scene setup

E’ fondamentale assicurarsi di non posizionare la telecamera all’interno del box, altrimenti l’effetto non sarà visibile per via di un limite del motore di render. Al box va applicato un Corona Volume Material.

Corona Volume

In Absorption Color e Scattering color ho impostato un valore 220 RGB, per avere una foschia chiara. Il valore bianco puro 255 RGB nell’Absorption Color fa sparire la nebbia, ci servirà ricordare questa proprietà più avanti.

Con il valore Absorption Distance si regola la densità dell’effetto volumetrico. Più alto è il valore della distance, meno fitta sarà la nebbia.

Per migliorare l’effetto bisogna poter gestire in maniera dinamica l’altezza della nebbia creando una sorta di gradiente.

Con la Corona Distance texture è possibile far riconoscere al materiale la base da cui partirà la foschia e controllarne l’altezza.

Quando si aggiunge una texture nel parametro dell’Absorption va ricordato di cambiare il Volume Mapping mode su Inside Volume.

Attenzione, quando si imposta questo valore bisogna anche gestire lo Step size per controllare la qualità e la velocità con cui la texture all’interno del volume viene calcolata. Valori più alti rendono il calcolo più veloce ma con qualità peggiore. Non c’è un valore perfetto, bisogna fare qualche test per trovare il valore più bilanciato tra qualità e velocità. Inizio impostando un valore di 100cm, più che accettabile per questo test.

Nella Corona Distance Texmap bisogna impostare l’oggetto che verrà riconosciuto come base. Quindi nel “Distance from” va inserito il plane dell’asfalto.

Per creare la transizione della nebbia che appare vicino alla strada e sparisce verso l’alto vanno impostati due colori diversi nei parametri Color Near e Color Far. Color Near 220 RGB, Color Far 255 RGB. In questo modo man mano che la nebbia sale diventerà meno visibile fino a sparire.

Con il valore Distance Far si controlla l’altezza della nebbia.

Il risultato non è ancora soddisfacente, la nebbia è troppo uniforme.

Per introdurre delle variazioni di densità e di altezza conviene usare una Texture procedurale, in questo caso una Smoke. Anche una mappa Noise può funzionare bene. L’idea è di creare variazioni di colore da sostituire al valore 220 RGB del Color Near nella Corona Distance Texmap.  In questo modo si creeranno variazioni di densità, in corrispondenza di un colore bianco puro della Smoke texture si formeranno buchi nella foschia.

Smoke map

Per avere più controllo sulla mappa Smoke ho aggiunto un Output per gestire il contrasto con la curva del color map. Ho fatto in modo che ci fossero ampie aree di bianco puro per “bucare” la nebbia e ho alzato il valore dei neri per evitare che la foschia visibile fosse troppo scura.

Il risultato che si ottiene è questo:

Volume_003_100Distance_CRdistFar1000Smoke

Non è ancora perfetto per quel che ho in mente. Bisogna fare in modo che anche l’altezza della foschia sia randomizzata utilizzando la stessa Smoke map.  Basta collegare la Smoke map al valore Distance Scale Texmap. I colori della texture funzioneranno come se fossero una maschera in bianco e nero per la Distance Far.

Distance scale

L’effetto finale è questo:

Volume_003_100Distance_CRdistFar1000SmokeScale

Con questo metodo ho creato la nebbia per l’immagine della DeLorean, gestendo in maniera dinamica l’altezza e creando un effetto più realistico piuttosto che una semplice foschia uniforme.

DMC_Fog_final_dirt

In questa immagine dietro le quinte si nota che la nebbia è localizzata soltanto vicino all’asfalto e soprattutto non è uniforme ma presenta variazioni di densità e altezza.

DMC_backstage

Buon divertimento con Corona Renderer.

Giona

Vuoi approfondire le tue conoscenze su Corona Renderer? Unisciti ai corsi di SOA Academy! La Masterclass e il corso avanzato ti aspettano!

Lascia un commento

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