I cant seem to get the planar attachments to keep the boat level with the horizon, but just looking at it, it appears that the vector force does not rotate with the angular velocity. I.e. the vector force does not depend upon the rotation of the craft.
If you accelerate after turning, do you then go in the direction that you turned? Or do you go faster in the original direction?
If true then everything is working as intended (according to my recreation of this). But It does seem you need a force to push you in the direction you turn in order to simulate turning on a real boat. How this works using linear velocities is that you turn the velocity, and then your craft goes in the direction the velocity is facing.
Since you are using forces, an object in motion will stay in motion unless acted upon by a different force. In your case you need to add a force to accelerate you until you go into the direction that you turned, How strong, long, and the direction in which the force will go is complicated.
I think it will be easier to use linear velocity in your case, but it depends on what you really want.
Yes, if you accelerate after turning, you will then begin to go in the new direction. I switched to a LinearVelocity force and am experiencing the same issue. I prefer to have the boat go in the direction you are looking/steering towards. I assumed I am messing up the math?
Honestly I just want a simple boat system. Should I not use forces and maybe just use the “AssemblyLinearVelocity/ApplyImpulse” features of the part instead?
Hmm, Using assemblyLinearVelocity will work if you use some hunky-dory speed multiplied by the direction of travel thing. Which Is possible, if strange. I am not so sure why the velocity did not work, Did you make sure that the Direction of velocity changed when you turned? It might be worth it to first get the direction of travel in a unit vector. You might be able to get that through the orientation of the base part.
I am not so experienced in vehicles and constraints, But you should be able to just have a speed value that changes in response to your input and then multiply that by your unit vector, then set that to the assemblylinearvelocity, or any velocity for that matter, if they work the same.
AngularVelocity has a “RelativeTo” property which if not set carefully might be causing the boat to rotate incorrectly. The AlignOrientation might also be causing problems so try disabling it and see if the boat rotates correctly