Help me achieve this Movement System

https://twitter.com/i/status/1481238826018537474
Hello, please Take a look at the clip i sent ^
I want to achieve that kind of movement system and i have no idea how. i believe its made by using physics but im awful when it comes to physics…
he made it by using this equation


any help will be appreciated thanks

1 Like

what type of movement system are you talking about?

i am talking about this one, Couldn’t find something similar to this anywhere

anyone who’s experienced at this field…?

Hey there, you probably won’t find anything exact but at the best something similar.

Here are some points I see from the clip

  1. There is a custom state management system to add in dash and to also handle animations as well. walk → predash → dash → run → ground.

  2. It also looks like it has momentum when turning which means it has some kind of acceleration and not default humanoid movement.

I’ll just post these resources of custom character movement as they have elements of the above points.

the bhopping one is interesting as it does use a form of SUVAT in the acceleration function uses the equation v = u + at or otherwise known as explicit euler integration,

function Accelerate(wishDir, wishSpeed, accel)

	local currentspeed = playerVel:Dot(wishDir)
	local addSpeed = wishSpeed - currentspeed

	if addSpeed <= 0 then return end

-- at part of v = u + at, t is heartbeat wait, a is accel and wishspeed
	local accelSpeed = accel * RunService.Heartbeat:Wait() * wishSpeed

	if accelSpeed > addSpeed then

		accelSpeed = addSpeed

	end

-- v = u + at, accelspeed is calculated as at, u initial velocity is playerVel.X
	local x = playerVel.X + accelSpeed * wishDir.X
	local z = playerVel.Z + accelSpeed * wishDir.Z
	playerVel = Vector3.new(x, 0, z)

end
4 Likes

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