Questo è un tutorial di base sul Compositing in Blender, realizzato in particolare con la versione 4.1 del programma, rivolto ai principianti e riguardante l'applicazione dell'Ambient Occlusion sui propri rendering.



Trascrizione del video

Salve a tutti!

Questo è un tutorial di base sul Compositing in Blender, realizzato in particolare con la versione 4.1 del programma, rivolto ai principianti e riguardante l'applicazione dell'Ambient Occlusion sui propri rendering.

L'Ambient Occlusion è una tecnica che, a seconda del metodo con cui viene implementata, calcola o simula le aree scure di alcuni oggetti che sono tali perché l'illuminazione ambientale non riesce a raggiungerle. Ciò avviene in angoli, cavità, anse, zone nascoste, oggetti molto vicini ed altre situazioni di questo tipo.

Avviene anche quando due oggetti sono a contatto tra loro, come ad esempio gli oggetti poggiati sulla scrivania nella scena che sto utilizzando per questo tutorial. In effetti, se l'Ambient Occlusion non è presente, il rendering risulta meno realistico, perché gli oggetti non sembrano effettivamente a contatto tra loro.

Quando l'Ambient Occlusion viene implementata, contribuisce a definire meglio le forme degli oggetti e ad aggiungere un senso di profondità, contribuendo a rendere le immagini più convincenti e realistiche.

In questo tutorial vedremo come recuperare l'informazione Ambient Occlusion, rendere più o meno larghe le aree di occlusione ambientale e come rendere l'effetto più o meno evidente.

Ma non è tutto: al termine del tutorial parlerò anche di cosa fare quando, nella scena renderizzata, è presente anche lo sfondo dell'universo virtuale, per cui restate sintonizzati fino alla fine!

In Blender, è possibile implementare l'Ambient Occlusion a livello di Material (ossia, impostandolo in maniera specifica per ciascun Material presente nella scena) e a livello di Rendering, utilizzando cioè le informazioni fornite da Blender sulla posizione e sulle forme degli oggetti all'interno della scena. In questo tutorial, esamineremo proprio l'Ambient Occlusion a livello di Rendering, in Post-Produzione.

Per questo tutorial sto utilizzando Cycles come motore di rendering, ma il workflow è valido anche con Eevee.

Di default, quando effettuiamo il rendering di una scena, Blender non fornisce l'informazione Ambient Occlusion nel nodo Render Layers, per cui la prima cosa da fare è attivare il Render Pass Ambient Occlusion nella sezione Passes Light della scheda View Layer, nell'editor Properties.

Fatto ciò, avviamo il rendering e passiamo ad un editor Compositor, dove potremo osservare le modifiche nello sfondo mediante attivazione della funzione Backdrop e inserimento di un nodo Viewer.

Nel mio caso, sto inserendo un nodo Reroute, che sto collegando sia a Composite che a Viewer; in questo modo, l'informazione che andrà al nodo Reroute verrà poi inviata sia al rendering che viene salvato su disco che a quello che stiamo vedendo come sfondo dell'editor Compositor.

Per rimpicciolire o ingrandire l'anteprima del compositing nello sfondo dell'editor, premete rispettivamente i tasti V o ALT V. Per spostare quell'anteprima, utilizzate ALT e il tasto centrale del mouse.

Per prima cosa, colleghiamo direttamente l'uscita Ambient Occlusion del nodo Render Layers al nodo Reroute, per osservarla.

Blender ci fornisce le informazioni di occlusione degli oggetti prendendole direttamente dalle geometrie presenti nella scena, per cui notiamo sia occlusioni tra oggetti diversi, come quelle tra la tazza e il tavolo, sia all'interno dei singoli oggetti, come nel caso dei fiori.

Notiamo anche che questa informazione è molto granulosa o, per meglio dire, rumorosa... per nostra fortuna, abbiamo a disposizione un nodo che serve proprio a ridurre il rumore, per cui aggiungiamo subito un nodo Denoise, del gruppo Filter, tra l'uscita Ambient Occlusion e il nodo Reroute.

Gli effetti sono visibili immediatamente, anche con le impostazioni di default del nodo Denoise.

Per aggiungere questa informazione al rendering originale, inseriamo un nodo di tipo Mix Color, dal gruppo Color Mix, nello schema, impostandolo in particolare in modalità Multiply e con valore 1 per il parametro Factor.

Colleghiamo quindi l'uscita Image di Render Layer al primo ingresso Image del nodo Multiply, dopodiché colleghiamo l'uscita del nodo Denoise al secondo ingresso Image del nodo Multiply e osserviamo il risultato, visibile collegando l'uscita di Multiply al nodo Reroute.

La moltiplicazione di un colore per un valore in scala di grigi ha l'effetto di scurire quel colore, perché significa sostanzialmente moltiplicare dei numeri compresi tra 0 e 1, per cui il risultato finale sarà un valore minore dei due numeri originali, ossia un colore più scuro.

Il rendering appare subito molto più convincente di quello originale. Possiamo valutare gli effetti dell'Ambient Occlusion pass attivando e disattivando il nodo Multiply, cosa che possiamo fare selezionando questo nodo e premendo più volte il tasto M, che è lo shortcut per l'operazione Mute sul nodo selezionato...

… tuttavia, non abbiamo ancora finito, perché possiamo ingrandire, rimpicciolire o rendere più o meno scure le informazioni del canale Ambient Occlusion, prima di applicarle all'immagine.

Per esaminare meglio gli effetti delle operazioni che sto per effettuare sull'uscita del nodo Denoise, collego direttamente questo nodo a Reroute.

Per poter allargare o rimpicciolire generate dall'Ambient Occlusion possiamo utilizzare un nodo Dilate / Erode del gruppo Filter. Questo nodo implementa delle operazioni morfologiche, agendo cioè sulle forme delle aree scure. Impostando un valore positivo nel campo Distance rimpiccioliremo le aree scure, mentre impostando un campo negativo le allargheremo.

Per poter rendere più o meno scura l'informazione Ambient Occlusion possiamo utilizzare un nodo Gamma, il quale ci consente di scurire o schiarire l'immagine ma senza portare a nero o a bianco i pixel grigi.

Se preferite, potete ottenere un effetto simile con un nodo RGB Curve modificando la curva C in modo tale da riprodurre, appunto, la curva Gamma. Questa operazione è molto diversa dal sommare o sottrarre valori ai pixel originali ed è più indicata per questo tipo di correzioni.

Ora che sappiamo quali sono gli effetti sia del nodo Dilate / Erode che del nodo Gamma, colleghiamo l'uscita di Gamma al secondo ingresso Multiply, dopodiché colleghiamo l'uscita di Multiply al nodo Reroute.

In questo modo, potremo modificare i valori dei nodi osservando gli effetti, questa volta, sul rendering originale.

Ricordate infine che anche il nodo Multiply vi fornisce un parametro, namely Factor, per regolare l'intensità dell'applicazione dell'effetto sul rendering originale, perché impostando quel valore a 0 avremo solo il rendering originale, mentre impostandolo a 1 avremo l'applicazione totale dell'effetto, con valori intermedi che corrisponderanno, ovviamente, ad applicazioni proporzionali.

Prima di concludere il tutorial, un'ultima annotazione. La scena che ho utilizzato finora era ambientata all'interno di una stanza e lo sfondo dell'universo virtuale non ha creato problemi perché veniva "filtrato", per così dire, dal materiale Glass della finestra.

Tuttavia, in scene all'aperto, lo sfondo dell'universo virtuale viene rappresentato nel canale Ambient Occlusion come nero. Moltiplicando questa informazione con l'immagine originale, quindi, lo sfondo risulterebbe del tutto nero.

Per risolvere questo problema, prima di avviare il rendering di una scena del genere attivate anche il Render Pass Environment, che isolerà proprio lo sfondo dell'universo virtuale, rappresentandolo a colori.

Tutti gli altri oggetti sovrapposti al rendering saranno rappresentati, invece, neri.

Aggiungete un nodo Mix Color, cambiandone la modalità in Exclusion, con valore 1 per il campo Factor, dopodiché collegate il render pass Environment al secondo ingresso Image di questo nodo.

Al primo ingresso Image del nodo Exclusion collegate invece l'output del nodo Multiply che abbiamo utilizzato per applicare l'Ambient Occlusion al rendering originale.

Bene, per questo tutorial è tutto! Spero vi sia stato utile! A presto!

Questo sito ha il solo scopo di mostrare alcuni dei miei lavori senza alcuna intenzione promozionale. Si prega di notare che attualmente non sto cercando (né risponderò a) richieste di lavori personalizzati, consulenze o altre collaborazioni lavorative, di qualsiasi tipo.


INFORMATIVA ESTESA SULL'UTILIZZO DEI COOKIES