2
$\begingroup$

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

enter image description here

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

enter image description here

I press ctrl+A and apply all transforms: enter image description here enter image description here

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:

enter image description here

I press S followed by Y followed by typing 0.03 and enter: enter image description here

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?

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

2 Answers 2

2
+50
$\begingroup$

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.

$\endgroup$
7
  • $\begingroup$ 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. $\endgroup$
    – Makogan
    Jul 4 at 19:12
  • $\begingroup$ 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. $\endgroup$ Jul 5 at 9:15
  • $\begingroup$ How do I scale the animation data? $\endgroup$
    – Makogan
    Jul 5 at 19:39
  • $\begingroup$ It's written in my answer, points number 4 and 5. $\endgroup$ Jul 6 at 6:28
  • $\begingroup$ I tried following the answer in the specified order, but I must have done something wrong. $\endgroup$
    – Makogan
    Jul 6 at 20:38
3
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ 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. $\endgroup$
    – Makogan
    Jul 4 at 2:25
  • $\begingroup$ When i do that the model snaps 50 meters below ground level and the animations become broken. $\endgroup$
    – Makogan
    Jul 4 at 2:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.