two forces opposite centerline creates slight rotation.

Hi All,

Modeling a ship pushed by two screws.
Each screw behind Ship at equal fixed distance from centerline of ship.
Ship has a fixedjoint for each Screw.
Screw has a script for AddRelativeForce in the z axis

The Ship slightly rotates around the Y axis over time.
The Ship sligthly increases in X axis over time.

Is it impossible to have equal forces off the centerline and parent to go straight due to calculation inaccuracies?

Do I just give up and use one force down the centerline. That does goes straigth with no y rotation.

Cheers,
Kevin

1094309--41117--$forcesCenterline.jpg

Interesting idea, the only thing I’ve seen that uses a thrust system similar to this is Kerbal Space Program (which is made in Unity :smile: )

It would probably be beneficial to make a script so you can adjust the amount of thrust provided by each, possibly by using a GUI slider to adjust it.
Basically, something like this:

-1 ––––––––– 0 ––––––––– +1
-1 is all thrust from the right (turn left), +1 is the opposite (turn right)

This way you could make minute tweaks to the thrust from each screw at runtime to make it stable turning left to right.
For the up/down glitch, I would recommend having a bit of script that rotates it back to 0 based on its current rotation.

  • Essentially, this:
transform.Rotate(-transform.rotation.x, 0, -transform.rotation.z);
//or
rigidbody.AddRelativeTorque(-transform.rotation.x, 0, -transform.rotation.z);

Quite a simple problem really. Let me know how this turns out! :smile: