7.6 – Dinamica Fisica – Sistemi Volumetrici: Fluidi

All’interno di un domain cubico suddiviso in un numero discreto di voxel, Blender riesce a simulare anche il complesso comportamento dei fluidi. Questo genere di simulazione è piuttosto onerosa in termini di potenza computazionale e spesso arriva a occupare un notevole quantitativo di memoria, specie se si desidera ottenere un risultato accurato e realistico. Inizieremo pertanto a studiare degli esempi relativamente leggeri, per poi aumentare la qualità della simulazione in funzione sia dell’hardware in nostro possesso, sia della scena che intenderemo realizzare.
Partiamo da un cubo a cui assegnare la fisica Fluid > Domain

Come vedete stavolta abbiamo impostato Liquid in Domain Type, mentre per le prime prove potrete impostare Resolution Divisions a 32. L’aumento della risoluzione volumetrica determina un aumento cubico del numero di unità voxel elementari da dover elaborare. Se abbiamo in uso un computer con CPU multicore di ultima generazione, un sistema operativo a 64 bit e molta ram (come la maggior parte dei computer attualmente in commercio) potremo comunque ottenere simulazioni piuttosto dettagliate con tempi di elaborazione sostenibili. Su un computer dual core con appena 4 giga, conviene sperimentare con questi parametri, o di poco superiori, onde evitare il blocco del software. A differenza dei sistemi gassosi, il domain non verrà rappresentato automaticamente in wire frame (vedremo dopo il perché). Inoltre nel campo Border Collisions tutte le voci sono selezionate di default (in modo che il fluido non possa uscire dal domain). Passiamo alla visualizzazione wire frame della 3D View e all’interno del domain (il solito cubo) inseriamo una UV Sphere alla quale assegneremo la dinamica: Fluid > Flow

Stavolta nel campo Flow Behavior scegliamo Geometry poiché non vogliamo che la superficie emetta del liquido, in quanto l’obiettivo è quello di trasformare il volume della sfera in liquido.

Avviando l’animazione e tramite la visualizzazione wire frame della 3D View vedremo in azione un Particle System che partendo dalla forma iniziale della sfera andrà ad impattare il fondo del domain secondo l’impostazione dell’accelerazione di gravità nel contesto scene; il fluido quindi si espanderà fino ai bordi del domain per riportarsi al livello del minimo potenziale gravitazionale.

Già da questo primo esperimento è possibile notare quanto sia realistico il moto del fluido nonostante la sua rappresentazione grafica ancora piuttosto grezza. Recandoci nel contesto Particle Properties (del Domain) troveremo il sistema particellare Liquid.

Potremo renderizzare questo sistema come visto nel paragrafo 7.3, oppure seguire un’altra via: riportiamoci sulle opzioni della dinamica fluid per il domain e aumentiamo la risoluzione a 64. Per i prossimi esempi sceglieremo l’elaborazione Modular con spunta su Is Resumable nel pannello Cache.

Dopo l’elaborazione attiviamo il pannello mesh (opzioni relative al domain) lasciamo le impostazioni di default e clicchiamo semplicemente su Bake Mesh

Vedrete che la mesh del cubo domain verrà suddivisa e adattata in modo da coincidere con la forma e il moto del sistema particellare (per vedere la sola mesh dovrete disattivare la visibilità del sistema particellare nel relativo contesto)

Questo ci semplificherà di molto la vita perché dovremo semplicemente definire il materiale per il cubo e procedere al rendering. Di fatto basterà il consueto principled shader, ponendo al massimo il valore transmission e regolando l’IOR (dopo aver scelto il colore base).

All’interno del domain potremo far interagire il fluido con una qualsiasi mesh.

Procediamo alla creazione di un contenitore semisferico (UV Sphere con metà dei vertici eliminati in edit mode) e dinamica Fluid > Effector con questi settaggi

come vedete ho impostato Collision in Effector Type, spuntato la casella Is Planar (utile per delle mesh come in questo caso prive di volume interno). È possibile aumentare Surface Thickness e Sampling Substeps per far si che il fluido rilevi in tempo la presenza di un ostacolo senza passare attraverso ad esso. A generare il fluido è una ancora il volume di una UV Sphere (più piccola).

Si può infine rendere invisibile la mesh effector e sostituirla da una identica senza alcun tipo di dinamica fisica, la cui funzione sarà unicamente rappresentativa, magari dotata di uno spessore (modificatore solidify).

Vediamo ora un altro interessante esempio di interazione tra fluido e mesh effector>collison, con una piccola sfera dotata di dinamica rigid body che cadendo andrà ad impattare il fluido all’interno del domain.

Nella vista front ortho vediamo il cubo domain (quadrato esterno) e il fluido (rettangolo interno e posto in fondo al domain); più in alto l’UV Sphere dotata di fisica sia rigid body, sia fluid effector (collision).

Trattandosi di un rigid body, la sfera per azione dell’accelerazione di gravità, va ad impattare il fluido proseguendo oltre il fondo del domain con il quale non interagirà. Dalle immagini in wire frame (vista front ortho) in basso potete distinguere chiaramente anche la discretizzazione volumetrica del fluido.

 

Concludiamo questa prima introduzione alla fisica dei fluidi osservando i restanti pannelli della dinamica Fluid di tipo Domain. Nel pannello Diffusion potremo impostare la viscosità del fluido scegliendo tra 3 presets fondamentali: Acqua, Miele e Olio

Nel pannello Particles si regola la creazione di tre diversi tipi di particelle di fluido :

  • Spray, schizzi e gocce che si verificano negli impatti.
  • Foam, particelle galleggianti in superficie come la schiuma.
  • Bubbles, bolle d’aria.

Una volta attivate le tre caselle occorre solo cliccare su Bake Particles. A quel punto nel contesto Particle appariranno i nuovi sistemi

Nelle immagini precedenti, dall’alto verso il basso, vediamo rispettivamente i sistemi particellari di tipo Spray, Foam e Bubble. Questi sono da renderizzare con i metodi visti nel paragrafo 7.3. Per gli schizzi potrete ad esempio definire una icosphere col minimo numero di subdivision, assegnarle lo shader del liquido e renderizzare il sistema particellare utilizzando tale mesh come oggetto istanza.

All’interno del domain possiamo fare in modo che venga continuamente generato oppure sottratto del fluido, ricorrendo a delle mesh con fisica Fluid Inflow e Outflow. Inseriamo all’interno del Cubo Domain un cubo più piccolo, come nell’immagine in basso, al quale assegneremo fisica Fluid>Flow>Inflow.

Nel Pannello Initial Velocity andremo ad impostare la velocità inflow sull’asse X (riferimento global). In questo caso il fluido verrà generato dal volume della mesh; se essa fosse stata piana e priva di volume interno avremmo dovuto attivare la casella Is Planar.

Quando il cubo inflow verrà interamente ricoperto, esso non genererà altro fluido, ma manterrà una spinta di tipo convettivo sul liquido presente.

Inserendo una mesh dotata di fisica fluid outflow (ad esempio in basso nella scena precedente) questa assorbirà tutte le particelle all’interno del proprio volume facendo in modo che il fluido generato dal cubo inflow (in alto) non potrà in ogni caso superare un certo livello

Proviamo a calcolare e osservare il moto delle le particelle: Spray, Foam e Bubble, anche per il sistema appena analizzato. Nelle seguenti immagini dall’alto verso il basso potete osservare dapprima i tre singoli sistemi particellari (il sistema Fluid è stato convertito in mesh) in azione nella vista ortografica, e poi tutti insieme. Ricordo che i colori dal blu al verde, e dal verde al rosso indicano la velocità crescente delle particelle, cosa comprensibile osservando l’animazione in movimento.

I sistemi fisici analizzati in questi ultimi due paragrafi rispondono all’influenza delle forze studiate nel paragrafo 7.3. Vediamo ad esempio l’effetto di una forza Vortex su del liquido inizialmente a riposo. Anche in questo caso ho trasformato il sistema particellare fluid in mesh e successivamente elaborato i soliti sistemi di particelle: spray, foam e bubbles, visibili simultaneamente nelle immagini.

Paragrafo successivo
Paragrafo precedente

Torna all’Indice


Nell’augurarti un divertente e produttivo studio di Blender, ti ricordo che puoi supportare questo progetto in due diversi modi: con una piccola donazione (paypal) oppure acquistando la versione PDF (su lulu.com) impaginata in modo professionale e ottimizzata per la visione su Tablet.  



>Acquista l’ebook (PDF) su lulu.com in piena sicurezza con paypal e carte prepagate<