Adding curve to ball flight.

I am trying to add curve to a ball when I player kicks it. At the moment when the ball is kicked I set it’s velocity using Set Physics Linear Velocity. Then on the tick I have a drag system the slows it down by simply multiplying the current velocity by a value between 0 - 1. This all works fine.

Now I want the ability to add curve to the ball while in flight. I’ve tried to do this by adding to the current x and y velocities over time, this does curve the ball but now the drag doesn’t work, the ball speeds up instead.

How can I change the direction of the ball without speeding it up?

Curl system:

Add a curl force just like you do now, but make sure the curl force is hitting perpendicularly, with no addidtional force from behind or front.
You can do it with GetRightVector node (or Left, or Up, or Down), then multiplying it by desired force strenght.
You’d probably want to make sure this strenght is changing with time, so that it stops curving the ball at some point.

Hey. Thank you for the reply.
Would you be able to explain how I would then plug the new right vector back into the current velocity?

Instead of “set” you can go with “add force”. This is an easier aproach with physics in general, because the physics engine will do all the hard math for you.
i.e if after the kick you’ll start to add some small force from the right side in every tick, the ball will slowly start heading left.

Ok great I will give it a try. Thanks :slight_smile: