The typical workflow for cloth is to have areas that are attached to the body be Pinned, and influenced by an armature limited to the Pinned group. The rest of the garment would not be influenced by the armature. An example of this would be a skirt or baggy pants with a pinned waistband, but the rest unpinned and uninfluenced by the armature.

If you have the full garment rigged to the armature and run the cloth as well, then you get the movements of the cloth AND the armature adding together, which makes problems and is not accurate.

This presents the limitation that you cannot put the character into any poses without running the simulation to get them there. This means that before the start of every animation, you need to add extra frames to get the character from their rest pose into the pose for the start of the animation. It would be nice if you could pose the character with the armature into the start pose (granted this may deform the cloth in bad ways, but it often won't matter) and then run the rest of the animation from that start point. But to do this right now, you need to apply the armature as a shapekey or something and then disable it because if you leave the armature active during the rest of the animation, then you'll mess up the cloth sim as described above.

Is there a way around this issue? Is it possible to have the cloth sim start from the posed mesh, but ignore the armature for the rest of the animation (except in pinned areas)? Or some other workaround?

  • 1
    $\begingroup$ Have you tried the recentish cloth enhancements by Luca Rood? I think many have have been merged to 2.8, in particular I know he made improvements to how the base shape is calculated with respect to modifiers and pinning at some point. $\endgroup$ – Sazerac Apr 15 '19 at 1:01
  • $\begingroup$ Yes, that's in 2.8 and is what I'm using. It's a big upgrade to the sim overall, but does not address this problem as far as I know (maybe there's some setting hidden somewhere.) $\endgroup$ – Ascalon Apr 15 '19 at 4:07
  • $\begingroup$ Ok, I think what you need could be achieved with the external rest shape feature discussed here code.blender.org/2017/06/improvements-to-the-cloth-simulator. As far as I can tell, it hasn't been merged into 2.8 yet, but may exist in the cloth-improvements branch. $\endgroup$ – Sazerac Apr 15 '19 at 4:36
  • $\begingroup$ @Sazerac Yes it looks like that exists in the cloth branch builds. I've tested it and it doesn't seem to handle this problem, but I may be misunderstanding how to use it. $\endgroup$ – Ascalon Apr 17 '19 at 0:58
  • $\begingroup$ My understanding, and I may be wrong, is that it will allow both the pins to update with armature (existing dynamic mesh option), but the rest shape to be based on the external mesh. That should lead to things like edge lengths for springs etc being calculated based on the length in the external mesh rather than recalculated after deformation from the armature. I guess the start from pose part might still be fiddly. It might be worth presenting your use case to Luca Rood in the Blenderartists thread and seeing what he suggests. $\endgroup$ – Sazerac Apr 17 '19 at 1:05

Option A: Cache and export to Alembic. But still have to wait 50+ frames for the collision to happen. There´s no instant "anything" on 3D. Never fall for that trap.

Option B: To my understanding that "pre-simulation" until the cloth is calculated and "rest" to the collisions, HAS ALWAYS BEEN LIKE SO IN ANY 3D APPLICATION. Yes, you need to let some previous frames to calculate, rest, and then get the character to pose. EVEN MARVELOUS DESIGNER works like that. So comparing it to Blender, you´ll have to wait to frame 75 or so, until the cloth "rests" to the collision.

  • 1
    $\begingroup$ I'm not clear on how this answer relates to the question? What does caching it to Alembic achieve in regards to armatures? What does B have to do with ignoring armature motion? $\endgroup$ – Ascalon Apr 22 '19 at 19:49
  • 1
    $\begingroup$ If user chooses Option A: he can playback at any given frame without using simulation. If user chooses option B (default in any 3d application) he has to wait for frame by frame simulation. $\endgroup$ – Pierre Schiller Apr 22 '19 at 19:51
  • $\begingroup$ That's good to know, but I don't know what it has to do with the original question? You can also use other mesh caches, or use a disk cache within blender. It doesn't address the armature problem. $\endgroup$ – Ascalon Apr 22 '19 at 23:03

Your Answer

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

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