Inertia movement system

I want to make a movement system based on other FPS titles like CS:GO or Escape from Tarkov where the player has inertia and won’t instantly stop moving when the key is released.

The issue is just I don’t know how to go at doing this so if anyone has a decent idea or concept on it any help would be appreciated

I’ve looked for posts on here but none of them really seemed to be what I was looking for.

3 Likes

Have you seen this post?

It takes the open-source movement code from Quake and adapted into Roblox.

1 Like

what I like to do is change the default character to a model with a invisible ball and nothing else

then in a localscript i load the character model without a humanoid but a AnimationController | Documentation - Roblox Creator Hub and i position the character model to the same position as the invisible ball and if the ball is moving i play the run animation

in a different localscript i control the ball using

local controlModule = require(game.Players.LocalPlayer.PlayerScripts.PlayerModule.ControlModule)

while true do
    local moveVector = controlModule:GetMoveVector()
    print(moveVector)
    task.wait(1)
end

there are many ways you can control the ball depending on how you want the character to feel
but 1 way it to lock the rotation using a AlignOrientation | Documentation - Roblox Creator Hub and then adjust the balls friction to adjust how much you want the ball to slide then you can use VectorForce | Documentation - Roblox Creator Hub or LinearVelocity | Documentation - Roblox Creator Hub

if your using VectorForce | Documentation - Roblox Creator Hub you will also want to do drag physics this video here can help teach you how to do drag

2 Likes

This is exactly what I tried doing lol, but I couldn’t get it to work. For me, I was trying to get the movement of crab game, but I couldn’t replicate the way you slide on slopes


Is this possible or not?

Yes its possible

Maybe take a look at

It might do what you want