There’s an issue in my game that needs solving. Players can change their velocity on a dime due to how Roblox humanoids work. Basically, I need a way for Roblox characters to have more “weight” in their movements so they can’t just be going full speed, turn 180 degrees, and almost instantly be going full speed again. Does anyone have a solution for this?
Just thinking it through, not tested the following;
Take initial velocity (The following may/may not be needed if the initial velocity is 0)
Make a check every time the player changes their intended velocity
If the player has changed their intended velocity, work out the angle of that change
If the angle is larger than 45-60* (Could be any number you prefer), reduce the maximum velocity. (Or walkspeed, if the RootPart has a velocity greater than what you’d want, reduce it within this method.)
Lerp the velocity/walkspeed, over a second or two back to its initial cap.
This would still mean that the player stops on a dime, however they would no longer be able to 180 at the same speed. I think I saw something that makes the player skid slightly in Polyhex’s adventure labs, might be worth looking into it.