Collision

Il y a deux type de collision différents que vous pouvez utilise : collision entre différents objets et collision interne. Nous aimerions mettre quelque chose au clair dès le début – les cibles primaires du calcul de collision sont les sommets d’un corps souple. Aussi si vous avez trop peu de sommets, trop peu de collisions auront lieu. Deuxièmement vous pouvez utiliser les arêtes et les faces pour améliorer le calcul de collision.

Collisions entre d’autres objets

Pour qu’un corps souple entre en collision avec un autre objet, il y a quelques prérequis :

  • If Collision Collection is set, the object must belong to the collection.

  • L’objet de collision doit être un objet mesh.

  • Vous devez activer Collision dans l’onglet Physics pour l’objet de collision. L’objet de collision doit de plus êre un corps souple.

Exemples

Un corps souple cube entrant en collision avec un plan (Fig. Un corps souple cube entrant en collision avec un plan.) fonctionne plutôt bien, mais un corps souple plan traverse un cube avec lequel il est sensé entrer en collision (Fig. un corps souple plan entrant en collision avec un cube ; aucune interaction.).

../../_images/physics_soft-body_collision_cube-plane-1.png

Un corps souple cube entrant en collision avec un plan.

../../_images/physics_soft-body_collision_cube-plane-2.png

un corps souple plan entrant en collision avec un cube ; aucune interaction.

Pourquoi cela ? Parce que la méthode de calcul par défaut vérifie seulement si les quatre sommets du corps souple plan entre en collision avec le cube pendant que le plan est poussé vers le bas par la gravité. Vous pouvez activer Collision: Face (dans le panneau Soft Body Edges) pour activer à la place la collision entre la face du plan et l’objet mais ce type de calcul prend beaucoup plus de temps.

Regardons de plus près le calcul de collision, ainsi vous pourrez avoir une idée sur la manière dont nous pourrions l’optimiser.

Calcul des collisions

Les simulations de corps souples sont par défaut faites sur chaque sommet. Si les sommets du corps souple n’entrent pas en collision avec l’objet de collision, il n’y aura pas d’interaction entre les deux objets.

Dans la vidéo ci-dessouis, vous pouvez voir les sommets entrer en collision avec un plan. Si un sommet pénètre la zone entre Outer et Inner, il est repoussé par une force dans la direction de la normale de la face. La position à laquelle finit un sommet est dépendante des forces qui agissent sur lui. Dans l’exemple (le premier sommet à gauche dans la vidéo ci-dessous) la gravité et la force de répulsion de la face s’équilibrent. La vitesse à laquelle le sommet est poussé hors de la zone de collision est influencée par le paramètre Choke dans les réglages de Soft Body Solver.

Voir aussi

Téléchargez le fichier blend.

Now let’s see what happens if we make vertices heavier and let them travel at a faster speed. In the video above, you can see vertices traveling at different speeds. The two on the far right (fifth and sixth) are traveling so fast that they pass right through the collision zone (this is because of the default solver precision, which we can fix later). You will notice that the fourth vertex also travels quite fast and because it is heavier it breaches the inner zone. The first three vertices collide correctly.

Vous pouvez configurer votre collision afin que les arêtes et même les faces sont comprises dans le calcul de collision dans le panneau Soft Body Edges avec les options de Collison Face et Edge. La collision est alors calculée différemment. Il est vérifié si l’arête ou la face entrecoupe l’objet de collision, les zones de collision ne sont pas utilisées.

Bonnes collisions

Si la collision que vous avez configurée ne se comporte pas proprement, vous pouvez essayer ce que suit :

  • L’objet corps souple doit avoir plus de subdivisions que l’objet de collision. Ajoutez à l’objet corps souple dans des zones stratégiques que vous connaissez les plus à même d’être impliquées dans une collision.

  • Vérifier la direction des normales de face.

  • Si l’objet de collision à des pointes aiguës, elles pourraient pénétrer le corps souple.

  • La résolution du solveur doit la vitesse à laquelle les sommets du corps souple voyagent. Baissez le paramètre Error Limit et augmentez prudemment Min Step.

  • Outer et Inner devraient être assez grands, mais les zones des faces opposées ne devraient pas se superposer, ou vous aurez des forces dans des directions opposées.

  • Si vous utilisez des forces puissantes. vous devriez utiliser de grandes zones.

  • Définissez Choke à une valeur assez haute (jusqu’en haut si nécessaire) si vous des difficultés avec des sommets repoussés.

  • Les faces en collision sont difficiles à contrôler et nécessitent de longs calculs. Essayez de ne pas les utiliser.

Souvent il est préférable de créer un maillage simplifié à utiliser comme votre objet de collision. Cependant il peut être difficile si vous utilisez un maillage d’animation.

Auto-collisions

Pour des informations sur les auto-collisions, veuillez vous référer aux paramètres de Self-Collision.