3.I looked for solutions in the developer hub and seem to find none. Here is a snippet of the code that moves my boat, I don’t think this is the problem tho, I have to add something else to strengthen its anchor to the ground without making it buggy or flinged.
game:GetService("RunService").Heartbeat:Connect(function()
if throttledir==1 then
middlepoint.AssemblyLinearVelocity = Vector3.new(script.Parent.CFrame.LookVector.Unit.X*(30 + (lockspeed.Value*0.4)), 0--[[try to make it anchored to the ground going negative makes it more buggy]], script.Parent.CFrame.LookVector.Unit.Z*(30 + (lockspeed.Value*0.4)))
elseif throttledir==-1 then
middlepoint.AssemblyLinearVelocity = script.Parent.CFrame.LookVector.Unit*(-40)
end
I think the issue is that you are trying to move it with AssemblyLinearVelocity, but you don’t have an AlignOrientation | Roblox Creator Documentation in it (the replacement of BodyGyro).
Think of it like this: Throw a block of wood in a straight line with a certain force, with the block flying level with no rotation. Works great, right?
Now throw it at a wall with the same previous factors. It’ll spin like crazy after it hits the wall.
If you put an AlignOrientation in it with the properties set correctly it’ll dampen the flinging forces.
I built a boat that works on Terrain Water using just a VehicleSeat, a VectorForce for thrust, and a TorqueConstraint for steering.
On the second throttle, you do not set the y velocity to 0, so depending on the Look Vector, it may also fly off. Just a random note if his solution doesn’t work.