3
$\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, 2022 at 9:31
  • $\begingroup$ How do I share the blend file? Stack overflow does not accept that file type? $\endgroup$
    – Makogan
    Jul 4, 2022 at 19:21
  • $\begingroup$ How to add a blend file $\endgroup$ Jul 6, 2022 at 19:24

2 Answers 2

6
+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).

  • Check that the mesh is child of the rig in object mode (if not, set the parenting).

  • Scale the rig by 0.01 in obj mode

  • Apply the armature modifier to the mesh then apply its scale.

  • Apply the Scale of the rig

  • 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 on Y axis only by 0.01 (press S, Y, 0.01, Enter).

  • Add a new armature modifier to the model, targeting the rig

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .