Unity 3d mensch laufen lassen?

1 Antwort

Moin,

"über" dem Spieler? Also eine Draufsicht? Soll sich die Kamera drehen können?

Generell kannst du einfach die Kamera als Unterobjekt des Charakters definieren - wenn du dann den Charakter bewegst, bewegt sich die Kamera mit, da sie am Charakter direkt dranhängt.

Eine WASD-Steuerung kannst du einfach machen, indem du den Spieler so bewegst:

private void Update() {
         Rigidbody rb = GetComponent<Rigidbody>();
         if (Input.GetKey(KeyCode.A))
             rb.AddForce(Vector3.left);
         if (Input.GetKey(KeyCode.D))
             rb.AddForce(Vector3.right);
         if (Input.GetKey(KeyCode.W))
             rb.AddForce(Vector3.up);
         if (Input.GetKey(KeyCode.S))
             rb.AddForce(Vector3.down);
 
     }

Alternativ kannst du auch einfach Input.GetAxis("") benutzen und die Richtung abfragen (Horizontal, 1 = Vorwärts, 0 = Nichts, -1 = Rückwärts (Bei Vertical ebenso von links nach rechts)).

Nicht vergessen, dem Körper auch ein Rigidbody Component anzufügen.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting