Simulating boat drag

i created a custom water system and a custom boat bouyancy system but cant figure out how to get the drag working correctly

the linear drag is fine but the angular drag isnt strong enough. i cant make it too strong because then the boat wont be able to turn and i cant make it too weak then the boat will spin out of control

local angularVelocity = -self.moverPart.AssemblyAngularVelocity * Vector3.yAxis
local angularDrag = 5
local angularDrag = (-angularVelocity * self.moverPart.AssemblyMass) * angularDrag
self.dragTorque.Torque = angularDrag

thats what im doing right now. no matter what i do, as soon as the boat starts to rotate it takes forever to stop it

1 Like

Try squaring the angular velocity and lowering the drag constant. In drag equations, the velocity is often squared.

its still taking a long time to stop spinning

local angularDrag = 50 -- no matter what i change this to the outcome is exactly the same
local angularVelocity = self.moverPart.AssemblyAngularVelocity * Vector3.yAxis
local angularDrag = (-(angularVelocity * angularVelocity) * self.moverPart.AssemblyMass) * angularDrag
self.dragTorque.Torque = angularDrag
1 Like