Le système de simulation
Général
Avec l'introduction d'une nouvelle technologie de simulation, Maxon jette les bases d'un nouveau système dynamique dans Cinema 4D. Il s'agit d'un système capable de calculer tous les types de comportement physique possibles, tels que la simulation de corps rigides ou souples, de vêtements et de splines ("cordes"). En outre, le système Pyro appartient également à cette catégorie, qui vous permet de simuler de la fumée, du feu et des explosions.
Actuellement, toutes les propriétés que l'on peut trouver dans le menu Propriétés de simulation fonctionnent avec le nouveau système de simulation :
-
Les corps rigides sont des objets solides indéformables qui suivent les lois de la gravité et des collisions. Ils peuvent être affectés à des objets polygonaux et à des générateurs de polygones.
-
Tissu, Corps souples, Ballon: peuvent être assignés à des objets polygonaux et à des générateurs de polygones. Corps souples et Ballon utilisent également la propriété Tissu, mais avec des préréglages différents.
-
Corde (précédemment la propriété Dynamique de spline) : peut être assigné aux splines.
-
Connecteur: Il est assigné aux objets portant une corde ou une propriété de Tissu et aux corps rigides et les attache l'un à l'autre.
-
Ceinture tissu (la propriété ceinture précédemment ) : est attribué aux objets auxquels l'propriété tissu est attribuée et relie ces objets à d'autres objets polygonaux non simulés.
-
Ceinture corde (propriété de contrainte de cheveux précédente) : est attribuée aux objets auxquels la propriété de corde est attribuée et relie ces objets à d'autres objets polygonaux non simulés.
-
Collision: est attribué aux objets polygonaux non simulés et aux générateurs de polygones qui servent d'obstacles au système de simulation, c'est-à-dire que les objets peuvent entrer en collision avec eux et ne les traversent pas.
-
Pyro: assigner des objets polygonaux ou splines pour servir d'émetteurs de fumée et de feu ou de zones de sortie pour les explosions. Les paramètres par défaut permettent de générer de la fumée et des flammes.
-
Carburant Pyro: est identique à la propriété Pyro, sauf qu'ici les préréglages ont déjà été ajustés pour créer des explosions.
Le nouveau système de simulation tissu/Spline fonctionne différemment de l'ancien système sur le plan interne. Il diffère comme suit :
-
Ancien système: L'ancien système est basé sur des impulsions et des forces qui se traduisent par des augmentations de l'accélération et de la vitesse. Les masses et les ressorts ont joué un rôle important.
-
Nouveau système de simulation: les points des objets sont reliés par des règles spécifiques (appelées contraintes) en fonction du domaine d'application. Par exemple, pour les vêtements, il existe 2 principaux types de contraintes : les contraintes de distance pour les points reliés par les bords du maillage et les contraintes de flexion pour les polygones adjacents du maillage. Les premiers essaient de maintenir constante la distance entre les points, les seconds l'angle entre les polygones. Il existe ensuite, par exemple, des contraintes de contact qui éloignent doucement les points (ou les arêtes, les triangles) qui se rapprochent trop les uns des autres afin d'éviter les pénétrations. Pour chaque image d'animation, un solveur doit réconcilier l'ensemble et positionner les points en conséquence.
Tout cela semble compliqué, mais en fin de compte, les avantages sont les suivants : le nouveau système de simulation est plus rapide (il peut aussi être calculé sur le GPU, par exemple), plus précis, plus réaliste, plus stable et plus facile à utiliser. En outre, le nouveau système permet d'effectuer les opérations suivantes :
-
La plupart des objets de Force de Simulation fonctionnent.
-
La fonction de déchirure ne nécessite pas d'objet Surface tissu.
-
L'objet auquel est attribué la propriété tissu ne doit plus être polygonal et peut même être un Générateur.
-
Pour les générateurs de clonage tels que les grilles ou les objets Cloneur, les propriétés Simuler appartiennent à ce générateur, et ces propriétés sont ensuite attribuées à chaque clone. Dans les hiérarchies ordinaires, chaque objet enfant doit être doté d'une propriété Simuler pour participer à la simulation. Ici, la hiérarchie concernant les mouvements de l'objet parent est supprimée (cela ne s'applique pas à l'héritage des émetteurs Pyro aux objets enfants).
Le nouveau système de simulation dispose également - comme c'est généralement le cas pour les systèmes de simulation - de paramètres de base pour le solveur, que vous trouverez sous "Préférences de projet/Simulation". Comme ces préréglages ont naturellement un effet sur le comportement de la simulation, vous pouvez appliquer différents préréglages à différentes simulations en utilisant plusieurs objets Scène de simulation dont les paramètres sont identiques à ceux du projet de simulation. Les objets de la scène de simulation peuvent ensuite se voir attribuer différentes propriétés, forces, bandes de tissu ou objets de collision. Les propriétés affectées à un objet de scène de simulation interagissent entre elles mais pas avec celles d'un autre objet de scène de simulation.
Conseils et astuces pour les simulations en tissu, en ballon et sur corps souples
-
Au début d'une simulation, il ne devrait y avoir aucun contact, compte tenu du réglage de Epaisseur. Sinon, au début de la simulation et dans un seul cadre d'animation, tout ce qui peut entraîner des plis ou des tremblements sera déplacé hors de la zone de contact.
-
Si les changements de mouvement ou de déformation sont trop rapides ou trop brusques, des pénétrations peuvent se produire lors de la collision. En général, il est utile d'augmenter le réglage de Sous-étapes.
-
Avec des éléments de simulation éloignés de l'origine du monde, des erreurs d'arrondi mathématiques peuvent se produire (les GPU calculent avec 32 bits - au lieu de 64 bits avec le CPU), ce qui peut se manifester par un comportement étrange de la simulation (par exemple, un comportement différent des vêtements avec les mêmes paramètres, par exemple, 2 drapeaux éloignés l'un de l'autre flottent totalement différemment). Il existe un certain nombre d'options qui permettent d'apporter un soulagement :
- Varier l'échelle de la scène (
Redimensionner la scène).
- Rapprocher les objets impliqués dans la simulation du centre du monde.
- En particulier en ce qui concerne l'objet Force : augmenter la masse des éléments simulés ou des forces agissantes. Il peut également aider à désactiver Respecter la masse dans l'objet Force. -
Par exemple, il n'est pas facile de contrôler le comportement physique des textiles. Les textiles se caractérisent principalement par leur rigidité - ou leur manque de rigidité. Même si le nouveau système de simulation dispose d'un paramètre de flexibilité, celui-ci dépend d'une série de facteurs qui influent sur la rigidité. Il s'agit par exemple des étapes intermédiaires, des itérations (à la fois des paramètres du projet de simulation), de la Flexibilité, de l'étirement (propriété de tissu ou de corde) et de la densité du maillage. Il n'est donc pas possible de faire des affirmations générales telles que: "Flexiblité = 1 et l'objet se comporte comme du cuir".
-
La densité et la distribution du maillage que nous venons de mentionner ont également une influence majeure sur le comportement d'une simulation.
Vous pouvez voir dans cette image 5 sphères avec le même diamètre, exactement les mêmes paramètres de la propriété tissu, mais des mailles différentes. Lorsqu'ils tombent et entrent en collision avec le sol, ces objets se comportent de manière complètement différente. L'avant-dernière sphère au maillage dense se déformera beaucoup plus que les autres ; la sphère de droite a un maillage beaucoup plus dense, ce qui fait que la masse s'y concentre. Cela le fera tourner vers le bas et vers la droite lorsqu'il touchera le sol.
-
Vous pouvez économiser du temps de calcul si la simulation fonctionne avec un objet de substitution (proxy) à faible résolution, tandis que, par exemple, le déformateur
Maillage garantit que la déformation est transférée à un objet "beauté" à haute résolution. Notez également l'adresse Simuler avant les générateurs dans le menu Préférences. -
Dans de rares cas, trop de collisions peuvent se produire en même temps et la simulation s'arrête avec un message d'erreur correspondant. Dans ce cas, vous devez utiliser une résolution inférieure pour les objets impliqués dans la collision (ou laisser des objets proxy de résolution inférieure entrer en collision). Vous pouvez également augmenter la valeur Passes dans les paramètres du projet - le nombre de collisions simultanées diminuera (voir également Limite vélocité).
Limitations)
-
L'avantage en termes de vitesse de calcul pour la carte graphique (GPU) n'est perceptible que si la simulation est suffisamment complexe. Pour les scènes plus petites dans lesquelles seulement quelques centaines de polygones sont utilisés, le CPU peut être plus rapide.
-
Lors du calcul à l'aide du GPU, le début de la simulation peut être légèrement retardé. Pendant ce temps, une grande quantité de données est compilée ou chargée dans la mémoire de la carte graphique. Cela n'arrive que la première fois qu'on le démarre.
-
Les simulations produiront des résultats différents sur différents ordinateurs. Vous obtiendrez également des résultats différents si vous calculez la simulation sur le CPU ou le GPU (sélectionné ici :Périphérique). Par conséquent, vous devez toujours mettre en mémoire tampon/cache les simulations si vous avez besoin de résultats identiques (par exemple, lorsque vous utilisez une ferme de rendu). Cela peut être fait pour la propriété tissu, par exemple, dans l'onglet Cache.
-
Les simulations n'aiment pas les forces ou les contraintes fortes et opposées. Il peut en résulter des forces et des mouvements paradoxaux. Une solution possible serait, par exemple, de réduire les forces en présence. Par exemple, vous pouvez augmenter l'élasticité des connecteurs. Et/ou éviter les masses très importantes (et donc les forces de poids trop importantes).
-
Lorsque vous quittez la scène, le résultat de la simulation est effacé de la mémoire. La simulation doit être calculée à nouveau. Cependant, vous pouvez faire cuire la simulation pour l'avoir toujours sous la main.
-
Notez que les simulations sont supprimées de la mémoire lors du chargement ou du passage à une autre scène. Faire recalculer la scène, si nécessaire.
- Varier l'échelle de la scène (
Redimensionner la scène). - Rapprocher les objets impliqués dans la simulation du centre du monde.
- En particulier en ce qui concerne l'objet Force : augmenter la masse des éléments simulés ou des forces agissantes. Il peut également aider à désactiver Respecter la massedans l'objet Force.
.