In questo settimo tutorial della serie su fuoco e fumo con il simulatore Fluid in Blender 4.5, vedremo come utilizzare gli Attributes dei Voxel, descritti nel tutorial precedente, per modificare i materiali di fuoco e fumo per il rendering.


Questo tutorial fa parte di una miniserie di 10 puntate sulle basi di Fuoco e Fumo in Blender 4.5. Per l'elenco completo delle puntate, clicca qui.


Trascrizione del video

Salve a tutti! In questo settimo tutorial della serie su fuoco e fumo con il simulatore Fluid in Blender 4.5, vedremo come utilizzare gli Attributes dei Voxel, descritti nel tutorial precedente, per modificare i materiali di fuoco e fumo per il rendering.

Nella scena che sto utilizzando per il primo esempio di questa puntata, l'emissione del fuoco avviene da un Vertex Group dell'oggetto che ha il componente Fluid in modalità Inflow Fire. Il Domain della simulazione racchiude solo la parte alta del bruciatore, perché la fiamma si sviluppa lì.

Parlando di emissione da un Vertex Group, nel caso non fossero visibili le fiamme emesse, il problema potrebbe risiedere nella risoluzione del Domain. In caso di risoluzioni troppo basse, e quindi di Voxel troppo grandi, i Voxel contenenti i vertici emettitori potrebbero essere considerati vuoti e non emettere fiamme. Provate quindi ad aumentare la risoluzione del Domain.

Con le impostazioni di default, la fiamma iniziale sarà molto bassa, addirittura invisibile da una vista laterale, ma ormai conosciamo diversi metodi per modificarne l'aspetto. Ad esempio, possiamo agire sulla velocità iniziale dell'oggetto Inflow per dare alle fiamme una spinta verso l'alto, oppure sulla velocità di reazione del Domain, per far sì che le fiamme siano più alte. A proposito del tipo di fiamme prodotte da questo bruciatore, va detto che possono essere di vari tipi, sia dal punto di vista della turbolenza che del colore. Per ottenere una fiamma del quarto tipo, con quasi nessuna turbolenza, abbasso a 0 il valore di Vorticity nella sezione Fire del Domain.

Come ultima modifica prima di passare alla definizione del Material, sto dando più vertici al Vertex Group di emissione e sto limitando l'animazione nella Timeline agli ultimi 100 frame della simulazione, ossia quando la fiamma è già ben sviluppata e stabile.

Ok, passiamo alla definizione del Material! Sto impostando la vista 3D laterale direttamente in modalità di visualizzazione Rendered con lo sfondo dell'universo virtuale con intensità 0, per cui all'inizio l'anteprima sarà nera. In una finestra Image a sinistra ho messo un'immagine di riferimento, mentre al centro ho l'editor dei Materials con il Domain, che è provvisto di un nodo di tipo Principled Volume.

Come ben sappiamo dai tutorial precedenti, aumentando il valore di Emission Strength e dando un colore uniforme al relativo campo Emission Color, otterremo un risultato molto deludente. Abbiamo visto come utilizzare Blackbody, ma ora è davvero giunto il momento di imparare ad utilizzare la modalità Emission.

Dalla puntata precedente, sappiamo che il simulatore dei fluidi memorizza delle informazioni per ciascun Voxel. Queste informazioni possono essere recuperate mediante dei nodi Attribute, digitando i nomi degli attributi nel relativo campo. I materiali volumetrici dispongono però di un nodo particolare, chiamato Volume Info, che fornisce questi attributi come porte di uscita.

Collegando l'uscita Flame o l'uscita Temperature all'ingresso Emission Strength, ecco che l'aspetto della fiamma cambia radicalmente! L'uscita Flame restituisce dei valori meglio interpolati rispetto all'uscita Temperature, dove tra l'altro la risoluzione scelta per il Domain si fa vedere, per cui utilizzerò Flame.

Le uscite Flame e Temperature possono essere utilizzate anche per Emission Color, soprattutto se in mezzo ci mettiamo un nodo di tipo Color Ramp. In questo modo, potremo modificare il colore della fiamma nei suoi vari punti proprio in base all'informazione relativa contenuta nei Voxel del Domain.

Utilizzo l'informazione Flame anche per la Color Ramp e, quindi, per il parametro Emission Color del Material. A questo punto il lavoro consiste nel definire il colore e il livello di trasparenza dei Color Stops della Color Ramp. Per questo lavoro è possibile utilizzare il Color Picker messo a disposizione da Blender per andare a prendere i colori presenti nell'immagine di riferimento. Ricordate che i colori dei vari Color Stops prevedono anche dei livelli di trasparenza, molto utili per le parti più esterne della fiamma, dove si può individuare una parte semitrasparente prima del suo confine, che invece è più opaco. Inoltre, dovrete scegliere in maniera opportuna anche l'interpolazione realizzata tra i vari Color Stops. Tra queste opzioni, la più estrema è Constant, che passa brutalmente da un Color Stop ad un altro, per cui non è molto realistica ma può essere utilizzata per rappresentazioni più artistiche.

Se questo tutorial sui Materials è breve, lo è solo perché stiamo utilizzando delle informazioni e dei parametri studiati nei tutorial precedenti. Adesso ne sappiamo abbastanza per provare a definire le varie forme delle fiamme, mediante i parametri dei componenti Fluid per il Domain e per i Flow, e il loro aspetto visivo, mediante il Blackbody o il campo Emission, con i vari nodi messi a disposizione da Blender.

Non limitatevi allo schema che vi ho mostrato, ma provate anche utilizzando gli altri nodi dei Materials. Ad esempio, potete inserire un nodo di tipo Math, in modalità Multiply o Power, per modificare l'intensità di Emission Strength, modificando l'informazione in arrivo da Flame. Tra l'altro, i parametri di questi nodi possono essere dotati di keyframes, quindi potete animare l'intensità della fiamma con questi nodi, modificandone il Material, senza dover andare a modificare i campi dei componenti Fluid della simulazione.

Prima di chiudere questo tutorial, vi mostro come ho fatto a definire tre oggetti Inflow con tre diversi colori all'interno dello stesso Domain. Il risultato in realtà non è perfetto, ma lo utilizzo come spunto per mostrarvi un altro caso di utilizzo dei nodi e, in particolare, della Color Ramp.

Come ben sappiamo, il Material va definito a livello di Domain, perché viene realizzato partendo dai Voxel di quest'ultimo, quindi non possiamo specificare dei Blackbody diversi per gli oggetti Inflow al suo interno.

Uno dei campi degli oggetti Inflow è però Smoke Color, definito nella scheda dell'Inflow. Questo colore può essere recuperato nello Shader del Domain mediante il nodo Volume Info, prelevando in particolare l'informazione Color.

Utilizzando questo campo come Factor in un nodo Mix Shader, possiamo dare ai vari Voxel un Principled Volume diverso a seconda del colore del fumo specificato per quei Voxel. Il solo nodo Mix Shader realizzerebbe però una miscelazione al 50% tra i due Shader, per cui dobbiamo utilizzare una Color Ramp con una separazione netta tra i colori in arrivo da Volume Info. Per ottenere questo scopo, utilizzo il metodo di interpolazione Constant.

Ho quindi definito tre diversi colori per i campi Color dei tre oggetti Inflow, ed in particolare ho utilizzato il bianco, il grigio e il nero, procedendo da sinistra a destra.

La prima Color Ramp separa proprio in maniera netta il nero dagli altri colori. Il nero equivale a 0, quindi al primo ingresso Shader del primo nodo Mix Shader, che in questo caso è collegato ad un nodo Principled Volume con colore rosso per Blackbody Tint. Sto attivando il Denoise anche nell'anteprima 3D per definire meglio il colore degli elementi nella vista Rendered.

Al secondo ingresso Mix Shader ho collegato un Principled Volume con un Blackbody che ha una tinta blu. Quindi, in questo momento, se il colore del fumo è nero abbiamo un Blackbody rosso. Se il colore del fumo non è nero, passa un Blackbody blu.

A questo punto entra in gioco un altro nodo Mix Shader che ha, al suo ingresso, un altro nodo Color Ramp, impostato in particolare su Constant con un Color Stop esattamente a metà rampa.

In questo caso, se il colore del fumo è tra nero e grigio, viene utilizzato il primo Shader in ingresso sul secondo nodo Mix Shader. Quello Shader era il risultato della distinzione tra nero e grigio, per cui il colore finale sarà o rosso o blu.

Se invece il colore del fumo è tra grigio e bianco, allora viene utilizzato il secondo ingresso Shader del secondo nodo Mix Shader. Questo ingresso è collegato ad un nodo Principled Volume che ha colore verde per la tinta del Blackbody. Ecco quindi che l'oggetto che aveva il bianco come Smoke Color verrà colorato di verde in fase di rendering.

Questo non è certamente l'unico metodo col quale potete creare globi infuocati con due o tre colori diversi, ma l'ho voluto utilizzare per mostrarvi un caso d'uso. Come vi ho anticipato, la separazione non è netta, per cui vi invito a suggerire modifiche o schemi alternativi nei commenti, se ne trovate altri!

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