How to scale rigged model and animation data?

I am trying to scale a rigged model. I first import it to blender:

I select the model AND the armature, press S then type 0.03 then enter:

I press ctrl+A and apply all transforms:

As you can see, things get shifted down and the animation points are not on weird spots, this also breaks the animation completely. I go to the graph editor inside pose mode, select all animation data and filter it by location only:

I press S followed by Y followed by typing 0.03 and enter:

It's clearly broken beyond relief. How do you scale a rigged model such that both the model and the animation data are properly up to scale?

• pls provide blend file (simplified if possible) so we can check it out Jul 4 at 9:31
• How do I share the blend file? Stack overflow does not accept that file type? Jul 4 at 19:21
• How to add a blend file Jul 6 at 19:24

There are two ways to deal with this, one simple but incomplete and one complex but complete.

The simple way is to make the mesh child of the rig, then scale the rig in object mode. In this way everything will work as expected, but in a scale different than 111.

The complex but complete method is this:

• choose a precise value for scaling (i.e. 0.01, to reduce the proportions by 100).

• Scale the rig by 0.01 and apply the scale (Ctrl A)

• Scale the mesh by the same amount and apply the scale.

• Select the animation, go to graph editor, enble the view for all controls (even hidden ones), in the filter section, type in "Location" so to hide all rotation, scale and every property other than locations.

• Set the 2D cursor to frame 1 and value 0, set the 2D pivot point as 2D cursor, select all and scale all location animation data by 0.01.

If the rig is a simple FK only rig (like Mixamo) generally to scale location data of hip (master) bone is enough.

• Whenever I apply scale to the armature by doign ctrl + A and then selecting scale the model shifts down by 50 meters and all the animations break. THe same doesn;t happen with location or rotation. Jul 4 at 19:12
• It's because of the fact that you have to scale animation data too: if a character which is 2 meters tall is standing at 1 meter from the origin, when you scale the character by 0.01 it becomes like a 2 cm tall character standing in a location which is 100 times far as it should. When you scale animation data too, everything comes back in place as expected. Jul 5 at 9:15
• How do I scale the animation data? Jul 5 at 19:39
• It's written in my answer, points number 4 and 5. Jul 6 at 6:28
• I tried following the answer in the specified order, but I must have done something wrong. Jul 6 at 20:38

Try scaling them down, then applying the scale.

To apply the scale, select 1 object at a time (in Object Mode) and press Control + A to open the Apply Transforms menu. Choose Scale from the popup.

• I seem to run into the same issue when I read the data, the translation portion of the gltf nodes is still set t the original dimensions. Jul 4 at 2:25
• When i do that the model snaps 50 meters below ground level and the animations become broken. Jul 4 at 2:47