Easiest way to Bezier a projectile? (Using BodyMovers)

I am wondering if there is a easy and efficient way to Bezier a projectile (That’s not affected like gravity like this one: Modeling a projectile's motion)

the projectile used in this video above is from Elemental Battlegrounds
You might not see, but this projectile uses a fast Cubic Bezier, The way I want to achieve this, is to create a Bezier on a projectile that has a constant velocity (Cubic, Quadratic, Linear, e.c.t) like the video. (maybe using a BodyVelocity/BodyForce)

I Can’t provide any example code since I don’t do good with Bezier physics…

My main goal here is to do a Cubic Bezier Path Using BodyVelocity

Here is another video containing a Bezier projectile:

(Video by luna_chxn on Twitter)

EDIT:
I’ve tried to simulate a Cubic Bezier (Using TweenService, Unrecommended)
https://streamable.com/letj42

This is the Code I used, not recommended since its TweenService, i made this to simulate it a bit better.

local TweenService = game:GetService("TweenService")
local Time = 0.15

while true do
	TweenService:Create(script.Parent,TweenInfo.new(Time/2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{Velocity = Vector3.new(80,20,0)}):Play()
	wait(Time/2)
	TweenService:Create(script.Parent,TweenInfo.new(Time,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{Velocity = Vector3.new(-160,20,0)}):Play()
	wait(Time)
	TweenService:Create(script.Parent,TweenInfo.new(Time/2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false,0),{Velocity = Vector3.new(80,20,0)}):Play()
	wait(Time/2)
end

EDIT2:
I saw a similar topic to this one, except its more zigzag than smooth curves (Working with trails?)

2 Likes

Roblox has made a pretty good tutorial about it

2 Likes

I’ve seen this tutorial before, the Bezier they describe they use Lerp. so technically its not infinite like The Cubic Bezier projectiles, the lerp technique could be useful for Quadratic Beziers.

1 Like

I don’t think a projectile would extend to infinity in a game, just out of sight, You could just use that tutorial and if there is no target for the mouse, just specify a position far away in the direction of the mouse

2 Likes

I would prefer a velocity so it could have interaction with its surroundings

1 Like

If a bezier goes from 0 as start and 1 as 100 Techer is nothing stoping you from going to 2 and 3 and so on.