Character flinging due to high speed collision

  1. What do you want to achieve?
    I wan’t for the character to be able to run into any surface without any physical change, except for the character stopping. You know what I mean, no flinging basically.

  2. What is the issue?
    The issue is that when I run into a wall, due to the high speed I tend to get flung or fall over.
    Here is a link to the video of what I mean:
    Watch The Flash - Roblox Studio 2024-12-12 01-20-10 | Streamable

  3. What solutions have you tried so far?
    Did you look for solutions on the Developer Hub?
    I’ve looked on google, dev hub, even chatgpt for help. Yet, I can’t find anything. Any help would be appreciated, thanks

2 Likes

Try checking the velocity of the character, and if too high, then make it 0. Here is an example script, and you can change magnitude to whatever you need

        local hum = char:WaitForChild("Humanoid")
		local rootpart = char:FindFirstChild("HumanoidRootPart")
		
		if rootpart then
			if rootpart.RotVelocity.magnitude >= magnitude or rootpart.Velocity.magnitude >= magnitude then
				rootpart.RotVelocity = Vector3.new(0,0,0)
				rootpart.Velocity = Vector3.new(0,0,0)
			end
		else
			print("not found")
		end

and use renderstepped or some while true do function to continually check for this.

1 Like

Maybe the game of this guy are “Highest Speed”, and need to “remove” that reaction from collision.

Hey bub (wolverine refence), I found a method that solves that problem.

Set each part (except HRP) to CanCollide = false, then create a collider with a part (with the same character size), and weld it to HRP, and that decrease the problem (My english is so bad lol).

Without Collider:

With Collider:

2 Likes