Is there a better way to simulate softbody?

I have tried the existing methods of adding softbody and collision to mesh, and they are all unsatisfactory.

Here is what I mean: Capture.jpg

Once you add cloth or softbody to the low poly mesh, it is pretty much stuck in place. Sure it can still jiggle a bit, but it has lost the range of movement and deform it can do with bones. Not even counting all the wasted time to test whether the settings will blow up or crumble the mesh.

Here is what I want: The mesh deforms with the armature (allowing more precise, smooth, denser mesh) and is still able to collide with objects and itself. Volume preservation is a nice bonus to have. It would spare us the trouble of making a cage object altogether.

Is there a way to achieve this? Theoretically it should take less code than soft/cloth sims.

Technically, better use a bone with a good painted vertex group as weight. and use jiggle armature or similar free addon.

I know and I already use Wiggle bones. While it gives good deformations, there is no collision for the mesh. There are ways to use a single vertex for collision, combined with Wiggle bones, but that is only 1 point of collision. I am not satisfied with that. I want the whole area to have collision.

I use a cloth sim with collisions on a Cage Proxy… That drives a Surface Deform Modifier, a Corrective Smooth, and Multres with Vertex groups being the target…

Volume_tracking.blend (2.9 MB)
Blender 3.3 file

1 Like

Thanks for the reply, but please read what i wrote. I know this method works if it’s not moving too much. However, as I showed in my Capture.JPG, when the armature deformation is more extreme, the cage with cloth sim keeps its form too much and doesn’t look right anymore.

I want the mesh to deform according to jiggling armature while having collision. The current cloth/softbody sims aren’t good enough.

I understand…but you do realize that you can combine multiple effects? I was actually just showing you the collision. I don’t care for the jiggle armature… and prefer Spring Bones, but they all have their plus and minus…

You can also do something like this…

2 Likes

just to make sure i’m understanding correctly, is your cage mesh for the cloth body sim weighted to the armature as well? i can’t quite tell if from your example image whether it is an order of operations issue. it kind of looks like the main mesh is deforming with the bones, but the soft body cage appears to be left in place out of sync with the armature.

again, apologies if this isn’t capturing your issue, but i would think the cage could be initially deformed by the armature, then the sim is run on top of that for additional collisions and stuff, and then the main mesh is bound to the cage. what i guess you’d have to verify is if you also would need to weight influence the “soft” parts of the main mesh to not also be armature driven (only the cage deformation) to prevent doubling up of effects.

This is quite impressive and I don’t think that I have seen it before, but as soon as I went into pose mode and tried to move the whole body with Timeline playing, the trick broke…

Edit: Also, the body has collision on but isn’t capable of deforming due to collision…

The modifier order is as you said, it’s just that I didn’t cage it to show the difference it can make between having the cage and not having the cage. I did the whole cage method before, but as I said, it jiggles a bit, but isn’t capable of larger movements that look more natural as provided by a wiggle armature.

Did you bake it first?

I didn’t bake. I just waited until the animation is over and tried to move it during that time, and the bones went crazy. Also, I edited last comment. I see that the body has collision but can’t receive /deform from collision, so it’s not what I want.

also i’m the author of wiggle bones (got tagged so i saw this thread). i have been working on jiggle physics that do simple point collisions with configurable radius, although you were suggesting that also might not be sufficient for your needs.

2 Likes

Oh hi! Thanks a lot for Wiggle Bones. The deformation with wiggle bones is too good that it’s hard to settle for less now lol. I believe that we can have some stripped down version of cloth/soft sim that primarily deform according to armature. That would be great.

At the worst, let’s setup a wiggle bone for every or every other vertex…

that is some expert level rigging, nice!

Yeah…that will brake all physics…especialy since the rig top is a static rig…the top has to stay near the bones…I’m not sure if there is anyway around this…it might work with constraints…I would have to try it…
But as far as collision …your back to either a cage deformation or you could use a combo
using Vertex weights and displacement… for some things…


You could look at Geometry Nodes and see, there is a Squish Node group for better self-deformations and collisions with objects…
GIF 12-17-2022 07-42-48

1 Like

Do you mean Xeofrios’s squish geonode?

To be honest, armature and current cloth sim can be played real time, so it doesn’t feel to be on the right track when you need to bake.

Geonodes look interesting, is there a tutorial somewhere that shows the basic setup? I want to try it first because Xeofrios’s squish geonode did a bad deform for the join.

That looks quite bad and unrealistic. But it’s a way worth exploring. Is there a base tree to explore somewhere?

Where is this node group from?

So I tested a basic tree for this and skimmed the Squish Node’s thread, it’s not ready for full body yet… which means we are back to caging, since it has to do with object origin.

Any savvy programmers in the forum to help? I think that it would be best to take parts of the cloth/softbody simulation codes for collision and let armature deform handle the deformations.