Maybe a strange question: I have some generic skeleton animations for a human, with typical connected bone relations. This is for usage in a game engine.

However, I started thinking about bone scaling, and thought it might be interesting to do in order to make characters with thinner/thicker limbs for variation. So I looked into this, and apparently if I want the bones to scale correctly, they all need to be de-parented from each other (or else the scale factors propagate strangely).

The issue is that it seems like because I used a connected skeleton previously, now when I play the animations, the bones' heads are all stationary, just rotating around their singular points. As an example, the wrist bone will always be where it was in the bind pose, and just rotate, vs following the arm swing in a run cycle.

Is there some way to disconnect all the rig bones while also applying their correct positions to animations? Or is this the kinda thing where if I wanted to do it, I'd need to jam up a python script for it? There's always the option of de-parenting them from the get-go and making animations like that too, but I'd rather not have to manually keep limb lengths/positions consistent manually in animations.

  • $\begingroup$ I would do a retargeting system, where you add copy transforms constrains on each bone, unparent them (or parent them to a root bone if you have one), then import the anim and bake with constraints clearing. basically an adaptation of this answer (which has a script that does a similar thing) $\endgroup$
    – L0Lock
    Sep 22 at 6:21
  • $\begingroup$ That helps a lot, thanks. I checked out their constraints solution with the script, and was able to get it to work, though it's still a bit tedious to bake each action individually, but it gives me a good starting spot for modifying the script to automate it a bit more. $\endgroup$
    – Ako
    Sep 23 at 4:44


You must log in to answer this question.

Browse other questions tagged .