Unity klicke rechts, bewegt sich geradeaus, Axe richtig setzen?

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);
}
Woher ich das weiß:eigene Erfahrung – Ich habe schon mal einen PC gestartet

1kn0wit 
Beitragsersteller
 12.06.2024, 23:49

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

Ilovelego  13.06.2024, 08:50
@1kn0wit

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);
1kn0wit 
Beitragsersteller
 13.06.2024, 19:10
@Ilovelego

Ja hab das Raumschiff falsch gebaut, hab ein neues gebaut und dann hats mit den Achsen gepasst

1kn0wit 
Beitragsersteller
 12.06.2024, 11:32

Ich probiere es heute abend aus