Il Sistema di Simulazione
Generale
Con l'introduzione di una nuova tecnologia di simulazione, Maxon getta le basi per un nuovo sistema di dinamiche in Cinema 4D. Si tratta di un sistema in grado di calcolare tutti i possibili tipi di comportamento fisico, come la simulazione di Corpi Rigidi o Morbidi, tessuti e spline ("corda"). Inoltre a questa categoria appartiene anche il sistema Pyro, che permette di simulare fumo, fuoco ed esplosioni
Attualmente, tutti i tag che si trovano nel menu del Tag Simulazione funzionano con il nuovo sistema di simulazione:
-
I Corpi Rigidi sono oggetti solidi indeformabili che seguono le leggi della gravità e della collisione. Possono essere assegnati a oggetti poligonali e a generatori di poligoni.
-
Tag Tessuto, Corpo Morbido, Palloncino: possono essere assegnati a oggetti poligonali e a generatori di poligoni. Anche Corpo Morbido e Palloncino utilizzano il tag Tessuto, ma con settaggi diversi.
-
Tag Corda (ex tag Spline Dynamics): può essere assegnato alle spline.
-
Tag Connettore: viene assegnato ad oggetti e a Corpi Rigidi che hanno tag Corda o Tessuto assegnati, e li collega tra loro.
-
Tag Cintura Tessuto (ex tag Cintura): viene assegnato agli oggetti a cui è stato assegnato il tag Tessuto e collega questi oggetti ad altri oggetti poligonali non simulati.
-
Tag Cintura Corda (ex tag Limita Hair): viene assegnato agli oggetti a cui è stato assegnato il tag Corda e collega questi oggetti con altri oggetti poligonali non simulati.
-
Tag Collisore: viene assegnato agli oggetti poligonali non simulati e ai generatori di poligoni che avranno la funzione di "ostacolo" nel sistema di simulazione, cioè gli oggetti potranno collidere con essi senza intersecarli.
-
Pyro: permette di assegnare oggetti poligonali o spline da utilizzare come Emettitori di fuoco e fumo o come aree di emissione per le esplosioni. I preset di questi parametri consentono di generare fumo e fiamme.
-
Carburante Pyro: è identico al tag Pyro solo che qui il presettaggio è già stato predisposto per creare un'esplosione.
Il nuovo sistema di simulazione Tessuto/Spline funziona internamente in modo diverso dal vecchio sistema. Si differenzia come segue:
-
Vecchio Sistema: il vecchio sistema si basa su impulsi e forze che determinano un aumento dell'accelerazione e della velocità. Le masse e le molle svolgevano un ruolo importante.
-
Nuovo Sistema di Simulazione: I punti degli oggetti sono connessi in base a regole specifiche (chiamate vincoli) a seconda dell'area di applicazione. Per gli indumenti, ad esempio, esistono due tipi principali di vincoli: i vincoli di distanza per i punti collegati tra i bordi della mesh e i vincoli di flessibilità per i poligoni adiacenti della mesh adiacenti. Il primo tenta di mantenere costante la distanza tra i punti, il secondo cerca di mantenere l'angolo tra i poligoni. Esistono poi i vincoli di contatto, che allontanano delicatamente i punti (o i bordi o i triangoli) troppo vicini tra loro per evitare intersezioni. Per ogni fotogramma dell'animazione, un Risolutore dovrà combinare il tutto e posizionare i punti di conseguenza.
Tutto questo potrà apparirvi complicato ma alla fine si traduce nei seguenti vantaggi: il nuovo sistema di simulazione è più veloce (es. può essere calcolato anche sulla GPU), è più preciso, più realistico, più stabile e più facile da usare! Inoltre, con il nuovo sistema è possibile effettuare anche le seguenti operazioni:
-
La maggior parte degli oggetti Forza di Simulazione funziona.
-
La funzione Strappo non richiede un oggetto Superficie Cloth.
-
L'oggetto a cui viene assegnato il tag Tessuto non deve più essere poligonale e può anche essere un Generatore.
-
Per Generatori quali gli Array o l'oggetto Clona, i tag Simulazione appartengono a questo generatore; a ogni clone vengono quindi assegnate queste proprietà. Nelle gerarchie ordinarie, ogni oggetto Figlio deve essere dotato di un tag Simulazione per essere incluso nella simulazione; in questo caso, quindi, la gerarchia relativa ai movimenti dell'oggetto genitore viene soppressa (non si applica all'eredità degli Emettitori Pyro sugli oggetti Figli).
Il nuovo Sistema di Simulazione ha anche dei settaggi di base per il Risolutore - come in genere è nei sistemi di simulazione - che si trovano nella tab Simulazione dei Parametri Progetto. Poiché questi settaggi hanno ovviamente effetto sul comportamento della simulazione, è possibile applicare preset diversi a simulazioni diverse utilizzando più oggetti Scena di Simulazione con gli stessi parametri dei settaggi del progetto di simulazione. Agli oggetti della Scena di Simulazione possono essere assegnati diversi tag, forze, cintura tessuto o oggetti di collisione. I tag assegnati a un oggetto Scena di Simulazione interagiscono tra loro ma NON con quelli di un altro oggetto Scena di Simulazione.
Suggerimenti e trucchi per le simulazioni Tessuto, Palloncino e Corpo Morbido
-
All'inizio di una simulazione non dovrebbero esserci contatti, tenendo conto del settaggio Spessore. In caso contrario, all'inizio della simulazione e in un singolo fotogramma di animazione, tutto ciò che può causare deformazioni o tremolii verrà spostato fuori dall'area di contatto.
-
Se i cambiamenti di movimento o di deformazione sono troppo rapidi o bruschi, possono verificarsi intersezioni durante la collisione. In linea di massima è utile aumentare il settaggio Passi Intermedi.
-
Con elementi di simulazione molto distanti dall'origine assoluta, possono verificarsi errori di arrotondamento matematico (le GPU calcolano a 32 bit, anziché a 64 bit con la CPU), che possono manifestarsi in strani comportamenti di simulazione (es. comportamenti diversi del tessuto con gli stessi settaggi, ad esempio 2 bandiere molto distanti tra loro svolazzano in modo completamente diverso). Esiste una serie di opzioni che possono essere d'aiuto:
- Variare la scala della scena (Scala Scena).
- Avvicinare gli oggetti coinvolti nella simulazione all'origine assoluta.
- Soprattutto in relazione all'oggetto Forza: aumentare la massa degli elementi simulati o delle forze. Può essere d'aiuto anche disabilitare Rispetta Massa nell'oggetto Forza. -
Ad esempio, non è facile controllare il comportamento fisico dei tessuti. I tessuti si caratterizzano principalmente per la loro rigidità, o per la loro mancanza di rigidità. Anche se il nuovo Sistema di Simulazione ha un settaggio Flessibilità, questa dipende da una serie di altri fattori che influenzano la sua rigidità. Si tratta di fattori come i Passi Intermedi, le Iterazioni (entrambi settaggi del progetto di simulazione), duttilità, elasticità (tag Tessuto o Corda) e anche della densità della mesh. Pertanto, non possiamo assegnare impostazioni generiche come "Curvatura = 1" ... sperando che l'oggetto si comporti come il cuoio.
-
Anche la densità e la distribuzione delle mesh appena menzionate hanno un'influenza importante sul comportamento di una simulazione.
In questa immagine potete vedere 5 sfere con lo stesso diametro, esattamente con le stesse impostazioni del tag Tessuto ma con mesh diverse. Quando cadono e si scontrano con il piano, questi oggetti si comportano in modo completamente diverso. La penultima sfera con la mesh fitta si Deformatoreà molto più delle altre; la sfera sul lato destro ha una densità di mesh molto più alta, che farà sì che la massa si concentri lì. In questo modo ruoterà verso il basso e verso destra quando toccherà il piano.
-
Potete risparmiare tempi di calcolo se la simulazione viene eseguita con un oggetto proxy a bassa risoluzione, mentre, ad esempio, il Deformatore
Mesh assicura che la deformazione venga trasferita a un oggetto "finale" ad alta risoluzione. Notare anche il settaggio Simulare Prima dei Generatori nel menu Preferenze.
-
In rari casi in cui si verificano troppe collisioni contemporaneamente, la simulazione si interrompe con un messaggio di errore. In questi casi, è necessario utilizzare una risoluzione inferiore per gli oggetti coinvolti nella collisione (o far scontrare degli oggetti proxy a risoluzione inferiore). In alternativa, potete aumentare il valore dei Passi nei Parametri Progetto: il numero di collisioni simultanee diminuirà (vedi anche Limite Velocità).
Limitazioni)
-
Il vantaggio in termini di velocità di calcolo per la scheda grafica (GPU) si nota solo se la simulazione è abbastanza complessa. Per le scene più piccole, dove vengono utilizzate solo poche centinaia di poligoni, la CPU può essere più veloce.
-
Quando si calcola utilizzando la GPU, l'avvio della simulazione potrebbe essere leggermente ritardato. In questo lasso di tempo, una grossa quantità di dati viene compilata o caricata nella memoria della scheda grafica. Questo accade solo al primo avvio.
-
Le simulazioni produrranno risultati diversi su computer diversi. Si otterranno inoltre risultati diversi se la simulazione viene calcolata sulla CPU o sulla GPU (che è selezionata qui:Dispositivo). Per questo motivo è necessario fissare sempre e memorizzare nella cache le simulazioni se si vogliono ottenere risultati identici (es. se utilizzate una renderfarm). Per il tag Tessuto, ad esempio, potete farlo nella tab Cache.
-
Le simulazioni non amano forze o vincoli intensi e opposti. Possono verificarsi forze e movimenti paradossali. Una possibile soluzione potrebbe essere la riduzione delle forze in azione. Ad esempio, potete aumentare la rigidità dei connettori. Potete anche evitare masse molto grandi (e quindi forze relative al peso troppo elevate).
-
Quando uscite dalla scena, il risultato della simulazione viene cancellato dalla memoria. La simulazione dovrà essere calcolata nuovamente. Tuttavia, è possibile "fissare" la simulazione (eseguire il baking) per averla sempre a portata di mano.
-
Notare anche che le simulazioni vengono cancellate dalla memoria quando caricate o passate a un'altra scena. Se necessario, ricalcolate la scena.
- Variare il ridimensionamento della scena (
Scala Scena).
- Avvicinare gli oggetti coinvolti nella simulazione all'origine assoluta.
- Soprattutto in relazione all'oggetto Forza: aumentare la massa degli elementi simulati o delle forze agenti. Può essere d'aiuto anche disabilitare Rispetta Massa nell'oggetto Forza.
.