Animate Soft Body to Cloth and Back in Blender
Turn Suzanne into a soft body with RBDLab 1.6: sphere chunks, Soft and Cloth constraint groups, a MetalSoft mesh and an animated switch between them.
RBDLab includes a demo scene that switches a mesh between cloth and soft body. In this tutorial we build a similar setup from scratch: a Suzanne that starts as a soft body, turns into cloth halfway through the animation and then goes back to being a soft body.
You will fill the mesh with sphere chunks, create two constraint groups (one with the SoftBody preset and one with the Cloth preset), wrap the chunks with a smooth MetalSoft mesh and animate the switch between both groups at the frames you choose before baking the result.
Step by step
-
Start from a Suzanne with a Subdivision modifier at level 2. Apply the modifier and use Shade Smooth.
In the Fracture module, go to the Prepare tab, open SoftBodies, choose Fill Objets and click Create Chunks. RBDLab fills the volume with small pieces. In Shapes you can pick Spheres or Cubes; the principle is the same. Here we use Spheres.
The chunks must touch each other with no gaps so the neighbour calculation works properly. Lower Particles Separation until the gaps close (from 0.200 to 0.148 here) and enable Show Originals to compare them with the original mesh. With Voxel Size at 0.1 m, Particles Size at 1.000 and Particles Separation at 0.148, click Apply All: you get 612 instances.
-
Go to Physics → Ground and click Add Ground (the + icon under the module list does the same). You can hide the ground so it doesn't get in the way. There is nothing to do in the RBD tab: with Automatic RBD after Apply enabled, Apply All already added the rigid bodies.
Open the Constraints module, Create tab. Source Collections already shows
Suzanne_low, the collection that holds the chunks. Set:- Source Filter: Collections
- Type: Soft
- Limit Constraints: enabled, at 5
- Between Chunks: enabled
Click Create Constraint Group. A group named Soft Suzanne_low appears, with 2752 constraints.
In the Edit tab, under Constraints Settings, choose the SoftBody preset. Enable Disable Collisions for faster calculations and click Update. Play the animation: the chunks now wobble like a soft body.
-
Open the MetalSoft module and click Create Mesh Deform. In RBDLab Deform, set original_collection to
Orig_Suzanne, the collection with the original mesh. Play the animation: the smooth Suzanne now deforms with the chunks.Raise Smooth Surface a little (from 0 to 4) to soften the result. These are the parameters that control the smoothing of the surface:
- Smooth Mask Threshold (0.200)
- Smooth Mask Blur (10)
- Smooth Surface
- Smooth Shader Angle (60°)
-
Switch back to the chunks and, in Constraints → Create, use the same settings (Limit Constraints at 5, Between Chunks enabled) and click Create Constraint Group again. A second group, Cloth Suzanne_low.001, appears in the list.
In the Edit tab, untick the Soft Suzanne_low group for now so you only test the new one. In Constraints Settings choose the Cloth preset and raise Limit Linear Distance → Distance from 0.02 m to 0.05 m, which works better here. Enable Disable Collisions as well and click Update.
Play it with the chunks and then with the final mesh: the same Suzanne now moves like cloth.
-
Now animate the change between both behaviours. Select the chunks, go to Constraints → Animation and tick both groups so they are enabled.
Under Switch Constraints by group, click Switcher between Groups. In the window that opens:
- .ConstraintGroup_Soft Suzanne_low: Enable to Disable (the soft body stops working)
- .ConstraintGroup_Cloth Suzanne_low.001: Disable to Enable (the cloth takes over)
- Frame: 60
Click OK. Switch to the mesh and play: Suzanne starts as a soft body and from frame 60 behaves like cloth.
-
Add a second switch to return to the soft body. Click Switcher between Groups again, clear both group fields and pick the groups in reverse order:
- .ConstraintGroup_Cloth Suzanne_low.001: Enable to Disable
- .ConstraintGroup_Soft Suzanne_low: Disable to Enable
- Frame: 120
Click OK and play it with the mesh: soft body, cloth from frame 60 and soft body again from frame 120.
When you are happy with the animation, bake it with the Cache to bake icon, at the bottom right of the module list. First set the scene End frame to 180 (it was 300) and play the animation to check it; then click Cache to bake and save the file.
Clear the cache before changing the range
Once baked, the Cache to bake icon turns into a red bin that clears the cache. In the video the bake is cleared with it before shortening the animation to 180 frames and baking again.
You now have a Suzanne that switches between soft body and cloth at the frames you choose. Add more switches or tweak the presets of each group to create your own soft body animations.