BodyForce and VectorForce acting oddly?

local function onSpawnClick(player)
	local newBall = ball:Clone()
	newBall.Position = VolleyballSpawner.TestVolleyball.Position + Vector3.new(0, 10, 0)
	
	local BodyForce = Instance.new("BodyForce")
	
	local function newPhysics()
		newBall.BodyForce.Force = newBall.Position + Vector3.new(0, newBall:GetMass() * workspace.Gravity / 1.09, 0)
	end
	
	RunService.Stepped:Connect(newPhysics)
	
	BodyForce.Parent = newBall
	newBall.Parent = workspace
end

I am trying to make a ball that has a low gravity effect to it. However, as you can see in the video clip, the ball gravitates towards a direction as well rather than only affecting the Y vector. Is this an error on my part?

Thank you for the help!

pretty sure its because the ball is rotating, try adding a body gyro and forcing it into static rotation

Do not set force to the object’s position.

Force is something that will act on how an object moves globally and it does not make sense to set the force equal to the ball’s position+force.

You also don’t need to set the force continually. The BodyForce object will continue to apply the force over time.

2 Likes