I want to construct a motorboat with an outboard motor in top down view. The player can control the direction of the motor and thrust. Obviously the direction of the motor rotates together with the boat.
Now I configured physics behaviour for both boat and motor and added a revolute joint between them. I also have events to rotate the motor toward Boat.Angle()±45 degrees when the player presses a key while it returns to Boat.Angle() when no key is pressed. I also configured a max. joint angle of ±90 degrees.
Interestingly when the boat starts rotating and the player releases the keys I can see the motor takes ages to return to the boat angle. It seems to rotate back at 30 degrees/second as configured, but that is absolute and not relative to the boat. If the boat rotates faster, it looks like the motor starts spinning (talking about direction, not thrust) and thus disregarding the min/max angles I configured on the joint.
What is going wrong, and how could I fix it? How could I set the rotation speed for the motor relative to the boat’s rotation speed?