Unity klicke rechts, bewegt sich geradeaus, Axe richtig setzen?
Hallo,
ich spiele gerade bisschen mit Unity rum. Ich hab ein Tutorial verfolgt und folgenden Code geschrieben um ein Space Shooter zu bauen. Bin noch ein Anfänger und experementiere nur rum.
public float moveSpeed;
// Update is called once per frame
void Update()
Movement();
void Movement()
Vector3 movement = Vector3.right * Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
transform.Translate(movement);
Das Objekt / Raumschiff wurde in Unity selbst zusammengebastelt.
Von der Global Ansicht her schaut das Raumschiff Richtung Z Achse
von der Local Ansicht her schaut das Raumschiff Richtung X Achse.
Wie schaffe ich es jetzt, dass das Raumschiff auch nach rechts bewegt, wenn ich rechts klicke. Es fliegt bei mir dann nach vorn XD
1 Antwort
Probier den Spaß mal, hab aber keine Ahnung ob's funktioniert, hab Unity seit nem Jahr nicht mehr benutzt:
public float moveSpeed;
void Update()
{
Movement();
}
void Movement()
{
Vector3 movement = transform.right * Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
transform.Translate(movement);
}
Also das Raumschiff wird in der Regel immer in der lokalen Koordinatensystem bewegt. Das kann man eben mit transform.right machen. Die Annahme, dass das Raumschiff falsch herum ist, ist durchaus möglich, ein dirty fix wäre einfach statt transform.right transform.left zu verwenden. Alternativ könntest du den ganzen Spaß auch auf den passenden Achsen um -1 skalieren
transform.localScale += new Vector3(-transform.localScale.x, -transform.localScale.y, transform.localScale.z);
Ja hab das Raumschiff falsch gebaut, hab ein neues gebaut und dann hats mit den Achsen gepasst
Hallo, wenn ich jetzt links tippe fliegt es nach rechts und rechts tippe fliegt es nach links. Immerhin die richtige Axe. Ich frage mich nur, warum das im Tutorial bei ihm funktioniert mit Vector3.right und bei mir das Vorwärts fliegt. Kann es sein, das ich das Flugzeug versehentlich quer gebaut habe, also quasi dass die Vordere Achse die Seite des Flugzeugs ist? Wie finde ich das heraus. Liebe Grüße