I want to know what the best way is to make the character follow this sort of (but not limited to) arch into the air and then only stopping the move once he reaches the ground. Like is it done with Velocity somehow? Is it done through animations?
They play an animation for the move, but then a velocity handles the movement
It looks like the y velocity follows an arch and then level off at negative velocity, and the xz velocity follows the player camera’s lookvector and levels off around 0
-- assume time is the amount of time in seconds after the move has activated
local function move()
-- play animation
-- makes a parabolic trajectory on y axis where -10 is the terminal velocity
local velocityY = math.max(-10, 3 - gravity * time)
-- moves fast at first and then slow, stopping at 0 speed
local horizontalSpeed = math.max(0, 3 - time)
-- move in the direction of where player looks
local xzVelocity = Vector3.new(camera.LookVector.X, 0, camera.LookVector.Z) * horizontalSpeed
-- total movement of character
local velocity = horizontalVector + Vector3.new(0, velocityY, 0)
-- then assign velocity to some velocity object in the character
end
And this is done once? Or do you call this every frame or something
you update the velocity every frame and just play the animation once