I wanna make an animation of a skeleton breaking apart and falling to the ground. I have to use an existing armature because I wanna export the animation for Unity’s Humanoid rig. Is it possible? I’ve been searching for an answer for quite a while.
Say Bone2 is parented but not connected to Bone 1. I “child of” constrain them to rigid cubes. The cubes fall, and Bone 1 is obviously copying its cube, but Bone 2 isn’t behaving the way I want (its not only being affected by the cube, but by Bone 1 as well).
As a “workaround”, I’d even manually animate the bones falling, except it’s going to be very difficult since they’re all parented to each other and no way to independently move them. Or is there?
Child-of acts after parenting, so what its parent does still affects it. You want to Copy Transforms from something instead.
That’s a great suggestion and allows me to manually animate the bones falling independently of each other. I can simply Copy transform them each to a cube of their own (although creating and placing cubes is a bit tiresome… they also weirdly have to have -90 degree rotation to align properly with the bone… but whatever), then animate the cubes, then Bake action (with Clear constraints and Visual keying checked) on the bones.
Even though I was able to create a Rigid body sim of an exploding skeleton with this method - WHILE keeping all my bones’ proper parenting to each other - I was unable to make Unity humanoid rig understand this animation. (generic works just fine) I guess Humanoid just doesn’t understand when bones become that far apart from each other.
Yeah, a lot of it would be easier scripted. I would expect there to be some addons somewhere that would do it.
If you don’t want to place by eye, you could always use a copy transforms going the other way (object copies bones transform), apply visual transform, clear object constraints.
It’s pretty easy to do world->world copy transforms constraints, since those are the defaults. I get a lot of use out of shift-ctrl-c hotkey, which constrains actively selected to selected. It’s something I’m comfortable enough with that making a copy transforms constraint is easy. (If working with objects + armatures, disabling “lock object modes” in main menu is worthwhile.)
Blender makes bones’ tails be their Y axis. So the default bone is Y up instead of Z up.
I was able to create a setup where I can run a rigid body sim on the bones (using the above method) while keeping the bone hierarchy:
Now struggling with making Unity understand it properly.