2
$\begingroup$

I've been talking to some people who use Maya and they said that this (video) was possible in Maya... Is this possible in blender using cloth physics or hair physics? In the video I have it animated.

https://youtu.be/c_UvMqTWTaE

animation

Thanks! Ekrcoaster

$\endgroup$
5
  • 2
    $\begingroup$ Hm, you need to use Rigid body physics, or Soft body instead. Cloth physics can't maintain volumes. youtube.com/watch?v=efEGZVI9VwM $\endgroup$
    – Crantisz
    Commented Feb 6, 2018 at 7:18
  • 1
    $\begingroup$ Why specifically cloth physics? As @Crantisz says, rigid body or soft body is more suited to this. $\endgroup$ Commented Feb 6, 2018 at 7:38
  • 1
    $\begingroup$ ...hair physics? $\endgroup$
    – m.ardito
    Commented Feb 6, 2018 at 8:44
  • $\begingroup$ Im sure animation nodes could do this. $\endgroup$
    – icYou520
    Commented Feb 20, 2018 at 23:11
  • $\begingroup$ @RichSedman The reason that cloth simulation would be preferable to rigid body simulation (specifically in blender) is because BPhysics simulations involving both rigid body and cloth are practically worthless - (and have been for the last 15 years.) But, If you could emulate a rigid body using a cloth simulation, you could bypass a whole host of problems with "Rigid Body Cloth Sims", by instead using only cloth simulation (with 'structure and bending' vertex groups for parts of your mesh!) If this functionality works in Blender, I have not yet been successful in implementing it. $\endgroup$ Commented May 24, 2022 at 16:52

1 Answer 1

5
$\begingroup$

This can be achieved with Cloth physics or Soft Body physics.

Starting with Soft Body (since it's more versatile), the first step is to create the mesh - effectively two joined cubes. So starting with the default cube, select it and use Ctrl+D to duplicate it and position it in the desired location. Select both cubes (select one, hold Shift while clicking the other) and press CtrlJ to join them into a single object. NOTE : You should select the 'child' cube first (the one you want to have dragged about by the other), followed by the 'parent' - this way the origin of the combined mesh will be at the centre of the 'parent' cube.

joined cubes

We could use Soft Body options to keep the cubes from being distorted. However, this will interfere with the bending motion we want to produce. Therefore, we'll add 'struts' to the mesh to give it rigidity.

Go into Edit mode (Tab) and select wireframe view (Z). Select two opposing corners of a face and press F to create an edge between them.

Repeat this for every face on each cube - this will make each cube rigid without having to use the Soft Body 'Stiff Quads' or 'Bending' options, leaving them to be adjusted for controlling the bendiness between the cubes.

all struts

To join the cubes together, select each nearby pair of vertices in turn and again press F to create an edge between each.

joint between cubes

Whilst still in Edit mode, select all the vertices of the 'parent' cube, create a new Vertex Group (named 'pin') and click 'Assign' to assign those vertices to the group.

assign to group

Now swap back to Object mode (Tab) and in the Physics panel add Soft Body. In the Soft Body Goal settings set the Default Strength and Stiffness to their maximum and set the Vertex Group to the 'pin' group created earlier. In Soft Body Edges set the Pull and Push springs up to their maximum - this will force the edges to be a fixed length, locking the shape of the cube due to the 'struts' that were added earlier.

Now animate the mesh as desired - you should get the 'child' cube following and adjust the Bending Stiffness spring in the Soft Body Edges to get the desired stiffness of the joint. Switch off gravity (set the Soft Body Field Weight to zero) and enable Soft Body Self Collision if required. Optionally adjust the Soft Body Solver settings (eg, increase Min Step) if necessary. You can also adjust the Friction (on the main Soft Body properties) to calm down the bounciness if required.

This can produce the following result :

animated soft body


Cloth physics is fairly similar but needs a minor tweak to the mesh - since the cloth uses the presence of faces rather than edges to determine how the mesh behaves. So using the same mesh (ie, two cubes with added 'struts'), in Edit mode, select the 4 vertices between the two cubes and press F to create a face.

face between cubes

Instead of Soft Body (remove it if using the same model), add Cloth. On the main Cloth properties panel, enable Pinning and use the same 'pin' vertex group as used for the Soft Body version. Disable Gravity in the Cloth Field Weights and enable Self Collision in the Cloth Collision panel.

You can use the Cloth panel to adjust the behaviour of the simulation. It's not as tunable as the Soft Body simulation but you should be able to get reasonable results - although you might still get some distortion of the cubes at high speed.

cloth settings

animated - cloth


Blend files included :

Soft Body

Cloth

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .