Capitolo 24. Effetti Volumetrici

A partire da Blender v2.31

Anche se Blender espone una bella opzione per la Nebbia [Mist] nelle impostazioni del Mondo [World] per dare alle proprie immagini un po' di profondità, si potrebbero voler creare dei veri effetti volumetrici; nebbia, nuvole e fumo che sembrano realmente occupare dello spazio.

La Figura 24-1 mostra un'impostazione con qualche colonna disposta in circolo, con un bel materiale a scelta per le colonne ed il suolo ed un Mondo [World] per definire il colore del cielo.

Figura 24-1. Colonne su un piano.

La Figura 24-2 ne mostra il rendering, mentre nella Figura 24-3 c'è un rendering con la Nebbia [Mist] incorporato in Blender. Le impostazione della Nebbia in questo particolare caso sono: Linear Mist, Sta=1, Di=20, Hig=5.

Figura 24-2. Un semplice rendering.

Figura 24-3. Un rendering con l'effetto Nebbia [Mist] di Blender.

Ma si vuol creare una nebbia verosimile fredda, con un turbinio, e, soprattutto, non-uniforme. Le textures procedurali incluse in Blender (le nubiforme [clouds] per esempio) sono intrinsecamente 3D, ma partecipano al rendering solo quando sono mappate su una superficie 2D. Otterremo un rendering simile al 'volumetrico', 'campionando' la texture su una serie di piani mutuamente paralleli. Ciascuno dei piani quindi esporrà una texture standard di Blender sulle loro superfici 2D, ma l'effetto globale sarà un oggetto 3D. Questo concetto sarà chiarito con l'esempio apposito.

Con la telecamera in z=0, rivolta in avanti, si va nella vista frontale e si aggiunge un piano di fronte alla telecamera, col suo centro allineato alla direzione della vista della telecamera. Nella vista laterale si sposta il piano dove si vuole che finisca l'effetto volumetrico. Nel nostro caso da qualche parte oltre la colonna più lontana. Si dimensiona il piano in modo che comprenda l'intero campo visivo della telecamera (Figura 24-4). È importante avere una telecamera che punti lungo l'asse y dato che i piani devono essere ortogonali alla direzione della vista. Ad ogni modo, li potremo comunque spostare in seguito.

Figura 24-4. L'impostazione del piano.

Dopo aver verificato di stare nel frame 1, si pone un Fotogramma Chiave [KeyFrame] (IKEY) di tipo Loc. Ora dovremmo spostarci al fotogramma 100, spostare il piano più vicino alla telecamera, ed inserire un altro KeyFrame Loc. Nel Contesto Oggetto Pannello Anim Settings (F7) si preme il pulsante DupliFrame.

Nella finestra 3D, nella vista laterale, vedremo qualcosa di simile alla Figura 24-5. Questo non è buono in quanto i piani sono troppo addensati all'inizio ed alla fine della spazzolata [sweep]. Col piano ancora selezionato si cambia una finestra in una finestra IPO (SHIFT-F6). Ci saranno tre IPO Loc, delle quali solo una non-costante. La si seleziona, si cambia in Modo Edit (TAB) e si selezionano entrambi i punti. Ora la si cambia da curva a retta con (VKEY) (Figura 24-6).

Figura 24-5. Il piano Duplicato ai Frame.

Figura 24-6. Riconformazione della IPO del piano Duplicato ai Frame.

I piani ora appariranno come in Figura 24-7. Si imparentano i piani ottenuti col DupliFrame alla telecamera (si seleziona il piano, SHIFT si seleziona la telecamera, CTRL-P). Ora si ha una serie di piani che seguono automaticamente la telecamera, orientati sempre perpendicolarmente ad essa. Da adesso, volendo, possiamo spostare la telecamera.

Figura 24-7. Riconformazione della IPO del piano Duplicato ai Frame.

Figura 24-8. Impostazione del Materiale base.

Ora si aggiunge la Nebbia [Mist] allo materiale stesso. Il materiale dovrebbe essere Shadeless (senza ombre) e non proiettare ombre per evitare effetti indesiderati. Si dovrebbe avere un valore piccolo di Alpha (Figura 24-8). Un materiale come questo dovrebbe fondamentalmente agire come la nebbia inclusa in Blender, quindi non si dovrebbero avere vantaggi nell'immagine risultante. Lo svantaggio è che il calcolo di 100 strati trasparenti richiede molta CPU, specie se quelli desiderati sono i risultati migliori del Rendering Unificato.

Una rapida anteprima: Si può usare il Pulsante Numerico DupOff: nel Pannello Anim Settings per disattivare dei piani e quindi ottenere un'anteprima più veloce, a più bassa qualità di quello che si sta facendo. Per il rendering finale si rimetterà DupOff a 0.

Si faccia attenzione al valore di Alfa! Meno piani si useranno più sottile sarà la nebbia, quindi il rendering finale sarà più 'Nebbioso' dell'anteprima!

La cosa veramente interessante viene quando si aggiungono le textures. Ne avremo bisogno di almeno due: Una per limitare la Nebbia nella dimensione verticale e tenerla al suolo; La seconda per renderla non uniforme e con qualche variazione della tinta.

Come prima texture si aggiunge una texture Blend di tipo "lineare", con una semplicissima banda di colore, andando dal bianco puro, Alpha=1 nella posizione 0.1 al bianco puro, Alpha=0 nella posizione 0.9 (Figura 24-9). Questa si aggiunge solo al canale Alfa e come texture di moltiplicazione (Pulsante Mul) (Figura 24-10). Per rendere consistente la nebbia col movimento della Telecamera, ed i piani che la seguono, bisogna impostarla a Global. Questo sarà vero anche per tutte le altre textures e renderà i piani una texture volumetrica 3D. Se si prevede di fare un'animazione si vedrà una nebbia statica, rispetto alla scena, mentre la camera si muove. Qualsiasi altra impostazione della texture mostrerebbe una Nebbia che sia statica rispetto alla telecamera, quindi sarà sempre la stessa mentre la telecamera si sposta, il che è poco realistico.

Figura 24-9. Texture limitata in altezza.

Figura 24-10. Impostazioni del Materiale base per la texture della nebbia [cloud].

Ad ogni modo, se si vuole avere un movimento, un turbinio, bisogna fare delle modifiche alla nebbia in modo da animare la texture, come sarà spiegato in seguito.

La texture Blend opera nelle direzioni X e Y, quindi se si vuole che si sposti verticalmente nelle coordinate Globali bisogna rimapparla (Figura 24-10). Si noti che la miscelazione da Alpha=1 ad Alpha=0 avverrà dalla coordinata globale z=0 alla z=1 a meno di ulteriori spostamenti e dimensionamenti aggiunti. Per i nostri scopi le impostazioni standard vanno bene.

Se si effettua un rendering, non importa dove sia la telecamera, ed i piani. La nebbia sarà spessa sotto z=0, inesistente sopra z=1 e sfumata nel frattempo. Se si è confusi da questa apparente complessità, si pensi a quello che si otterrebbe con una normale texture Orco (ORiginal COordinate) e dei piani non imparentati. Spostando la telecamera, specialmente nelle animazioni, il risultato diventerà sempre più mediocre man mano che i piani non sono più perpendicolari alla telecamera. Alla fine non si avrà affatto nebbia se la telecamera è parallela ai piani!

La seconda texture è quella che da il vero lato della nebbia incorporata. Si aggiunge una texture Nubiforme [Cloud], la si crea con Noise Size=2, Noise Depth=6 e Hard Noise Attivato (Figura 24-11). Vi si aggiunge anche una banda di colore, che va dal bianco puro con Alpha=1 alla Posizione 0, al grigio pallido bluescente con Alpha=0.8 in una posizione prossima a 0.15, ad una tinta rosea con Alpha=0.5 intorno alla posizione 0.2, finendo al bianco puro, Alpha=0 colore nella posizione 0.3. Ovviamente, si dovrebbe andare dal verdognolo al giallo per le nebbie di palude ecc.

Figura 24-11. Le impostazioni della texture Nubiforme [Cloud].

Questa texture si usa su Col e su Alpha come una texture Mul, tenendo tutte le altre impostazioni come default. Se si effettua il rendering della scena la base delle colonne risulterà mascherata da una fitta nebbia (Figura 24-12). Da notare che col Rendering Unificato si ottengono dei risultati migliori in questo caso.

Figura 24-12. Il rendering finale.

Nota: Se si prevede un'animazione e si vuole che la nebbia sia animata come se fosse mossa dal vento, è su quest'ultima texture che si dovrà lavorare. Si aggiunge una IPO del Materiale della texture, ci si assicura di aver selezionato il canale della texture corretta e si aggiunge qualche IPO alle proprietà OfsX, OfsY e OfsZ.