The Bishop’s costume for my Nezina project has an elbow-length cape that is part of the simar (the Bishop’s garment). This should be a very strightforward cloth sim task, almost as simple as draping a plane over a sphere. But, alas, it is not so:
The cloth mesh has a pinning vertex group that includes the first two rows of vertices at the neck/collar. All else is set for 100% cloth action (pinning = zero). Here are the specs for the Cloth Object and the collision mesh:
I’ve tried the Cotton & Silk presets, and innumerable variations on these values, and essentially get the same effect.
The cape flops into place beautifully for the first 30 frames or so, but as the arms of the collision object move, the part of the cloth that covers them does not continue to drape itself properly, and remains standing out rather stiffly, as if starched all to heck. Also, the collision seems to fail once the cloth settles down, with the front of the cloth sinking through the collision mesh for some reason.
I’ve tried doubling the mesh resolution of both the cape and the collision object, but get pretty much the same results. Variations in cloth specs change the way the cloth reacts in small details but the end results is also the same – it doesn’t drape properly and the collision fails.
The cloth mesh also changes its shape & location during the action: look at the collar area and you can see it raising up significantly, even though that area is 100% pinned & the cape mesh is a child of the armature that moves the collision object. The cape also shrinks noticeably after the initial draping action has settled. WTF?
Any ideas or suggestions about how to overcome this? I used Cloth a lot in 2.4x and this seems to be very different behavior.
Excellent question! There was in fact an armature modifier on the stack for the Cloth object (I was testing the combination of these two both for this and the main Bishop’s garment), however, there were not vertex groups in the Cloth mesh linked to any armature bones, so its effect should (or so I reason) have been nil.
So after removing this modifier, I redid my test and solved two probs but the main one remains:
As you can see the transforms on the cape – Location & Scale – have gone away, and so has the failed collision. But the lack of further cloth response after the first “flop” is even more of a problem.
It’s as if the Cloth responds only to the initial “frame one” state of the collision object and ignores any further changes to its shape. This is entirely contrary to how Cloth behaved in 2.49, where I used moving collision objects extensively.
It looks like the vertices on the side are pinned at 100%, which if this is the case then they will always hold completely in place. Meaning the result you’re seeing is exactly what you should see. Since the chest is not moving at all with the arms, and the cloth is barely touching the arms after falling this everything looks right.
If you want the trim on the cloth to be stiffer than everything else but still be able to deform then maybe set the pinning weights to 30-40%.
Nope. If you look close you’ll see the sides of the cape falling into place and colliding with the arms, but then going no further. Here’s the weighting of the Cloth pinning vertex group (the only VG this mesh has, btw):
First ring of verts at the neck is fully pinned (1.0), next one out at about 0.70 for a little stiffness there, but otherwise at 0.00, for full cloth response.
I spent many, many hours using the Cloth sim for Kata so I know its ins and outs pretty well, at least the 2.4x version. That’s why this is so puzzling, it defies expectations.
I’ll see if I can boil this down to a file I can post. I don’t want to release this particular rig yet, so I’ll try & build a simpler test rig. Thanks for the interest!
I’ve stripped it all down to a simple armature and two meshes, the cloth & the collision object. It was still over the attachment limit so I put it in a ZIP archive:
Just run the animation (ALT+A) to get an trial bake on the sim, which is set to run from frame 1 to 100,
An interesting experiment: Set the sim range from 50 to 100 in Cloth physics. At frame 50 the collision object’s arms are well-flexed, so when the sim starts it should drape itself over them in the down position. But it doesn’t. It acts as if the arms never moved at all.
Ah ha! Actually the solution is quite simple. The Collision modifier just needs to be placed below the Armature modifier in the stack. This way the Collision is calculated AFTER the armature deformation
Duh! Makes excellent sense. Here I was belaboring the Cloth settings, and not looking closely enough at the collision object. Well played, and thank you!
I’ll see how that also affects the main garment response as well, which uses a combination of armature control and cloth simulation.
I am eager to see how well the cloth all works out for you. The cloth system works great for simple tests but I’ve always had trouble getting it to behave nicely in a really project with more complexity.
I’ve felt that pain! A huge amount of time was spent doing cloth sim cleanups for Kata – the collision failures required converting every sim for the costume pants to shape keys & then doing hand-sculpted corrections for every sequence showing the cloth… Mind-numbing to say the least.