Unity 3d mensch laufen lassen?
Hi ich programmiere grade ein spiel und hab gestern die Map fertig erstellt. Jetzt will ich mich an das Programmieren des Characters ransetzen.Ich weiß aber nicht wie der code lautet das die kamera immer über dem spieler ist und das man mit ,,W,A,S,D,, laufen kann.kann mir da jemand helfen?
lg Tilosbasdost
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
In ein Skript für die Figur (nicht die Kamera)
und wo muss ich das einfügen?