How do i make an air dash

i want to recreate something similar to this, not exactly like this
i know it is just an animation but how do i make the guy move forward

it is not a bodyvelocity/linear velocity
it is not affected by the player velocity
it is a constant speed
it is affected by gravity
it cannot go through walls

how do i make this

1 Like

why can it not use a linear velocity?? You can apply an Impulse

1 Like

Pretty sure this is using linear velocity, my guess is that it is using a formula involving anti gravity & lookvector velocity.

To get the anti gravity, require all the mass of the player and multiply that with the workspace gravity.

Because the player gains attitude for a few short moments, simply add another variable that starts at 1.1 that is used as a multiplier in the formula. After that, simply make a function that basically equates to; the more air time you accumulate the more this value is tweened down.

Here’s an example of what that would look like:

local Player = game:GetService("Players").LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()

local function GetMass(x)
	local Mass = 0
	for _, v in ipairs(x:GetDescendants()) do
		if v:IsA("BasePart") then
			Mass += v:GetMass()
		end
	end
	return Mass
end

local SUNG_JINWOO = 1.1 β€” tween this to a lower value according to accumulated air time
local LOOKVECTOR_PSEUDO = 1 β€” lookvector equation goes heres

β€” use this in your air dash func /w linear velocity
(GetMass(Character) * workspace.Gravity) * SUNG_JINWOO * LOOKVECTOR_PSEUDO

(Hope you can understand the explanation)

1 Like