Gif for visualization:
There’s not much to say. I’m adding a VectorForce to the character’s HumanoidRootPart when the roll button is pressed via client and let the engine do the work:
if Input.KeyCode == Enum.KeyCode.C then
local force = VectorForce:Clone()
force.Force = Vector3.new(0,0,-19000)
force.Parent = CharacterHRP
The issue might be that when rolling on the flat baseplate, there’s more friction because there’s more ground to cover. But then, how does one create a functional rolling script using the physics without wonky effects like this? Or atleast, how does one fix this particular flinging behaviour?