Scaled my character -- is there an easy way to scale the bone positions in all the actions?

I scaled my mesh and rig, but the animations are off because they’re using IK targets, so arms and legs don’t extend as far as they should. Is there an easy way to scale the IK bone positions on all animations? I’m using a modified rigify rig.

Side note, in case anybody needs it, I did run this python script to fix all the funky stretch goals after scaling:

import bpy

for b in bpy.context.selected_pose_bones:
    for c in b.constraints: 
        if == "Stretch To":
            c.rest_length = 0

Depends. Is it an “in-place” animation? Like a walk-in-place or something? You can just scale the location (only) keyframes, in the graph editor, about the 0 point.

1 Like

Yeah, in-place animations for a game. The attacks and stuff look a bit scrunched, since I scaled the character up. Scaling the location keyframes in the graph is a good idea. I was kind of hoping for a quick way to fix ALL the actions (lots of short animations), but that’ll get it done.

If you have a ton of animations, and not a lot of loc-bones, you could do it with drivers-- duplicate armature, give the move bones drivers targeting the move bones in the old armature, make the drivers something like oldarm.bone.pos.X * scalar. An export function might read the driven values, not sure. I’d make the scalar dependent on the position of some empty, so that I could tweak the exact value to eye.

1 Like

Thanks for the suggestion! I think I’ll just go with scaling the graph, as I’d prefer not to add unnecessary complexities to the rig.