Apri argomento con navigazione
In questa pagina si trovano alcune spiegazioni ed esempi di come le simulazioni di Pyro possono interagire tra loro, o con altri oggetti e persino con le particelle presenti nella scena.
Saranno trattati i seguenti argomenti:
Le simulazioni di fiamme e fumo possono interagire anche con oggetti che hanno altri tag simulazione applicati. Ad esempio, il fumo di Pyro può collidere con gli oggetti che hanno un tag Collisore appartenente al gruppo tag Simulazione.
Questi 2 esempi mostrano come il fumo interagisce con un oggetto collisore.
Allo stesso modo, la simulazione del fumo o del fuoco può interagire con i Corpi Morbidi e Rigidi, come mostra l'esempio successivo. Una sfera blu (Corpo Morbido) cade sul piano. Questa simulazione è stata calcolata come cache e alla sfera è stato assegnato un tag Collisore. Quando l'animazione viene riprodotta, la sfera cadendo spinge via il fumo. Le interazioni tra la simulazione Pyro e una simulazione Corpo Morbido o Tessuto, ad esempio, possono essere controllate anche tramite il parametro Fattore Forza Fluido nei settaggi Scena Pyro dell'oggetto Output Pyro. Per garantire che la sfera / Corpo Morbido cadente dell'esempio seguente non venga influenzata dalla simulazione Pyro, il parametro Fattore Forza Fluida deve essere ridotto a 0. In questo caso, il baking della simulazione del Corpo Morbido può essere omesso.
Interazione tra un oggetto Corpo Morbido (sfera blu) e il fumo Pyro.
Un'alternativa è offerta dal tag Simulazione stesso nella tab Forze. In questa tab troviamo l'opzione Pyro che, se usata insieme alla modalità Escludi pe le Forze, darà come risultato, ad esempio, una simulazione tessuto, corpo morbido o Corpo Rigido non influenzata da Pyro. Allo stesso tempo, però, Pyro rimane influenzato dalla simulazione "tessuto", ad esempio se Pyro e il tessuto si trovano nella stessa Scena di Simulazione. L'immagine seguente ne mostra un esempio.
Interazione tra un piano che simula un vestito sospeso a quattro vertici statici sopra una sfera usata come un Emettitore Pyro. A sinistra, l'opzione Pyro è stata attivata nel tag Simulazione dei piani, con la modalità Forze impostata su Escludi. Il piano resta appeso senza subire alcuna influenza dal fumo che sale. A destra possiamo vedere il risultato dopo aver disabilitato l'opzione Pyro del tag Simulazione. Il piano viene spostato dal fumo e dall'aumento della temperatura. L'intensità di questa interazione può essere controllata dal Fattore Forza Fluida nei settaggi della simulazione Pyro. In entrambi i casi, il fumo viene automaticamente limitato nella sua diffusione dal piano in tessuto.
Per impostazione predefinita, tutte le simulazioni Pyro presenti nella scena interagiscono tra loro. Pertanto, se due oggetti che emettono fumo sono vicini, il loro fumo potrà mescolarsi e modificare la dinamica della simulazione. Questo può anche portare alla miscelazione di diversi valori di colore del fumo, che può essere controllata tramite l'opzione Sovrascrivi nei settaggi Colore dei tag Emettitore Pyro. Se la funzione Sovrascrivi è abilitata per tutti i tag Emettitore Pyro (impostazione predefinita), viene valutato l'ordine degli oggetti in Gestione Oggetti. L'immagine seguente ne mostra un esempio.
Risultati diversi con colori di densità diversi. Al centro, l'opzione Sovrascrivi è attiva, a destra è disattivata.
L'immagine qui sopra mostra il punto di partenza della scena (a sinistra). Tre cubi separati, ciascuno di 20 cm di lato, sono stati posizionati uno accanto all'altro in modo che i cubi vicini si sovrapponessero l'uno all'altro per 10 cm. Tutti e tre i cubi hanno dei tag Emettitore Pyro, con solo Densità e Colore attivi su ciascuno di essi. Il cubo di sinistra utilizza il rosso, quello centrale il verde e quello di destra il blu come Colore per la densità. Il cubo rosso che emette fumo è il primo oggetto con il tag Emettitore Pyro in Gestione Oggetti. Il secondo oggetto Pyro è il cubo con il fumo verde. L'ultimo oggetto in Gestione Oggetti è il cubo che emette fumo blu.
Per impostazione predefinita, l'opzione Sovrascrivi è attiva su tutti i tag Emettitore Pyro e porta al risultato mostrato al centro dell'immagine. Non c'è una significativa mescolanza di colori. Piuttosto, a causa dell'ordine degli oggetti in Gestione Oggetti, il fumo blu oscura il fumo verde mentre il fumo verde oscura il fumo rosso. Quanto più in basso si trova un oggetto con tag Emettitore Pyro rispetto ad altri Emettitori Pyro nella Gestione Oggetti, tanto più le simulazioni Pyro sopra di esso saranno oscurate dal colore.
I colori risultanti sono calcolati in modo diverso quando l'opzione Sovrascrivi è disattivata. In questo caso, l'ordine degli oggetti con tag Emettitore Pyro non ha più molta importanza e tutti i colori della densità si mescolano tra loro, come possiamo vedere a destra nell'immagine qui sopra. Mescolando i colori del fumo, appaiono ora i toni del giallo e dell'arancione, oltre a quelli del viola e del turchese.
Tuttavia, se desiderate gestire le simulazioni in modo indipendente, ad esempio per evitare la miscelazione dei colori degli emettitori Pyro vicini o per utilizzare impostazioni di simulazione diverse per gli emettitori Pyro, potete utilizzare oggetti Scena di Simulazione diversi. Qui potete trovarne un esempio. È inoltre possibile leggere qui le relazioni tra il tag Emettitore Pyro, l'oggetto Output Pyro e gli oggetti Scena di Simulazione.
Con l'introduzione della release 2024.4, Cinema 4D contiene un sistema particellare completamente nuovo che calcola utilizzando anche la GPU e che può interagire pienamente con gli altri sistemi di simulazione. Questo include anche le simulazioni Pyro. In questo modo è molto facile simulare, ad esempio, le scintille che salgono verso l'alto in una fiamma o la polvere che sollevata dalla densità di Pyro e soffiata su un piano, come nel video seguente.
Per fare questo dobbiamo disporre di una simulazione Pyro da configurare con le temperature e la densità desiderate. Le particelle possono poi reagire ai movimenti di densità, o solo ai movimenti di temperatura o a entrambi contemporaneamente. Una volta soddisfatti della simulazione, possiamo calcolarla come cache tramite l'oggetto Output Pyro. E' necessario assicurarsi che i canali dei dati richiesti nella sezione Oggetto dell'oggetto, siano attivati anche per il calcolo della cache. Di norma, sono sufficienti Densità, Temperatura e Velocità. Il calcolo effettivo dei file cache viene quindi attivato cliccando il pulsante Cache nella tab Cache dell'oggetto Output Pyro.
Nella fase successiva, dobbiamo selezionare un Emettitore adatto in Simulazione/Emettitore e configurare il numero di particelle, il raggio delle particelle e la loro durata di vita come richiesto. Insieme al nuovo Emettitore verrà creato automaticamente un Gruppo Particelle. Ora è possibile raggruppare un Modificatore Avvezione Pyro sotto questo Gruppo Particelle, che si trova anche nel menu Simulazione. Ciò significa che le particelle di questo gruppo reagiranno automaticamente a tutte le simulazioni Pyro nelle loro vicinanze. Le particelle devono quindi attraversare almeno parzialmente lo spazio di simulazione della simulazione Pyro per essere influenzate. Il Modificatore Avvezione Pyro consente di definire a quale proprietà Pyro le particelle devono reagire e con quale intensità.
Se non avete ancora lavorato con le nuove particelle, qui troverete una panoramica completa e alcuni esempi di utilizzo.
Anche le vecchie particelle possono reagire alle simulazioni di Pyro. Per fare questo, iniziate configurando la simulazione Pyro e completate salvando la simulazione nella cache. Le impostazioni corrispondenti si trovano nell'oggetto Output Pyro.
A tale scopo, create la simulazione come di consueto con un oggetto Emettitore(tag Emettitore Pyro) e l'oggetto Output Pyro. Se siete soddisfatti della simulazione, attivate i soliti canali per la Densità, la Temperatura e la Velocità sull'oggetto Output Pyro. A tal fine, impostate la modalità di ciascuna di queste proprietà nella tab Oggetto dell'oggetto Output Pyro su Per Esportazione. Infine, premete il pulsante Cache nella tab Cache per salvare i file cache in una nuova cartella con il nome desiderato. Considerato che i file cache possono essere piuttosto pesanti, si consiglia di attivare solo i canali realmente necessari. Inoltre, salvate nella cache solo i fotogrammi dell'animazione che serviranno in seguito, ad esempio per il rendering. È possibile definire questo valore utilizzando i valori Tempo: Min e Tempo: Max nella tab Progetto dei Parametri Scena.
I canali con le informazioni di Densità e Temperatura possono essere utilizzati in seguito per il rendering, perché il materiale RS Volume li utilizza. Tuttavia le informazioni sulla velocità sono particolarmente utili per il controllo del movimento degli oggetti, perché consistono in vettori che registrano la velocità e la direzione del flusso dei gas simulati.
In linea di principio, dopo aver calcolato la cache, potete chiudere la Scena di Simulazione e richiamare un oggetto Importatore Volume dal menu Volume in una nuova scena. Nel campo Nome File, definite il primo file .vdb della sequenza cache precedentemente salvata. Nell'area Info dell'Importatore Volume vengono ora visualizzati i nomi dei canali di simulazione contenuti nei file. Disattivate le opzioni Densità e Temperatura perché siamo interessati solo alla Velocità. I settaggi nella parte inferiore della finestra di dialogo possono essere utilizzati per scalare i vettori di velocità (settaggio Fattore) o per regolare la velocità di riproduzione (settaggio Velocità). È inoltre possibile specificare il numero del fotogramma da cui avviare la simulazione in questa nuova scena (settaggioOffset).
Nella fase successiva abbiamo bisogno di un Costruttore Volume, che andrà impostato sul Tipo Volume Vettore e poi collegato all'Importatore Volume nel suo elenco di Oggetti. Regolate il settaggio Dimensione Voxel in base alla dimensione della simulazione Pyro. Quindi, se l'Emettitore nella Scena di Simulazione originale era una sfera con raggio di 10 cm, provate a scegliere una Dimensione Voxel compresa tra 2 cm e 0,5 cm. Il Costruttore Volume genererà ora un campo di vettori con una fitta mesh, la cui lunghezza e direzione viene controllata dalla velocità della simulazione. L'immagine seguente riassume ancora una volta questi passaggi.
Un Importatore Volume importa i dati della simulazione (a sinistra), che vengono poi elaborati da un Costruttore Volume (a destra).
Ora è il momento di richiamare un oggetto Forza Campo e di collegarvi il Costruttore Volume. I vettori di lettura del Costruttore Volume acquistano così un significato, ossia quello di vettori di velocità, e possono quindi agire sulle particelle. Per il Tipo di Velocità, selezionate Imposta Velocità Assoluta con un'intensità pari a 100. In questo modo, le velocità simulate possono essere trasferite con precisione alle particelle. Ora tutto ciò di cui abbiamo bisogno sono le particelle.
A tale scopo, è possibile ad esempio richiamare l'Emettitore dal menu Simulazione e spostarlo approssimativamente sul punto di origine della simulazione. Regolate anche la rotazione e le dimensioni dell'Emettitore in modo che sia il più possibile centrato sulla posizione dell'Emettitore Pyro originale. Assicuratevi di avere un numero sufficientemente elevato di particelle generate e di limitare la loro durata in modo ragionevole, in base alla lunghezza della sequenza di simulazione. Inoltre, lasciate la Velocità delle particelle a 0 cm. Le velocità dovrebbero provenire interamente dall'oggetto Forza Campo . L'immagine seguente mostra anche questo passaggio in sintesi.
Un oggetto Forza Campo interpreta i vettori del Costruttore Volume come velocità (a sinistra), che possono essere trasferite alle particelle di un Emettitore standard (a destra).
Se ora eseguite la timeline, potete notare come le particelle vengano prima create nell'area dell'Emettitore e poi trasportate nell'area della simulazione precedente. L'immagine seguente mostra le varie fasi.
La sequenza di immagini mostra un esempio di come semplici particelle vengono messe in movimento dai vettori di velocità della simulazione caricata.
Il collegamento con la geometria può ora essere effettuato direttamente subordinando una piccola sfera sotto l'oggetto Emettitore. A questo scopo, le opzioni Mostra Oggetti e Istanza di Rendering devono essere attive, per poter vedere gli oggetti e allo stesso tempo risparmiare quanta più memoria possibile.
Tuttavia, la flessibilità è persino maggiore se invece andiamo a creare un oggetto Clona di MoGraph attivando qui il Modo Oggetto. L'Emettitore può quindi essere assegnato come Oggetto dell'oggetto Clona. In questo modo possiamo sfruttare le Istanze Multiple nel modo Istanza, un sistema ancora più veloce che risparmia ancor più memoria rispetto a Istanze di Rendering.
Utilizzando un oggetto Clona, la geometria può essere assegnata alle particelle in modo ancora più "economico". In questo caso, una piccola sfera è stata resa oggetto figlio dell'oggetto Clona.
Se usate il sistema Thinking Particles otterrete un maggior controllo sull'allineamento e sul ridimensionamento delle particelle. In questo caso, ad esempio, avremo anche il vantaggio di poter utilizzare il volume di un oggetto come Emettitore, in modo simile all'oggetto Emettitore di un tag Emettitore Pyro. Inoltre, è possibile riutilizzare gran parte dell'impostazione della scena già descritta in precedenza per le particelle standard. La differenza principale sta nella creazione delle particelle, che deve essere effettuata attraverso un piccolo setup di XPresso. Per fare questo, creiamo prima un oggetto che farà da Emettitore. Nel nostro caso, utilizziamo una primitiva Sfera ridimensionata in modo adeguato a questo scopo e le assegniamo un tag XPresso, che si trova nel menu Tag in Gestione Oggetti nel gruppo Tag Programmazione.
All'interno della configurazione andiamo ad utilizzare un Nodo PNascita per generare il numero di particelle desiderato. Nel circuito mostrato anche nell'immagine seguente, viene utilizzata la modalità Tasso (al fotogramma), che genera esattamente il numero di particelle definito per ogni fotogramma di animazione. Utilizzando Confronta e confrontando questo dato con il numero di fotogrammi corrente (per ogni Nodo Tempo), possiamo controllare l'esatto arco di tempo e anche il numero totale di particelle. Qui, ad esempio, vengono create solo le particelle del fotogramma 1 dell'animazione. Il risultato del Nodo Confronta è un valore booleano collegato all'inputOn del Nodo PNascita.
Il loro output viene indirizzato a un Nodo PPosizione Volume, che è collegato al nostro Emettitore (la sfera). Selezionando Tipo Interno insieme a un valore Profondità appropriato, il Nodo calcolerà le singole posizioni di tutte le particelle immesse all'interno della sfera. Queste posizioni devono poi essere trasferite alle particelle generate. Questo è il compito del Nodo PDefinisciDati, che viene alimentato da un lato con le particelle risultanti dal Nodo PNascita e dall'altro con le posizioni del Nodo PPosizione Volume. In questo modo, la generazione delle particelle, al momento desiderato, all'interno della sfera, è già completata. Ora non resta che assegnare in modo continuo le velocità dell'oggetto Forza Campo alle particelle.
A tale scopo, create un Nodo P Pass e collegatelo a un Nodo POggetto Forza a cui è assegnato il nostro oggetto Forza Campo. La configurazione completa è visibile nell'immagine seguente.
Esempio di setup XPresso per creare Thinking Particles nel volume di un oggetto e poi applicarvi l'effetto di un oggetto Forza Campo.
Anche in questo caso, è possibile utilizzare un oggetto Clona di MoGraph per popolare le particelle con gli oggetti. A tal fine, usate nuovamente il modo Oggetto sull'oggetto Clona. Questa volta, però, il gruppo in cui sono presenti le particelle deve essere assegnato come oggetto. Poiché non abbiamo creato un'assegnazione di gruppo nella configurazione, tutte le particelle finiscono automaticamente nel gruppo Tutti. Questo si trova nei settaggi Thinking Particles che si trovano nel menu Simulazione alla voce Thinking Particles. Una volta trascinato il gruppo Tutti nel campo Oggetto dell'oggetto Clona, la connessione viene stabilita e possiamo raggruppare gli oggetti sotto all'oggetto Clona come di consueto per utilizzarli come geometria delle particelle.
Assegnazione del gruppo Tutti dai settaggi di Thinking Particles a un oggetto Clona.
A sinistra vediamo il rendering nell'editor delle Thinking Particles clonate, a destra vediamo il rendering insieme alla simulazione.
L'oggetto Output Pyro e anche il tag Emettitore Pyro contengono già diversi parametri con cui simulare un movimento tipo vento e varie turbolenze dell'aria. Poiché molte di queste proprietà possono essere animate anche tramite keyframe o configurazioni, abbiamo già un ampio arsenale di strumenti per influenzare la simulazione. Tuttavia, quando si tratta di modifiche localizzate nella simulazione, possono essere utili gli oggetti Forza che si trovano nel menu Simulazione alla voce Forze.
Simulazioni deformate dagli oggetti Forza.
I seguenti oggetti forza possono essere utilizzati nel processo:
Inoltre, le aree in cui queste "forze" devono andare ad agire possono essere limitate dagli oggetti Campo in modo tale, ad esempio, che il vento influisca solo sull'estremità superiore di uno sbuffo di fumo in salita. Informazioni dettagliate su questi oggetti Forza sono disponibili qui.
Gli oggetti Forza non solo possono influenzare l'andamento di una colonna di fumo ascendente, ma anche, ad esempio, la velocità e la direzione con cui la simulazione Pyro viene creata presso l'oggetto emittente. Qui di seguito ne troverete un esempio. Un oggetto Platonico è stato definito come "Emettitore Pyro". Inoltre, questa forma viene utilizzata in un Costruttore Volume che utilizza il Tipo Volume Vettore. Questo crea un campo Vettore perpendicolare alla superficie dell'oggetto Platonico. Questi vettori possono essere convertiti in una forza con un oggetto Forza Campo che può agire sulla simulazione Pyro. A tal fine, è sufficiente collegare il Costruttore Volume all'oggetto Forza Campo. Anche in questo caso è possibile configurare la forza e l'effetto desiderato per le simulazioni presenti nella scena. Il possibile effetto è visibile nella figura seguente.
La sequenza di immagini mostra le fasi di una velocità controllata da un oggetto forza. In questo esempio, l'emissione della Densità segue quindi le normali della superficie di un oggetto Platonico (vedi l'inserto a sinistra).
Poiché la densità e la temperatura possono essere impostate anche negativamente (tramite i parametri Aggiungi Densità e Aggiungi Temperatura del tag Emettitore Pyro), sono possibili interessanti interazioni tra più Emettitore Pyro all'interno della stessa scena Pyro. Ad esempio, un oggetto può emettere una densità e una temperatura negative, dissipando e attenuando così l'aumento di calore e densità di un altro Emettitore. L'immagine seguente mostra un esempio. In questo caso, la sfera superiore genera proprietà negative, che vengono applicate sulla sfera inferiore per mezzo di una velocità diretta verso il basso. La sfera inferiore genera una densità e una temperatura normali, che vengono così ammortizzate e raffreddate quando i due flussi di gas si incontrano.