Submarine/vehicle tilts when descending

I’ve made a basic submarine and its almost done, but whenever you ascend/descend the front tilts up/down. I’ve tried alot of things to keep it upright but nothing seems to be working.
I think AngularVelocity or something similar would work but I cant find anything on how I would do this.

This is what happens when I descend, it tilts at the front

This is what I want to happen

this is the server-side code, the submarine moves using VectorForce

events.Descend1.OnServerEvent:Connect(function(plr, seat)
	seat.Parent.Center.VectorForce.Force = Vector3.new(seat.Parent.Center.VectorForce.Force.X, -300000, seat.Parent.Center.VectorForce.Force.Z)
end)

events.Ascend1.OnServerEvent:Connect(function(plr, seat)
	seat.Parent.Center.VectorForce.Force = Vector3.new(seat.Parent.Center.VectorForce.Force.X, 300000, seat.Parent.Center.VectorForce.Force.Z)
end)

Any ideas on how to fix this?

1 Like

This seems like the force is slightly ahead of the center of mass. As such a turning force is made. You could do one of 3 things: Try moving where the center is to change where the force is applied (I think there might be a option to apply force to the entire part/model, not sure if that is center of mass or center of parts), Make a second force to try and counteract the turning motion(effectively make a stabilizer), or use something else like a planar constraint or cylindrical constraint to keep the sub level and forgo the vector force.

2 Likes

Option 3 worked for me. Thanks!

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.