Issues working with BodyPosition?

I’m having some issues when it comes to the BodyPosition for my Warp.
As seen below, sometimes it works. Other times it doesn’t.

I can’t seem to pin-point the cause.

script:WaitForChild("WarpEvent").OnServerEvent:Connect(function(Player, Destination)
		local SetPos = Vector3.new(Destination.Position.X, System.Main["Exterior"]["Base"].Position.Y, Destination.Position.Z)
		
		Configuration["CurrentStatus"].Value = "isWarping"
	wait(.5)
		BodyMovers["BodyGyro"].CFrame = CFrame.new(System.Main["Exterior"]["Base"].CFrame.p, SetPos)
	wait(.5)
		BodyMovers.BodyPosition.Position = System.Main["Exterior"]["Base"].Position
		BodyMovers.BodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
		
		Tween(BodyMovers.BodyPosition, .01, Enum.EasingStyle.Linear, {Position = SetPos})
	end)

https://gyazo.com/6c84116c1dc8f45f124cd3f6f720a7a6

https://gyazo.com/c0a0e170c63f73a8ce14c6164189cf88

2 Likes

Does the problem persist if all the parts of your ship have CanCollide turned off?
May or may not even be related, but also maybe try setting their Massless property to true

Just some things to try. :slight_smile:

1 Like

There could be some kind of negative reaction going on between the tween and the bodyforce. The built in way to make a bodyforce accelerate is to lower the maxforce, which might sit better with the bodyforce.

3 Likes

The issue turned out to be the force of the BodyVelocity [That I failed to mention.] and the BodyPosition itself; both trying to work simultaneously.

Fixed this by simply changing the Velocitys MaxForce to (0, 0, 0) during the duration of the Warp.