Geo nodes et Cloth Simulations - Partie 3 - Dansez

Dansez, certes ! Mais avec retenue je vous prie

  • On va enfin se servir de la variable “Repos” qui a gardé en mémoire la position au repos des Vertex du coussin, et du mesh Wireframe qu’on a créé pour mieux calculer la position au repos des Vertex du Pin groups.

☝🏼

Cette étape n’est pas nécessaire mais donne un meilleur rendu.

  • Passer dans le workspace Geo Nodes.

  • Si un Geo Nodes est épinglé, désactiver la chose.

  • Avec l’objet Coussin sélectionné, dans les propriétés Modifiers, ajouter un Geo Node Modifier après le Cloth Modifier, qu’on va appeler “Après Simulation” et faire “New” pour créer le nouveau système de Geo Node.

  • On va aller cherche le Collider Object, c’est l’objet nommé Collision.
  • Vous pouvez soit faire un drag and drop de l’Outliner vers le workspace Geo node, ou créer un noeud Object Info et utiliser la pipette pour cherche l’objet “Collision”.
  • On va calculer la distance entre les points de l’objet collision et ceux du coussin. Là ou la distance est 0, on va faire un set position de ces Vertex à la position “Repos” qu’on avait gardé en mémoire.
  • Cela aura pour effet de réduire les chevauchements de géométrie entre le coussin au repos et le filet qui l’empêche, en ces endroits, de gonfler.
  • Voyez plutôt, sans le noeud Set Position:

  • Et avec le noeud Set Position:

  • Ajoutons un noeud Sample Nearest Surface (de type Vector) pour échantillonner la position du coussin.
  • On va changer la position des échantillons du collision en fonction de la géométrie du Collision object (ici, comme on na pas déplacé l’objet par rapport à l’originie, ça ne change rien de choisir Original ou Relative).
  • Pour ce faire, on va déplacer les Vertex après le Sample Nearest Surface en fonction de la position de l’objet Collision.

  • Comme on le constate, le mesh du collision object s’est aplati, il est exactement tangente à la surface du coussin au repos.
  • Bon, je monte Object Info plus haut, pour pas que les noodles se croisent

  • Tiens, branchez le socket Value de Sample Nearest Surface à Offset également, avec un Vector Scale. C’est chouette non?