Hello.

I am trying to control a Rigidbody 0 gravity space ship with local thrusters for a full physics movement, I have read the docs and i seem to be doing everything right or so i think.

For my tests i have a cube for main body and 2 other cubes at the back “1 back left, 1 back right”
what i am trying to achieve is when i press A (left engine) the ship turns right with force from that engine locally, D (right engine) turns the ship left with force from the right engine locally, but for some reason both of my engines no matter where i put them force the ship to start spinning clockwise, Any ideas where i went wrong? Thanks.

``````#pragma strict
var leftEngine : GameObject;
var rightEngine : GameObject;
var currentPosition1 : Vector3;
var currentPosition2 : Vector3;
public var speed : float;

function Start ()
{
leftEngine = GameObject.Find("LeftEngine");
rightEngine = GameObject.Find("RightEngine");
}

function Update ()
{
if(Input.GetKey(KeyCode.A))
{
currentPosition1 = leftEngine.transform.localPosition;

}

if(Input.GetKey(KeyCode.D))
{
currentPosition2 = rightEngine.transform.localPosition;
}

}

Ship Structure:
-Hull
-leftEngine
-rightEngine

Design:
[ ]   -hull
[] []  -engines
``````

sometimes odd things will happen with unity and physics. I have been playing with a few lately myself.

Verify all of the basics. Make sure that all of your geometries are squared… as in, make scale 1x1x1 and rotation of 0,0,0 for all of your objects on the ship. Verify that the drags on all rigid-bodies are matching perfectly. Are you using any Wind or other physics things that might push or pull on your ship?

If your engine cubes are children of the parent cube, you should make sure they are in positioned on each other perfectly before you add them together and move them, or move them to position first then add them to parent. I have had funny business happen myself, especially with transforms in relation to their parents if I move one around from parent to child making changes along the way.