Utilisation de SoftBody

Les corps mous (ou corps mou dynamique) simulent les mouvements, les changements de forme et d'autres propriétés physiques des objets déformables. Ceci peut par exemple être utilisé pour simuler le tissu ou pour créer des personnages plus réalistes.

Configuration de base

Un nœud SoftBody est utilisé pour les simulations de corps mou.

Nous allons créer un cube gonflable pour démontrer la mise en place d'un corps mou.

Créez une nouvelle scène avec un nœud Spatial comme racine. Ensuite, créez un nœud Softbody. Ajoutez un CubeMesh dans la propriété mesh du nœud dans l'inspecteur et augmentez la subdivision du maillage pour la simulation.

../../_images/softbody_cube.png

Réglez les paramètres pour obtenir le type de corps mou que vous recherchez. Essayez de maintenir la Simulation Precision au-dessus de 5, sinon le corps mou risque de s'effondrer.

../../_images/softbody_cube_menu.png

Note

Manipulez certains paramètres avec précaution, car certaines valeurs peuvent conduire à des résultats étranges. Par exemple, si la forme n'est pas complètement fermée et que vous réglez la pression à plus de 0, le corps mou volera comme un sac plastique sous un vent fort.

Jouez la scène pour voir la simulation.

Astuce

Pour améliorer le résultat de la simulation, augmentez la Simulation Precision, cela donnera une amélioration significative au prix de la performance.

Simulation de cape

Faisons une cape dans la démo de Platformer3D.

Note

Vous pouvez télécharger la démo de Platformer3D sur GitHub <https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer> ou the Asset Library.

Ouvrez la scène Player, ajoutez un nœud SoftBody et affectez-lui un PlaneMesh.

Ouvrez les propriétés PlaneMesh et réglez la taille (x : 0.5 y : 1) puis réglez Subdivide Width et Subdivide Depth sur 5. Ajustez la position de SoftBody. Vous devriez vous retrouver avec quelque chose comme cela :

../../_images/softbody_cloak_subdivide.png

Astuce

La subdivision génère un mesh davantage tessellé pour de meilleur simulations.

Ajoutez un BoneAttachment nœud sous le nœud squelette et sélectionnez l'os du cou pour attacher la cape au squelette du personnage.

Note

Le nœud BoneAttachment sert à attacher des objets à l'os d'une armature. L'objet attaché suivra le mouvement de l'os, l'arme d'un personnage peut être attaché de cette façon.

../../_images/softbody_cloak_bone_attach.png

Pour créer des articulations épinglées, sélectionnez les sommets supérieurs dans le nœud SoftBody :

../../_images/softbody_cloak_pinned.png

Les articulations épinglées se trouvent dans la propriété Attachments de SoftBody, choisissez BoneAttachment comme SpatialAttachment pour chaque articulation, les articulations épinglées sont maintenant fixées au cou.

../../_images/softbody_cloak_pinned_attach.png

La dernière étape est d'éviter l'écrêtage en ajoutant le corps cinématique Player à Parent Collision Ignore de SoftBody.

../../_images/softbody_cloak_ignore.png

Jouez la scène et la cape devrait être simuler correctement.

../../_images/softbody_cloak_finish.png

Ceci couvre les réglages de base du softbody, expérimentez avec les paramètres pour obtenir l'effet que vous visez en faisant votre jeu.