I'm trying to animate a soft body in Blender by using hooking, but it doesn't work right. The following is what I do:

  • I create a mesh - in this case it is an elongated object, like a thread/yarn - and assign its ends to vertex groups. I create a vertex group for both ends too.
  • I assign the Soft Body physics modifier to my thread, and make settings on it, see screenshot below. Note that the Soft Body Goal is set to the vertex group of both ends of the thread.
  • Then I go into edit mode, select the vertex groups of either ends individually, and then assign a new hook to them with Ctrl+H.
  • Then I give some keyframed translation/rotation/whatever to my hook, and I expect that the soft body I made should follow it "as a whole", moving and stretching accordingly and preferably realistically.

However, instead of this, what happens is that the hook pulls the vertices of its hosting vertex group, and stretches the faces connected to it, but the rest of the object doesn't react.

In the Modifiers tab I tried various settings, like specifying both the hooking Object and the Vertex Group, and hitting the Apply button; or not hitting the apply button, just leaving it like that; or not specifying the Vertex Group. None of these work.

Could you please point out what I'm doing wrong?

These previous posts didn't help (I could only post here one):

Rig a rope spanning two objects

enter image description here

The order of the Softbody and Hook modifiers in the Modifier stack is important. For the soft body physics to take account of the hooked vertices it must be positioned below the hook modifiers in the stack. Performing the steps in the sequence in your question (create mesh, add Soft Body, set Vertex Group, add hooks) adds each modifier at the end of the stack so that the Soft Body will be first, followed by the hooks. ie,

bad modifier sequence

Note the Soft Body above the hooks.

This will produce the following results (note that I've added Skin and Subdivision Surface modifiers to make it more visible) :

bad modifier sequence

The modifiers are applied in 'top-down' sequence and so for the Soft Body to take account of the hooks it must occur after the hooks have been applied. Simply use the arrows (at the top-right of each modifier panel) to move the Soft Body to below the hooks and all should be well. ie,

good modifiers

This can then produce the following result :

animated - good modifiers

Note that the only difference between these two results is the order of the modifiers in the stack.

Blend file included

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.