Simple Bone Physics
The ability to set bones to be treated as a chain of rigid bodies connected by joints would be very useful in many cases. Often, true soft body physics aren't necessary and/or don't deliver desirable results.
For starters, physics could be enabled for all bones in an armature to create a ragdoll effect. In addition, physics bones could be used to quickly, realistically, and reliably animate things that hang from animated characters like meshed hair (as opposed to true particle hair), cloaks, trenchcoats, drawstrings, jewelry, etc. It could also be used on inanimate objects to make them seem more believable when they move, such as the straps on a backpack or the subtle movement of pocket flaps. Damping and elasticity control for the joints would also be useful.
Collisions (to prevent things like hair from intersecting slipping through body parts) could be done with simple bounding shapes or low-poly collision meshes that are manually assigned to bones. It could probably also just use the full-res armature-deformed mesh for collisions, but something tells me that would be unstable and impractical.
I don't know the most efficient way to implement this, but I'm picturing it as a new bone constraint. Maybe it would work better if it was just built into the bone settings. Either way, I think it would be a welcome addition for character animation.
NOTE: I know it's possible to hack this together with cloth simulation and vertex pinning, but I think this is a common enough use case that it should be a deliberate feature. That, and doing it the other way is tedious and ugly and doesn't offer very robust control.
8 Comments
This should be a must for the developers team, at least animation will be improved so much if the physics engine were an option inside the bone settings as well as IK and basic constrains but while we wait for that to happen I found these two plugins that save you a few steps and organize the file the way all of those empties are in a given layer to drive the bones and so…
This first one is the whole Ragdoll tools with collisions and constrains ready to be tweaked
blendermarket.com/products/ragdoll-tools
Now this is a rotation/translation smoother that works most of all as a soft body simulator for the armature, you apply the effect on some bones, bake the keyframes then disable the effect
blendermarket.com/products/jeane-spline
This would be so awesome ! I often thought that this could be an easy way to overlap animation for some element. If a character has semi-rigid antenna on his head and you want to automate the elasticity for exemple, currently you need to setup soft body and bake stuff with a limited control, or setup a complex rig with bones chain constrained by empty that are a real pain to use. With the suggested Rigid body on bones with ability to control the influence between physics and hand made animation would be huge.
This would be handy.. physics inside bones without "hacks"/tricks just like native muscle support. Ready (one click) rag doll would be good addition in rigify addon i think. And jiggle bone - to fake "softbody" kind of "stretching" / elasticity of movement (like litlte delay / bouncing - which can be kind of made with ik target and bouncing interpolation but its too fake - so some sort of physics / spring effect would be needed for bones.
Or maybe just spring/"jiggle" function to bones?
edit. oh. there is this wiggle bone already: youtu.be/gTdRGZA4TXA nice.
I don't know why such feature is not implemented yet... Physics in characters is so trivial. I'm trying to add physics to a mesh ponytail for days! Just with work arounds with no sucess at all. It seems the developers are more interested in grease pencil this days, than improve basic things that blender need... Such a shame!
So what you want is for the already existing Rigid Body Joint constraint to work for bones and not just objects, correct?
@Jason van Gumster: Exactly, although the bones themselves need to be able to be active rigid bodies too for that to work, which I'm 99% sure they can't do currently.
@quargzon: Correct. Right now, there's a workaround where you can use simple objects (stretched cubes, for example) with Rigid Body Joint constraints and then bind bones to those objects (like with empties and BVH motion capture data). The ideal case would be to avoid that work-around.
@Jason van Gumster: Ah, I think I tried that once a while back, but I remember having issues with the IK updating; the chain of rigid bodies followed by constraints caused the armature to update one frame late or something like that.
Speaking of which, it might be useful to have the option for bone physics to be enabled while posing, even when the animation isn't playing. That's something that definitely can't be done even with workarounds.