Collisions

Dans la plupart des cas, une pièce de tissu ne peut pas simplement pendre comme cela dans l’espace 3D, elle entre en collision avec d’autres objets dans l’environnement. Pour vous assurer d’une simulation correcte, Il y a plusieurs éléments qui doivent être installés et fonctionner ensemble :

  • L’objet Cloth doit être informé à participer aux collisions.
  • Facultativement (mais recommandé) indiquez au tissu d’entrer en collision avec lui-même.
  • D’autres objets doivent être visibles pour l’objet Cloth via les calques partagés.
  • Les autres objets doivent être des objets mesh.
  • Les autres objets peuvent se déplacer ou être déformés eux-mêmes par d’autres objets (comme une armature ou une clé de forme).
  • Les autres objets mesh doivent être informés de dévier l’objet Cloth.
  • Le fichier blend doit être enregistré dans un dossier de sorte que les résultats de simulation puissent être sauvegardés.
  • Vous précalculez (Nake) alors la simulation. Le simulateur calcule la forme du tissu pour un intervalle de trames.
  • Vous pouvez alors éditer les résultats de simulation, ou faire des ajustements au maillage du tissu, dans des trames spécifiques.
  • Vous pouvez faire des ajustements de l’environnement ou des objets de déformation, et ensuite relancer la simulation de tissu depuis la trame courante.

Réglages de collision.

Référence

Panneau:Physics ‣ Cloth Collision
../../../_images/physics_cloth_settings_collisions_panel.png

Panneau Cloth Collisions.

Maintenant vous pouvez indiquer à l’objet Cloth que vous voulez qu’il participe aux collisions. Pour l’objet Cloth, trouvez le panneau Cloth Collision, montré sur la droite :

Quality
Un réglage général du niveau de finesse et de qualité de simulation que vous souhaitez. Des nombres plus élevés prennent plus de temps mais assurent moins de déchirures et de pénétrations à travers le tissu.
Distance
Si un autre objet se rapproche de très près de lui (en Unités Blender), la simulation va commencer à pousser le tissu hors du chemin.
Repel
Force de répulsion à appliquer quand le tissu est sur le point d’entrer en collision.
Repel Distance
Distance maximale à appliquer à la force de répulsion. Doit être supérieure à la distance minimale.
Friction
un coefficient pour le caractère glissant du tissu lorsqu’il entre en collision avec l’objet mesh. Par exemple, la soie a un coefficient de friction inférieur à celui du coton.

Self-collisions

Un tissu réel ne peut pas s’infiltrer en lui-même, aussi vous souhaitez normalement que le tissu entre en collision avec lui-même.

Enable Self Collisions
Cliquez ceci pour indiquer à l’objet Cloth qu’il ne devrait pas se pénétrer. Ceci augmente le temps de calcul, mais offre des résultats plus réalistes. Un drapeau vu à distance ne nécessite pas l’activation de cette option, mais celui-ci devrait être activé pour un gros plan sur la cape ou la blouse d’un personnage.
Quality
Pour une plus haute qualité d’auto-collision, augmentez simplement la Quality et plus de calques d’auto-collision peuvent être résolus. Gardez simplement à l’esprit que vous devez avoir au moins la même valeur pour Collision Quality et pour Quality.
Distance
Si vous rencontrez des problèmes, vous pourriez aussi modifier la valeur de Min Distance pour les auto-collisions. La meilleure valeur est 0.75 ; pour des choses rapides, vous ferez mieux de prendre 1.0. La valeur 0.5 est assez risquée (très probablement beaucoup de pénétrations) mais offre quelque accélération.

Regression blend-file: Cloth selfcollisions.

Calques partagée

Suppose you have two objects: a pair of pants on layers 2 and 3, and your character mesh on layers 1 and 2. You have enabled the pants as cloth as described above. You must now make the character « visible » to the Cloth object, so that as your character bends its leg, it will push the cloth. This principle is the same for all simulations; simulations only interact with objects on a shared layer. In this example, both objects share layer 2.

Pour visualiser/modifier les calques d’un objet, RMB cliquez pour sélectionner l’objet en Mode Objet dans la Vue 3D. M pour faire apparaître le pop-up « Move Layers » , qui vous montre tous les calques de cet objet. Pour mettre l’objet sur un seul calque, LMB cliquez le bouton de calque. Pour mettre l’objet sur de multiples calques, Maj-LMB cliquez les boutons de calque. Pour supprimer un objet d’un calque sélectionné, Maj-LMB cliquez le bouton de calque une nouvelle fois pour le basculer.

Mesh Objects Collide

Si votre objet de collision n’est pas un objet mesh, tel qu’une surface NURBS, ou un objet text, vous devez le convertir en un objet mesh. Pour ce faire, sélectionnez l’objet en Mode Objet, et dans l’entête de la Vue 3D, sélectionnez Object ‣ Convert Object Type Alt-C, et sélectionnez Mesh dans le menu pop-up.

Cloth - Object Collisions

../../../_images/physics_collision_panel.png

Réglages de collision.

The cloth object needs to be deflected by some other object. To deflect a cloth, the object must be enabled as an object that collides with the cloth object. To enable Cloth – Object collisions, you have to enable deflections on the collision object (not on the cloth object).

Dans l’éditeur Properties, l’onglet Object et l’onglet Physics, repérez le panneau Collision à droite. C’est aussi important de noter que ce panneau collision est utilisé pour informer toutes les simulations que cet objet doit participer dans la collision/déviation d’autres objets dans un calque partagé (particules, soft bodies, et cloth).

Avertissement

Il y a trois panneaux Collision différents, tous se trouvant dans l’onglet Physics. Le premier (par défaut), un onglet à côté du panneau Fields, est celui nécessaire ici. Le second panneau, un onglet dans le groupe Soft Body, concerne les corps souples (et de ce fait n’a rien à faire avec les tissus). Et nous avons déjà vu le dernier, par défaut un onglet à côté du panneau Cloth.

Mesh Object Modifier Stack

../../../_images/physics_cloth_settings_collisions_stack.png

Collision stack.

La forme de l’objet déforme le tissu, aussi la simulation de tissu doit connaître la « vraie » forme de cet objet mesh dans cette trame. Cette vraie forme est la forme de base modifiée par les clés de forme ou les armatures. Ainsi, le Modificateur Collision doit être après tout autre. L’image à droite montre le panneau Modifiers pour l’objet mesh Personnage (pas l’objet Cloth).

Cloth Cache

Référence

Panneau:Physics ‣ Cloth Cache

Les réglages de cache sont les mêmes qu’avec les autres systèmes dynamiques. Voir Cache de particules pour les détails.

Bake Collision

../../../_images/physics_cloth_settings_collisions_bake.png

Après le précalcul.

Après avoir défini le maillage de déflexion pour l’intervalle de trames sur lequel vous avez l’intention de lancer la simulation (y compris l’animation de ce maillage via des armatures), vous pouvez maintenant demander à la simulation de tissu de calculer (et d’éviter) les collisions. Sélectionnez l’objet tissu et dans l’onglet Object, onglet Physics, définissez les réglages de Start et de End pour les trames de simulation que vous souhaitez calculer, et cliquez sur le bouton Bake.

Vous ne pouvez pas modifier Start ou End sans effacer la simulation précalculée. Quand la simulation est terminée, vous noterez que vous l’option de libérer le précalcul, éditer le précalcul et précalculez de nouveau :

Il y a que vous probablement noter , D’abord, il va précalculer plus lentement qu’avant, et il comme dans l’image à droite.

Édition de la simulation en cache.

Le cache contient la forme du maillage dans chaque trame. Vous pouvez éditer la simulation en cache, après avoir précalculé la simulation et pressé le bouton Bake Editing. Allez simplement à la trame que vous voulez corriger et Tab pour entrer en Mode Édition. Là vous pouvez déplacer vos sommets en utilisant tous les outils de modelage de maillage dans Blender. Lorsque vous sortez, la forme du maillage sera enregistrée pour cette trame de l’animation. Si vous voulez que Blender reprenne la simulation en utilisant la nouvelle forme, LMB cliquez Rebake from next Frame et lisez l’animation. Blender va alors reprendre cette forme pour la suite de l’animation.

Éditez le maillage pour corriger les déchirures mineures et les endroits où l’objet de collision a perforé le tissu.

Si vous ajoutez, supprimez ou extrudez des sommets dans le maillage, Blender prendra le nouveau maillage comme forme de départ du maillage en remontant jusqu’à la première trame de l’animation, remplaçant la forme d’origine avec laquelle vous avez commencé, jusqu’à la trame sur laquelle vous êtes au moment de l’édition du maillage. Par conséquent, si vous modifiez le contenu du maillage, quand vous pressez Tab en dehors du Mode Édition, vous devriez déprotéger et effacer le cache afin que Blender fasse une simulation cohérente.

Résolution de problèmes

Si vous rencontrez quelques problèmes avec la détection de collision, il y a deux manières de les corriger :

  • La solution la plus rapide est d’augmenter le réglage Min Distance dans le panneau Cloth Collision. Celle-ci est la manière la plus rapide pour corriger le clipping ; cependant, il sera moins précis et ne paraîtra pas aussi bon. L’utilisation de cette méthode tend à faire comme si le tissu flotte en l’air, et lui donne un aspect très arrondi.
  • Une seconde méthode est d’augmenter Quality (dans le premier panneau de Cloth). Celle-ci se passe en étapes plus petites pour le simulateur et ainsi à une haute probabilité que les collisions d’objets en déplacement rapide soient saisies. Vous pouvez aussi augmenter Collision Quality pour effectuer plus d’itérations pour résoudre les collisions.
  • Si aucune de ces méthodes ne fonctionne, vous pouvez aisément éditer après le résultat en cache/précalculé en Mode Édition.
  • Le tissu est déchiré par le maillage de déformation – à la manière de Hulk : augmentez sa raideur structurale (réglage Structure Stiffness, panneau Cloth), très fortement, comme 1000.

Note

Modificateur Subdivision Surface

Un précalcul/cache est réalisé pour chaque niveau de subdivision, aussi veuillez utiliser le même niveau de subdivision pour le rendu et la prévisualisation.