Scaling Animation Translation With Rig Size

I have a game where players can have R6 Characters of different sizes (80% size, 120% size, etc).

Animations created on a normal rig and then played on a smaller/larger rig work fine rotation wise, but if there is a Translation in the Animation (like moving a limb instead of rotating it), the animation doesn’t scale properly.

An example would be a walking animation. When a smaller character moves their leg forward, it moves farther relative to the rest of their body than a regular rig.

Making new animations for every Character Size simply isn’t ideal for me, as my game has so many animations.

Are there any solutions to this?

This seems to explain what my issue is, but it was also posted 4 years ago and I’m wondering if there was a solution created in that time.

2 Likes

If the rig you are using is R15, it might be possible to edit the scaling using BodyDepthScale, BodyHeightScale, BodyWidthScale, and HeadScale (NumberValues under the Humanoid). I’ve never done anything similar, but it’s worth a shot.

1 Like

My game has R6 Characters, not R15. My rigs also do not have Humanoids.

AFAIK, there’s no way to scale the translation of the animation in that case.

1 Like

This doesn’t seem like an issue Roblox is going to be willing to fix in a jiffy, so by far the only option seems to be to create your own animation system which WOULD scale offsets properly. Though that in itself may be more tedious than just making separate animations for character sizes, but that really depends on your volume of animations anyway.

I’ll try fixing this issue by playing KeyframeSequences instead of animations. This way, I can (hopefully) edit the offsets to account for size when animations are played.

There is a module that does this.

1 Like