Vektoren addieren
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 17 von 67.
Ein Vector3 kann in einer Variable gespeichert werden, und zwei davon werden mit + addiert: x wird zu x addiert, y zu y und z zu z. So verbinden sich zwei Schübe zu einer Bewegung. Dieser Wasserball rollt mit 2 Einheiten pro Sekunde vorwärts, während ihn der Wind mit 1 Einheit pro Sekunde nach rechts bläst:
Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);
void Update()
{
Vector3 move = roll + wind; // (1, 0, 2)
transform.position += move * Time.deltaTime;
}Multipliziert man einen Vektor mit einer Zahl, wird jeder seiner Bestandteile multipliziert: wind * 3 ist (3, 0, 0), ein Sturm, und move * Time.deltaTime wandelt eine Bewegung pro Sekunde in die Bewegung für diesen Frame um. Auch die Subtraktion funktioniert komponentenweise, und a - b ist der Schritt, der von Punkt b zu Punkt a führt. Zwischen zwei Vektoren gibt es kein *: roll * wind lässt sich nicht kompilieren.
Aufgabe
EinfachDie current eines Flusses trägt das Boot immer mit sich. Solange die Pfeiltaste nach oben gedrückt wird, schiebt auch der motor das Boot zusätzlich zur Strömung an. Beide Bewegungen werden in Einheiten pro Sekunde angegeben und im Inspector festgelegt: Die Strömung beträgt (1, 0, 0) und der Motor (0, 0, 3).
Drücke auf Play und überquere den Fluss mit der Pfeiltaste nach oben. Drücke anschließend auf Check.
Probier es selbst
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// Die Strömung treibt das Boot immer an.
// Solange die Pfeiltaste nach oben gedrückt wird, schiebt auch der Motor das Boot an.
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen des Scripting in Unity
1Dein erstes Skript
Hallo, UnityPlatziere den WürfelBewege dich in jedem FrameDrehe dich jede SekundeSteuere mit den TastenRückblick: Steuere den Würfel4Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist ein StructRückblick: Drohnenpilot7Projekt: Fang den Stern
Der FängerEin fallender Stern10Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle Logger5Transformationen und Hierarchie
Eltern und KinderSkalierungDinge ansehenAuf einen Punkt zubewegenRückblick: Umlaufender Mond8Dinge finden
Nach Namen findenTagsNach Typ findenReferenzen schlagen FindUnitys NullRückblick: Nächste Münze11Projekt: Weiche den Blöcken aus
Der LäuferFallende Blöcke6GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter