GEC1
Begriff · raum

Vektor

Drei Zahlen x, y, z. Sie beschreiben einen Punkt im Raum oder eine Richtung mit Länge, etwa eine Bewegung oder eine Kraft. In Unity heißt der Typ Vector3.

Kurz

Ein Vektor ist ein Bündel aus drei Zahlen: (x, y, z). Unity verwendet dafür den Typ Vector3; für 2D gibt es Vector2.

Derselbe Typ kann zweierlei bedeuten:

alsBeispielgelesen als
Punkttransform.positionhier steht etwas
Richtung mit LängeGeschwindigkeit, Kraft, Versatzso weit in diese Richtung

In Unity zeigt y nach oben. Vector3.up ist (0, 1, 0), Vector3.forward ist (0, 0, 1), Vector3.right ist (1, 0, 0).

Genauer

Drei Rechnungen reichen für das meiste:

  • Addieren: Punkt plus Versatz ergibt einen neuen Punkt. boden + new Vector3(0, 5, 0) liegt fünf Einheiten über dem Boden.
  • Subtrahieren: Ziel minus Start ergibt den Pfeil vom Start zum Ziel. Seine Länge ist der Abstand.
  • Mit einer Zahl malnehmen: Die Richtung bleibt, die Länge ändert sich.

Die Länge heißt magnitude. normalized liefert denselben Pfeil mit Länge 1: nur noch Richtung. Mit Tempo und deltaTime malgenommen, wird daraus eine Bewegung pro Sekunde:

Vector3 zumZiel = ziel.position - transform.position;   // Pfeil zum Ziel
float abstand = zumZiel.magnitude;                       // wie weit
transform.position += zumZiel.normalized * tempo * Time.deltaTime;

In Unity sehen

Position, Rotation und Scale in der Transform sind je drei Zahlen. Position und Scale sind Vector3. Die Rotation zeigt der Inspector als drei Winkel, intern speichert Unity sie anders (als Quaternion).

Weiterlesen