Calling ScaleTo() on a moving humanoid character causes unexpected exponential velocity increase

When calling ScaleTo() on a model, the “physical velocities” are scaled proportionally with everything else. It seems like this behavior breaks for moving humanoids, however, with the character’s velocity increasing significantly more than expected.

Untitled

On a humanoid character moving with walkspeed 16, the velocity magnitude should be around 32 when 2x scaling is performed. It actually ends up at around 4 million in practice, as shown here.

ScaleToHumanoidRepro.rbxl (53.1 KB)
This repro prints your walkspeed and velocity magnitude every frame, and cycles your scale every few seconds. Your character is anchored when rescaling to prevent you from being launched off the baseplate.

Expected behavior

When the character finishes scaling, their velocity magnitude should be WalkSpeed * Scale if they’re walking on the ground at full speed.

11 Likes

Oops, I figured out what went wrong here and will ship a fix.

What ScaleTo does right now works right for anchored stuff like conveyors but looks like it breaks down for assemblies with a lot of moving parts in them like characters.

4 Likes

I got a full fix in for this but it’s going to be a couple weeks before it gets onto production.

With the fix running a tight loop of while task.wait() do character:ScaleTo(x) end should work as expected (though note, if you do that on the server it comes with other perils due to creating a ton of network traffic).

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

Hey! I noticed this topic was re-opened. It’s been a few weeks now and it looks like the bug is still happening, despite the release notes for 598 saying a fix is live.

Sorry for the long delay, the fix for this should finally be enabled as of yesterday. Let me know if it works for you.

1 Like

It looks like everything works now. Thank you!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.