In questo breve tutorial vi mostro un metodo per recuperare il valore di distanza di un punto del rendering. Questo può essere utile per implementare effetti di Compositing basati su valori ben precisi, ad esempio per realizzare maschere che siano attive solo dopo una determinata distanza.



Trascrizione del video

Salve a tutti! Come forse sapete, il Depth Render Pass nel Compositing consente di ottenere le distanze degli oggetti dalla telecamera virtuale sotto forma di immagine in scala di grigi a 32 bit.

Tempo fa ho pubblicato un tutorial in cui parlavo di questa informazione e di come utilizzarla con o senza normalizzazione, per implementare la nebbia o altri effetti basati sulla distanza.

In questo breve tutorial vi mostro un metodo per recuperare il valore di distanza di un punto del rendering. Questo può essere utile per implementare effetti di Compositing basati su valori ben precisi, ad esempio per realizzare maschere che siano attive solo dopo una determinata distanza.

Il punto fondamentale è questo: se avete un'immagine in un editor di tipo Image e fate click destro su un suo punto, Blender vi mostrerà i valori RGBA di quel pixel nella barra in basso. Il canale Alpha, in particolare, può tornare molto utile per questo scopo. In questo modo, infatti, potrete vedere il rendering originale, così da individuare i punti che vi interessano, per poi fare click su quei punti e vedere il valore di distanza nel campo Alpha. Vi mostro subito come fare.

Prima di avviare il rendering, attivo il Depth Pass nella scheda View Layer nell'editor Properties. In questa scheda, l'informazione Depth è chiamata Z.

Dopo aver avviato il rendering, in un editor di tipo Compositor collego l'uscita Depth del nodo Render Layers al canale Alpha del nodo Viewer.

Apro quindi un Image Editor e, all'interno di questo editor, apro l'immagine Viewer.

Adesso, facendo click destro sull'immagine, otterrò nel campo Alpha i valori di distanza, in unità di Blender, dalla telecamera, per ogni punto dell'immagine. Facendo click destro su un punto di World Background, il valore restituito sarà di 10 miliardi, che è un valore estremamente elevato, utilizzato per indicare la distanza idealmente infinita dell'universo virtuale.

Questo metodo funziona sia se si utilizza il Depth Pass così com'è, sia se viene normalizzato. La differenza sta nel fatto che il valore non normalizzato rappresenta effettivamente la distanza in unità di Blender tra gli oggetti e la telecamera virtuale, mentre il valore normalizzato va da 0 a 1, dove 0 è il punto più vicino alla telecamera e 1 quello più lontano. Ho parlato di questi aspetti nel tutorial che vi ho citato all'inizio.

Facendo click su una delle lapidi, quando il Depth Pass non è normalizzato, ottengo un valore intorno a 3585. Per ottenere una maschera che sia bianca per tutti gli oggetti che si trovano tra la telecamera virtuale e quel valore, e nera in tutti gli altri casi, non devo far altro che tornare nell'editor Compositor e inserire un nodo di tipo Math Less Than nello schema di nodi, collegando l'uscita Depth al primo ingresso Value del nuovo nodo e impostando il valore 3585 o giù di lì per il secondo valore.

Bene, per questo breve tutorial è tutto! A differenza di quanto avviene con la maggior parte dei miei videotutorial, la versione PDF di questo tutorial non è attualmente disponibile per il download. In descrizione trovate comunque il link alla pagina contenente le versioni PDF di molti altri miei videotutorial. In ogni caso, questo è un ottimo momento per iscrivervi al canale e attivare le notifiche! A presto!

Cerca nei Tutorial

Cerca inserendo una frase o più parole chiave, separate da virgole.

Modelli 3D, tutorial e risorse di computer grafica di Francesco Milanese. Le licenze d’uso dei modelli 3D sono acquistabili tramite gli store esterni indicati nelle rispettive pagine, secondo le condizioni di licenza applicabili. Francesco Milanese — Partita IVA: 06321250877. Contatti: info@francescomilanese.com


INFORMATIVA ESTESA SULL'UTILIZZO DEI COOKIES