How would I create a curve with a ball similar to this?

I’m trying to create a curve with a ball with some sort of similar effect to this;


Currently what I’m doing to create a curve with this effect is to instance a bodyvelocity into the ball which will originally apply a force to the ball and then I subtracts or add a number to it depending on which way the player wants to curve the ball. Here is the code;

BodyVelocity = Instance.new("BodyVelocity")
BodyVelocity.MaxForce = Vector3.new(50000,50000,50000)
BodyVelocity.Velocity = MouseLookVector * 77
BodyVelocity.Parent = Football	
game:GetService("Debris"):AddItem(BodyVelocity,0.4)

for i = 1,10 do
	BodyVelocity.Velocity = BodyVelocity.Velocity - Vector3.new(0,0,5)
	task.wait(0.05)
end

With the system I’m currently using there will be times where the balls curves perfectly like in the ball depending on where the character is facing and there will be times where the ball doesn’t curve at all and instead the ball will gain more power. There some sort of equation to perform a perfect curve with a ball using a bodymover but I’m not quite sure how to go about creating it.

Perhaps you want to look into Bézier Curves?

It’s possible with body velocity, but would take a huge amount of calculations which wouldn’t be ideal for the effect it will give of. It will mainly give of a robotic feel instead of a more realistic ball curve which I’m trying to go for. I doubt the example I’ve shown used Bézier curve.