In questo breve tutorial voglio parlarvi della possibilità di utilizzare le Textures procedurali di Blender per modificare le informazioni Mist e Depth in Compositing, ottenendo ad esempio i video che sto mostrando in questo momento: una maschera di nebbia a chiazze animata.
Trascrizione del video
Salve a tutti! In questo breve tutorial voglio parlarvi della possibilità di utilizzare le Textures procedurali di Blender per modificare le informazioni Mist e Depth in Compositing, ottenendo ad esempio i video che sto mostrando in questo momento: una maschera di nebbia a chiazze animata.
Mist e Depth forniscono delle mappe basate sulla distanza degli oggetti dalla telecamera virtuale. Ho parlato abbondantemente delle loro caratteristiche in un tutorial che ho pubblicato proprio pochi giorni fa.
Le Textures procedurali di Blender sono tridimensionali, per cui è possibile spostarle o ridimensionarle in orizzontale, in verticale e anche in profondità. Questo vale, come vedremo, anche in Compositing.
Se in un progetto aggiungiamo una Texture procedurale, come ad esempio Clouds, possiamo utilizzare questa Texture anche in post-produzione mediante un nodo di tipo Input Texture in una finestra di Compositing.3

Collegando la Texture al nodo Viewer possiamo analizzarne l'aspetto in tempo reale nella Backdrop della finestra.
Se modifichiamo i valori Offset (per lo spostamento) o Scale della Texture, possiamo notare le modifiche nella Backdrop. In particolare, notiamo che modificando i valori X avremo delle trasformazioni in orizzontale, mentre modificando quelli Y avremo delle trasformazioni in verticale e infine, con i valori Z, delle trasformazioni in avanti o indietro rispetto alla telecamera.
Possiamo modificare anche i parametri propri della Textures nella sua scheda e visualizzare anche queste modifiche in tempo reale nella Backdrop, ad esempio modificando il parametro Size o il parametro Type della Texture di tipo Clouds.

Con i tasti freccia o con gli strumenti della Timeline, inoltre, possiamo spostarci tra i vari frame dell'animazione; ovviamente, di default la Texture non sarà animata, perché nessuno dei suoi parametri lo è... ma a questo possiamo provvedere immediatamente.
Per aggiungere un keyframe ad un parametro, posizioniamo il mouse sul parametro e premiamo il tasto I, oppure facciamo click destro col mouse e scegliamo Insert Keyframe nel menù che apparirà a video.

Ad esempio, registriamo un Keyframe al primo fotogramma con Size XYZ a 1 nel nodo Texture, dopodiché andiamo al frame 250, cambiamo il valore di Size XYZ in 0.1 e registriamo un nuovo Keyframe.

Se, spostandovi nella Timeline, notate che le trasformazioni sono molto lente all'inizio e alla fine dell'animazione, ciò potrebbe essere dovuto all'interpolazione realizzata da Blender, che potete comunque modificare agendo sui Keyframes in una finestra di tipo Graph Editor.

Ora, le informazioni in arrivo da Depth e Mist possono essere utilizzate come maschere per ottenere vari effetti basati sulla distanza dei punti dalla telecamera virtuale. Allo stesso modo, l'informazione in scala di grigi di una Texture Procedurale, che come abbiamo detto è 3D, può essere utilizzata come maschera o come fattore per modulare una maschera.
Moltiplicando quindi una Texture Procedurale in scala di grigi con le informazioni in arrivo da Depth o Mist, potremo scurire alcune zone di quelle informazioni, e queste operazioni potranno essere animate perché è possibile spostare, ridimensionare e in generale trasformare le Textures Procedurali, come abbiamo visto... bene: questo è proprio quello che ho fatto per realizzare le animazioni che vi ho mostrato all'inizio di questo tutorial.

I rendering che avete visto sono stati effettuati utilizzando solo il canale Mist; in effetti, anche se l'effetto è interessante, non si tratta dei rendering finali della scena, ma dell'analisi della maschera di nebbia animata realizzata con i parametri da me impostati.
Nella scena 3D ho impostato i valori Mist Start e Mist Depth in modo tale da far iniziare la foschia proprio davanti alla telecamera virtuale e ottenere il valore massimo, ossia la maschera bianca, subito dopo gli oggetti più distanti presenti nella scena.
Analizziamo quindi lo schema di nodi che ho utilizzato.
L'unica informazione in uscita da Render Layers è Mist, perché quella che abbiamo visto è solo la maschera dell'effetto nebbia. Dal momento che stiamo utilizzando Mist e non Depth, i valori sono compresi nel range da 0 a 1.
A video sto mostrando adesso qual è l'informazione in uscita da Mist, collegandola al nodo Viewer, senza alcuna modulazione da parte delle Textures.

Mist viene quindi inviato ad un nodo Multiply che moltiplica questa informazione con una Texture procedurale di tipo Clouds.
I campi Offset XYZ della Texture Clouds sono animati: forniscono quindi lo spostamento della Texture, in particolare in orizzontale e in profondità.
Nel primo filmato, la Texture ha Size 2, fornendo delle chiazze molto grandi; ecco perché l'effetto è appena percettibile.

Il prodotto della moltiplicazione di queste due informazioni ha l'effetto di scurire l'informazione Mist a chiazze, in corrispondenza delle zone scure della Texture Clouds.
L'intensità del risultato può essere modificata in vari modi; nel mio caso, ho optato per l'utilizzo di un nodo RGB Curves.

L'uscita di RGB Curves viene poi moltiplicata, ossia scurita, con una Texture di tipo Blend, che fornisce un gradiente verticale, ottenuto impostando la Color Ramp della Texture. Su questo aspetto vale la pena soffermarsi, perché consente ulteriori, interessanti personalizzazioni.

All'inizio del tutorial vi ho mostrato due diverse animazioni; in entrambi i casi, lo schema di nodi era identico, ma a variare erano i parametri Offset XYZ di Clouds (che regola quindi la velocità di spostamento della nebbia), il parametro Size della Texture Clouds (che regola la densità dell'effetto) e, soprattutto la Color Ramp della Texture Blend (che determina l'area di maggior applicazione della Texture Clouds).
In particolare, nel secondo caso, ho accentuato la granulosità della Texture Clouds impostando un valore Size più basso, così da rendere più evidente l'effetto; inoltre, ho modificato la Ramp della Texture Blend in modo da restringere l'effetto ad una fascia, lasciando senza nebbia la parte in basso (in primo piano) e la parte in alto (per lasciare libera una porzione di cielo).


I gradienti della Texture Blend possono essere modificati, con un buon grado di libertà, agendo sulla Ramp, i cui parametri possono essere animati, registrando dei Keyframes, per cui l'aspetto può variare nel tempo.
Animando i parametri della Texture Blend è possibile ottenere anche dissolvenze o altri effetti... in generale, considerando quanti strumenti combinabili tra loro e quanti parametri animabili mette a disposizione Blender, gli effetti ottenibili sono davvero tantissimi.
Quello che avete visto qui è solo un esempio, tra l'altro molto semplice, di cosa è possibile fare utilizzando le Textures Procedurali per modulare alcuni effetti in Compositing, sia per realizzare animazioni che immagini singole. Spero che questo tutorial possa esservi utile! A presto!