I'm currently playing around with getting an animated character to manipulate a piece of cloth, e.g. throwing a table cloth over a table: At the beginning the character is gripping the cloth. The vertices being gripped should obviously not be subject to cloth simulation (a.k.a. be "pinned" to the character's hands). However, once the character lets go of the cloth those vertices should again be free to move wherever the cloth sim takes them.

I already found out that cloth collision detection alone does not appear to be good enough to simulate the character's grip on the cloth: It either ends up slipping off of or sticking to the character.

I then played around with rigging the cloth with armature bones. I have one bone per pinned vertex and assigned appropriate weights in addition to the pinning group. This generally works a treat. I can fully animate each pinned vertex individually and the rest of the cloth gets simulated correctly. This way, my character can already wave the cloth around.

However, this does not solve the picking up or letting go part of the problem. I had hoped that there might be some way to animate the influence of the pinning vertex group but so far haven't found a way to do so. Is there anything I've missed?

How would you go about this?

I haven't actually tried yet but I would assume that simply switching to a duplicate of the cloth object (one without pinning) at the moment of letting go would not give the desired result as the second sim cannot be primed with the vertex velocities at the end of the first sim - or can it?

  • 1
    $\begingroup$ maybe animate (press i) on the deform effect of the bone $\endgroup$ – Peter Sep 1 '17 at 9:09
  • $\begingroup$ @user3800527 : Yes! That works indeed! If you post this as an answer I will accept it. $\endgroup$ – Oliver Giesen Sep 2 '17 at 14:22
  • $\begingroup$ OK, maybe I was a little quick with my previous comment. Animating the Deform property to off does in a way "let go" of the cloth, but it actually causes the controlled vertex to snap back to its originally pinned position... I haven't really looked at this for over half a year, though. So maybe this is still a good lead. In the meantime, I found this answer to a similar question that suggests using the Hook modifier, which also sounds promising: blender.stackexchange.com/a/57232/1259 $\endgroup$ – Oliver Giesen Sep 2 '17 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.