2016-09-23 8 views
0

so bin ich brandneu zu Unity, Installed Unity gestern und will ein einfaches Spiel zu machen, um mich selbst zu starten ... So versuche ich, einen 3D-Würfel durch Drehen während des up zu bekommen und runter bewegt den Würfel.Unity 3D 360 Drehen SpaceShip

Ich fand heraus, was ich tat, nach einem 2D-Tutorial online, aber es scheint, als ob es nie in 3D als mein Würfel gearbeitet hat, anstatt sich zu drehen, entweder versucht zu kippen oder nicht zu bewegen (die Zy und X ändern die Drehung)

Hier ist mein Code, jede Hilfe würde geschätzt werden oder Richtungen zu einem guten Tutorial für das, was ich bin, wäre brilliant!

public class Movement : MonoBehaviour { 

float maxSpeed = 4f; 
float rotSpeed = 180f; 
void Start() { 

} 


void Update() { 

    //ROTATE SHIP 
    Quaternion rot = transform.rotation; 
    float x = rot.eulerAngles.x; 
    x += Input.GetAxis ("Horizontal") * rotSpeed * Time.deltaTime; 
    rot = Quaternion.Euler (0, 0, x); 
    transform.rotation = rot; 

    //MOVE SHIP 
    Vector3 pos = transform.position; 
    pos.z += Input.GetAxis ("Vertical") * maxSpeed * Time.deltaTime; 
    transform.position = pos; 
} 
} 

Antwort

4

Änderung dieser Zeile:

rot = Quaternion.Euler (0, 0, x); 

zu dieser Zeile:

rot = Quaternion.Euler (x, 0, 0); 

Sie wurden original x zu nehmen und sie zurück, als z zuzuweisen;

+0

Vielen Dank! Mann, ich sehe doof haha ​​so einfach! Wertschätze das! –

+0

Es macht mich 10 Minuten warten, um eine Antwort zu akzeptieren, zweite Frage, die vorwärts und rückwärts folgen nicht der Rotation, wie kann ich dies zur Arbeit bekommen? –

+0

@LawrenceWilliamTrigg stellen Sie eine neue Frage dazu. Aber Sie können dies einfach mit 'transform.Translate' erreichen. Es ist schwer im Kommentar dafür zu antworten. –