Impostazioni di base della simulazione Pyro

In questa pagina imparerete a conoscere le impostazioni di base del tag Emettitore Pyro, responsabile della creazione di gas simulato nell'area di un oggetto. Saranno trattati i seguenti argomenti:


Selezionare l'hardware

Le simulazioni possono essere molto impegnative dal punto di vista computazionale. Quindi necessitano di un hardware più potente possibile per fornire un rendering significativo già nella viewport. Come per il rendering con Redshift, le schede grafiche possono generalmente offrire valori di prestazioni molto migliori rispetto all'uso della CPU. È quindi vantaggioso attivare sempre il componente più potente del proprio hardware per le simulazioni. A questo scopo, aprite le impostazioni della Scena Pyro, associate all'oggetto Output Pyro. Troverete la tab Scena da cui potete innanzitutto selezionare CPU o GPU alla voce Dispositivo. Se avete a disposizione più GPU, potete selezionare direttamente il dispositivo desiderato da utilizzare per il calcolo della simulazione. In genere è opportuno selezionare la scheda grafica più potente o, nel caso di una simulazione Pyro, la GPU che dispone della maggiore quantità di memoria.


Regolare le dimensioni dei voxel

Ora abbiamo 2 importanti regolazioni iniziali da effettuare. Nelle impostazioni della Scena Pyro dell'oggetto Output Pyro si trova l'impostazione Dimensione Voxel. Definisce il grado di suddivisione dello spazio da parte della simulazione. Pertanto, una dimensione ridotta del voxel porta automaticamente a un calcolo più accurato e a una simulazione più dettagliata. Allo stesso tempo, però, i requisiti di calcolo e di memoria della simulazione aumentano proporzionalmente. Pertanto, è necessario regolare questo valore in base alle dimensioni della simulazione. All'inizio, la dimensione dell'oggetto a cui è stato assegnato il tag Emettitore Pyro può servire come valore di riferimento. È quindi opportuno inserire dimensioni realistiche nei parametri della Scena Pyro sull'oggetto Output Pyro. L'immagine seguente mostra l'influenza della Dimensione Voxel sul risultato della simulazione.


In questo esempio, un anello deformato viene utilizzato come Emettitore Pyro. Le immagini superiori mostrano il risultato della simulazione dopo 40 fotogrammi di animazione. Qui di seguito è riportato un primo piano dell'anello utilizzato come Emettitore Pyro, in modo da poter osservare la distribuzione dei gas appena formati nel volume dell'oggetto. L'oggetto Anello stesso è stato nascosto per questo motivo.

Nell'immagine qui sopra, da sinistra a destra, sono stati utilizzati i valori di Dimensione Voxel 5 cm, 1 cm e 0,1 cm. La larghezza dell'anello deformato, che qui funge da Emettitore Pyro, è di circa 20 cm. Potete notare chiaramente come la riduzione della Dimensione Voxel porta ad un riempimento più efficace dell'anello con il gas e a una simulazione più dettagliata. Allo stesso tempo, però, i tempi della simulazione aumentano notevolmente e anche la memoria richiesta sale vertiginosamente.

Negli oggetti particolarmente grandi, una Dimensione Voxel troppo bassa può condurre rapidamente a un livello di memoria insufficiente. In questi casi, è utile regolare la Dimensione Voxel per campionare il volume nell'oggetto Emettitore. Ciò è possibile grazie all'opzione Fedeltà Oggetto sul tag Emettitore Pyro o Carburante Pyro. Questo valore percentuale si riferisce direttamente alla Dimensione Voxel definita in precedenza. Pertanto, con valori Fedeltà Oggetto inferiori al 100%, è possibile ridurre selettivamente il numero di Voxel nell'area dell'Emettitore Pyro. Questo comporta un arrotondamento della forma dell'Emettitore rilevato e la mancata considerazione delle sezioni dell'oggetto la cui sezione trasversale è inferiore al valore Dimensione Voxel moltiplicato per Fedeltà Oggetto. Spesso, tuttavia, questa imprecisione può essere ignorata, soprattutto se in questo modo possiamo risparmiare memoria e tempi di calcolo. L'immagine seguente ne mostra un esempio.


Questa sequenza di immagini utilizza nuovamente come Emettitore l'anello deformato dell'ultimo esempio. Per tutte e tre le immagini è stata utilizzata una Dimensione Voxel di 1 cm. L'unica differenza tra le immagini è il parametro Fedeltà Oggetto. È stato utilizzato il 10% a sinistra, il 50% al centro e il 100% a destra....

Come potete osservare nell'immagine qui sopra, una forte riduzione del valore Fedeltà Oggetto comporta che solo alcune aree dell'oggetto saranno usate come Emettitore Pyro. Di conseguenza, verrà emesso meno fumo, gas caldo o combustibile. Allo stesso modo, la distribuzione del gas generato può diventare più irregolare, in quanto solo le sezioni più voluminose dell'oggetto vengono riempite di gas. Tuttavia, in questo esempio l'immagine chiarisce che le differenze possono essere davvero minime in certi casi. La differenza tra il risultato della simulazione al centro e a destra è in effetti trascurabile. Però stiamo risparmiando molti Voxel nel volume!

Quindi, per riassumere, usate il settaggio Dimensione Voxel dalle impostazioni della Scena Pyro dell'oggetto Output Pyro per controllare la dimensione della simulazione e quindi il suo livello di dettaglio. Inoltre esso fornisce uno strumento per ottimizzare i requisiti di archiviazione e la durata del calcolo. Valori di Dimensione Voxel più bassi portano sempre a calcoli di simulazione più complessi e a maggiori requisiti di memoria. C'è un limite fisso per le simulazioni. Se, ad esempio, doveste generare troppi Voxel per un'esplosione di grandi dimensioni o per un valore di Dimensione Voxel troppo basso, potreste non riuscire più ad acquisire l'intero volume della nuvola, della fiamma o dell'esplosione. Ad esempio potrebbero esserci delle aree mancanti nella nuvola.

Esempi e soluzioni per evitare questo problema si trovano nella descrizione delle impostazioni della Simulazione Pyro. Quindi cercate di mantenere sempre la Dimensione Voxel il più grande possibile ma la più piccola necessaria.


Personalizzare il livello di dettaglio

Un'ulteriore possibilità è il successivo aumento del set di voxel per aggiungere ulteriori dettagli a una simulazione a bassa risoluzione senza dover modificare la forma di base della simulazione. Normalmente, l'andamento di una simulazione cambia quando si utilizzano voxel più piccoli. Ciò rende difficile creare una simulazione veloce con voxel di grandi dimensioni e poi semplicemente ridimensionare i voxel per il rendering. Tuttavia, utilizzando la cosiddetta funzione Up-Res, potete utilizzare anche i dati di simulazione esistenti, successivamente suddivisi e dettagliati mediante la sovrapposizione di una struttura di disturbo.


Ecco alcuni esempi dell'effetto Up-Res. Le fiamme di sinistra in entrambi gli esempi sono state simulate con una bassa densità di voxel. A destra di ciascun esempio abbiamo riportato la versione simulata da Up-Res. In questo caso, sono visibili più dettagli e il risultato appare più nitido.

A tale scopo, salvate la simulazione come cache, con una dimensione voxel maggiore. Quindi utilizzate le opzioni di Up-Res nella sezione Cache dell'oggetto Output Pyro. Potete anche definire una suddivisione aggiuntiva dei voxel (settaggio Fattore Up-Res ) e aggiungere sovrapposizioni di disturbo. Se poi calcolate una nuova cache, questa utilizzerà le cache a bassa risoluzione come base aggiungendoci i nuovi dettagli (si vedano anche gli esempi nella figura precedente). Poiché questo ricalcolo viene effettuato immagine per immagine, la forma di base della simulazione iniziale viene preservata. Inoltre, ciò rende abbastanza facile creare diversi livelli di dettaglio di una simulazione.


Nota:

Quando calcolate l'effetto Up-Res, la componente Velocità della simulazione (velocità) è obbligatoria. Si tratta quindi di una componente della cache a bassa risoluzione che fa da base per la rifinitura.


Utilizzare le Mappe Vertici

Nell'esempio precedente abbiamo utilizzato un oggetto completo come Emettitore. Tuttavia possiamo definire come Emettitori solo alcune parti di una superficie. In questo modo ad esempio possiamo far sì che il fuoco si propaghi lentamente in un'area o che il fumo si formi solo in alcuni punti.

Per fare questo, la soluzione migliore è l'utilizzo delle Mappe Vertici. Potete crearle molto rapidamente convertendo una selezione di punti, ad esempio richiamando il comando Imposta Peso Punti... nel menu Seleziona e specificando poi un valore di 100% nella relativa finestra di dialogo. Tuttavia, una Mappa Vertici può anche essere creata dipingendola direttamente, il che consente di definire valori intermedi variabili e interpolazioni tra i valori di mappe vertici vicine.

A tale scopo, selezionate l'oggetto poligonale (un oggetto parametrico deve essere prima convertito con Rendi Modificabile) e quindi selezionate il tag Mappa Vertici nella categoria Altri Tag del menu Tag in Gestione Oggetti. La creazione di questo tag attiva automaticamente lo Strumento Pittura (accessibile anche dal menu Strumenti. L'intensità può essere regolata sul tag tramite il settaggio Opacità. Eventualmente potete trovare maggiori dettagli sullo Strumento Pittura e sul tag Mappa Vertice stesso a questo link.


Qui vediamo un cubo appiattito su cui è stata definita una Mappa Vertici. Qui sopra potete vedere il risultato della simulazione del fumo per questo oggetto.

L'effetto dell'Emettitore Pyro avrà pieno effetto ovunque il valore 100% sia memorizzato nella Mappa Vertici. Le aree con meno pesi nella Mappa Vertici genereranno di conseguenza meno gas. Ovunque la Mappa Vertici contenga lo 0%, non verrà più generato alcun effetto Pyro. Affinché tutto questo funzioni correttamente, è necessario assegnare la Mappa Vertici creata nel tag Pyro in modo corretto. Ad esempio, nell'immagine qui sopra, l'opzione Temperatura e l' opzione Carburante devono essere disattivate in modo che sia generata solo la Densità (per fumo, foschia, nebbia, ecc.).
Nella sezione Densità delle impostazioni si trova anche l'opzione per assegnare la Mappa Vertici come mappa Densità trascinandola direttamente dalla Gestione Oggetti. Come potete vedere nella metà superiore dell'immagine, la generazione di fumo avviene ora solo nelle aree dell'oggetto che contengono valori superiori allo 0% nella Mappa Vertici.

Lo stesso principio vale per la generazione della Temperatura e del Carburante nel tag Emettitore Pyro. Poiché un oggetto può avere più Mappe Vertici, potete tranquillamente utilizzare Mappe Vertici singole per controllare tutte queste proprietà dell'Emettitore Pyro. Il tag Emettitore Pyro offre anche un campo per l'assegnazione di una Mappa Emissione. Qui, oltre alle Mappa Vertici, possiamo assegnare i tag Colore Vertice e i tag Selezione Poligoni, attraverso i quali controllare l'intera emissione Pyro dell'oggetto. Ricordiamo ancora una volta che se abbiamo assegnato una Mappa Vertici, Densità, Temperatura e Carburante avranno effetto solo negli oggetti con valori di Mappa Vertici superiori allo 0%.


L'utilizzo dei Campi all'interno di una Mappa Vertici apre ulteriori possibilità.

Ogni tag Mappa Vertici e Colore Vertici infatti, presenta un'opzione che consente di utilizzare anche gli oggetti Campo. Ad esempio nell'immagine qui sopra è stato utilizzato un Campo Lineare per produrre una curva di pesatura perfetta lungo la larghezza della scatola piatta. Di conseguenza, la simulazione avrà una transizione perfetta in termini di intensità del fumo simulato. L'unico prerequisito è che la densità dei punti sull'oggetto sia il più uniforme e fine possibile, per poter riprodurre tutte le variazioni della Mappa Vertici o della Forza Campo.


Nota 1:L'uso dei Campi per la creazione di tag Mappa Vertici o Colore Vertice è possibile anche con gli oggetti parametrici. Ciò significa che gli oggetti poligonali di base non devono necessariamente essere convertiti in oggetti poligonali.
Nota 2:Quando si utilizzano transizioni con pesature morbide, le opzioni Dimensione Voxel e Fedeltà Oggetto giocano di nuovo un ruolo importante. Le sfumature più sottili nella Mappa Vertici possono essere rilevate e implementate dall'Emettitore solo se si utilizzano oggetti con voxel di dimensione adeguata.


Esempio di utilizzo di un tag Colore Vertice nel colore del tag Emettitore Pyro, combinato con la Mappa Vertici descritta in precedenza per creare un andamento lineare dell'emissione di nebbia sul cubo. La sezione seguente fornisce ulteriori informazioni sui colori dei vertici.

Ad ogni modo, potete usare le Mappe Vertici e le Mappe Colore Vertice anche con le spline se desiderate variare le proprietà dell'Emettitore lungo la spline. Ricordate inoltre che nel tag Emettitore Pyro è essenziale abilitare l'opzione Superficie (su Tipo Emissione) in modo che intorno alla spline ci sia un volume (una sorta di tubo) che l'Emettitore potrà utilizzare. Per saperne di più leggete la sezione seguente.


A sinistra, possiamo vedere un primo piano della spline utilizzata come Emettitore. Il cerchio in alto indica il punto della spline che è stato pesato al 100% nella Mappa Vertici. A sinistra vediamo il risultato della simulazione che genera fumo e calore solo nella parte superiore della spline dopo che una Mappa Vertice è stata assegnata in modo appropriato nel tag Emettitore Pyro per le proprietà Densità e Temperatura.


Utilizzare i tag Colore Vertice

Analogamente alla Mappa Vertici descritta in precedenza, un oggetto può avere più tag Colore Vertice che possono essere aggiunti all'oggetto Emettitore come tag inGestione Oggetti. Questo tipo di tag si trova anche nel menu Tag in Gestione Oggetti, sotto Altri tag, e consente di assegnare valori di colore RGB e valori alfa a ciascun punto di una geometria.

I colori e i valori alfa possono essere applicati singolarmente con lo strumento Pittura che si trova nel menu Strumenti. A questo scopo, potete selezionare direttamente dallo strumento Pittura (vedi Modo Pittura) se dipingere solo i valori RGB (colori), solo i valori Alfa, o entrambi contemporaneamente. Inoltre, potete utilizzare gli oggetti Campo direttamente nel tag Colore Vertice per creare gradienti accurati o valori alfa animati in modo casuale ad esempio. Per sfumature di colore complesse o strutture dettagliate, è necessario disporre di un numero sufficiente di punti sull'oggetto, distribuiti il più uniformemente possibile. I valori di colore e alfa possono essere dipinti e salvati sull'oggetto solo se sono presenti dei punti. I colori tra i punti sono creati per semplice interpolazione. Questo è il principio che accomuna il tag Colore Vertice al tag Mappa Vertice.

Se sull'oggetto a cui è stato assegnato un tag Emettitore Pyro c'è un tag Colore Vertice, questo può essere valutato per la generazione di Densità, Temperatura o Carburante; inoltre può anche essere assegnato per definire la colorazione della densità e della trasparenza come Mappa Colore. Inoltre, l'intera emissione dell'oggetto può essere controllata assegnandolo come Mappa Emissione. L'immagine seguente offre un esempio di utilizzo di una Mappa Colore Vertice.


A sinistra potete vedere l'elenco dei Campi del tag Colore Vertice. In questo caso è stato utilizzato un Campo Lineare in modalità Gradiente Colore per mescolare uniformemente i diversi colori. Inoltre, i valori alfa sono stati impostati in modo che l'opacità dei colori diminuisca al centro del gradiente. A destra il risultato dopo l'assegnazione del tag Colore Vertice come Mappa Colore nel tag Emettitore Pyro. Sono state attivate solo le simulazioni per Densità e Colore.


Utilizzo del tag Colore Vertice come Mappa Colore nel tag Emettitore Pyro.


Nota:Quando si utilizzano i tag Colore Vertice per la Mappa Densità, la Mappa Temperatura o la Mappa Carburante, tenete presente che le luminosità dei colori vertici e i loro valori alfa vengono moltiplicati insieme e quindi valutati insieme.

I Colori Vertice possono essere utilizzati anche per i punti delle spline e hanno il vantaggio che i valori dei colori vengono interpolati automaticamente tra i punti vicini della spline. Ecco un esempio di quanto appena descritto: In questo caso, su una spline N-Lati convertita, i sei vertici sono stati colorati separatamente dalla funzione Pittura del tag Colore Vertice. Se assegnate un tag Emettitore Pyro alla spline e utilizzate la modalità Superficie, potete generare una Densità nell'area della spline. Se poi assegnate i colori vertici come Mappa Colore, verrà creato automaticamente il fumo colorato in modo appropriato. Notare che se volete eseguire il rendering di questi colori, dovete abilitare il settaggio On Export su "Colore" nella tab Oggetto dell'oggetto Output Pyro!


Utilizzo del tag Colore Vertice come Mappa Colore nel tag Emettitore Pyro.



Vincolare l'Emettitore tramite una selezione di poligoni

Come introdotto nelle due sezioni precedenti, le Mappe Vertici e i Colori Vertice possono essere usati per controllare le singole proprietà. Poiché a queste proprietà possono essere assegnate transizioni morbide o anche valori di colore, abbiamo a disposizione ulteriori possibilità di variazione per l'Emettitore. In alcuni casi, tuttavia, può essere auspicabile limitare l'emissione a una selezione di poligoni. A questo scopo potete utilizzare un tag Selezione Poligoni per le proprietà Densità, Temperatura e Carburante. Inoltre esiste anche la proprietà Mappa Emissione, che può gestire selezioni poligonali oltre alle Mappe Vertici e alle Mappe Colore Vertice, e quindi può essere utilizzata per vincolare in modo assoluto tutte le proprietà di un Emettitore Pyro. Ciò significa che non tutte le proprietà utilizzate devono essere assegnate alla stessa Mappa Vertici (ad esempio per limitare l'emissione) ma queste proprietà possono comunque essere utilizzate separatamente.


Utilizzo dell'Emettitore di Superficie

Come accennato in precedenza, gli oggetti Emettitori devono essere dei volumi chiusi affinché il tag Emettitore Pyro funzioni in modo corretto. Tuttavia, per gli oggetti molto sottili (più sottili della Dimensione Voxel definita nei settaggi della Scena Pyro nell'oggetto Output Pyro), in presenza di fori, per gli oggetti ad una faccia e anche per le spline, è possibile utilizzare l'opzione Superficie sul tag Emettitore Pyro. Ciò consente di definire una "distanza" attorno alla spline o ai poligoni al cui interno l'Emettitore creerà la simulazione del gas Questa opzione è già attiva di default, in modo che qualsiasi oggetto spline o poligonale possa essere usato direttamente come Emettitore Pyro. Quindi, se assegnate un tag Emettitore Pyro a un oggetto con un volume chiuso, come ad esempio, una sfera o un cubo, potete anche cambiare l'opzione del tag in Volume per limitare la creazione del gas all'intero interno di questo oggetto.


Qui potete vedere due esempi di utilizzo dell'opzione Superficie. A sinistra viene bruciato un semplice Piano, dal quale sono stati eliminati anche alcuni poligoni. A destra, una spline Spirale genera vapore.

Oltre agli esempi precedenti, questa opzione può essere combinata anche con oggetti chiusi, ad esempio se desiderate aumentare il volume dell'Emettitore oltre i confini dell'oggetto assegnato. Ecco un esempio:


In questo caso, un oggetto Branch (presente nell'Asset Browser) è stato definito come Emettitore assegnandogli un tag Pyro. A destra, la modalità Superficie è stata attivata al posto della modalità Volume. Le fiamme stanno tremolando anche sulla superficie del pezzo di legno.

Come mostrato nell'immagine precedente, l'espansione dell'eEmettitore con l'opzione Superficie può aiutare a rendere visibile la simulazione all'esterno di un oggetto. Nel caso specifico del ramo in fiamme, ciò significa che le fiamme sembrano lambire anche il ramo e non solo uscire dalla cima.


Utilizzo della modalità Punti

Anche le particelle e le matrici di un oggetto Matrice MoGraph possono essere utilizzate come Emettitori Pyro. In questi casi, attivate la modalità Punti del tag Emettitore Pyro. In questo caso potete usare anche il valore Spessore Superficie per definire un volume sferico intorno alle particelle o alle matrici in cui generare i componenti Pyro selezionati. In linea di principio, questa modalità può essere utilizzata anche con spline o oggetti poligonali. In tal caso, vengono considerati solo i punti di questi oggetti, convertiti però in volumi sferici. Le immagini seguenti ci mostrano un esempio.


A sinistra, le particelle sono state forzate in un percorso circolare da un oggetto a forza rotante, emettendo Densità e Temperatura. A destra, delle semplici particelle escono da un Emettitore e vengono trascinate verso il basso dalla gravità. Poiché è stato inserito un valore di 0 su "Scala Finale" per le particelle dell'Emettitore, i percorsi delle fiamme si assottigliano automaticamente nella parte inferiore dell'immagine.



Se si utilizzano le Thinking Particles, all'oggetto Geometria TP deve essere assegnato il tag Emettitore Pyro. I Nodi PSetta Dati possono essere utilizzati non solo per assegnare dimensioni o colori separati, ma anche per assegnare valori a variazioni appositamente create, che possono poi essere valutate dalla simulazione Pyro. Se si creano variabili virgola mobile denominate densità, temperatura o carburante nei Settaggi TP, potete assegnare questi valori separatamente per tutte le particelle. Ecco un video di esempio:




Nel video di esempio qui sopra, le particelle mostrate in rosso sono state emesse per prime. A queste sono stati assegnati valori di temperatura, tramite l'assegnazione di una variabile di temperatura, leggermente superiore alla temperatura di accensione del carburante che viene successivamente generato da un secondo Emettitore. Queste particelle di carburante (assegnando una variabile carburante ) vengono sparate contro le particelle riscaldate che quindi si incendiano quando si scontrano. Ecco che qui viene generata pressione, temperatura e densità. L'effetto è simile a quello dello sparo di un cannone, ad esempio.

Anche l'esempio seguente utilizza la modalità Punti, ma questa volta con un oggetto poligonale. Per garantire la presenza di alcune fiammelle in certi punti della superficie, viene creata una mappa vertici. A tutti i punti che devono appartenere all'Emettitore viene assegnato un peso del 100%. Questa Mappa Vertici viene quindi assegnata come Mappa Emissione.


Qui possiamo vedere un esempio dove viene applicata la modalità Punti a un oggetto poligonale. Sul tappo superiore di un cilindro piatto vengono memorizzati alcuni punti (in base a un loop di punti) con una pesatura del 100%, poi utilizzati come Mappa Emissione.

Infine, la modalità Punti può essere combinata con l'oggetto Matrice di MoGraph. Anche il colore delle matrici può essere trasferito alla simulazione. L'immagine seguente ne mostra un esempio.


In questo caso, le matrici sono state colorate e spostate in modo casuale. In questo modo si crea una nuvola ondeggiante di colore, come si vede a destra.