Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

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

A SoftBody3D node is used for soft body simulations.

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

Create a new scene with a Node3D node as root. Then, create a Softbody node. Add a CubeMesh in the mesh property of the node in the inspector and increase the subdivision of the mesh for 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.

Add a BoneAttachment3D node under the skeleton node and select the Neck bone to attach the cloak to the character skeleton.

Note

BoneAttachment3D node is to attach objects to a bone of a armature. The attached object will follow the bone's movement, weapon of a character can be attached this way.

../../_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.