Richtungen
Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 25 von 85.
Unity hat Namen für die sechs Richtungen, die jeweils eine Einheit lang sind:
Vector3.right(1, 0, 0) undVector3.left(-1, 0, 0)Vector3.up(0, 1, 0) undVector3.down(0, -1, 0)Vector3.forward(0, 0, 1) undVector3.back(0, 0, -1)
Es gibt außerdem Vector3.zero (0, 0, 0) und Vector3.one (1, 1, 1). Da jede Richtung eine Einheit lang ist, entspricht eine Richtung multipliziert mit einer Geschwindigkeit einer Bewegung genau um diese Geschwindigkeit. Diese Schnecke kriecht mit 0.5 Einheiten pro Sekunde von der Kamera weg:
public float speed = 0.5f;
void Update()
{
transform.position += Vector3.forward * speed * Time.deltaTime;
}Das ist dieselbe Bewegung wie new Vector3(0, 0, speed * Time.deltaTime), aber die Richtung ist leichter zu lesen und man verwechselt die Achse weniger leicht. Ein Minuszeichen kehrt eine Richtung um: -Vector3.forward ist Vector3.back. Diese Richtungen gehören zur Welt, nicht zum Objekt: Vector3.forward bezeichnet die z-Achse der Welt, auch wenn die Schnecke umgedreht ist. In der nächsten Lektion bewegen sich Objekte in die Richtung, in die sie zeigen.
Aufgabe
EinfachSteuere den Haken des Krans mit den vier Pfeiltasten und verwende dabei die benannten Richtungen von Unity.
- Schreibe in
Update()für jede Pfeiltaste eineif-Anweisung mitInput.GetKey. - Jede addiert ihre Richtung multipliziert mit
speed * Time.deltaTime:Vector3.right,Vector3.left,Vector3.upoderVector3.down, wie intransform.position += Vector3.up * speed * Time.deltaTime;.
Drücke auf „Spielen“ und steuere den Haken: Er gleitet, steigt und sinkt. Drücke dann auf „Prüfen“.
Probier es selbst
using UnityEngine;
public class Hook : MonoBehaviour
{
public float speed = 2f;
void Update()
{
// Pfeiltasten rechts/links: entlang der x-Achse verschieben. Pfeiltasten hoch/runter: anheben und absenken.
}
}
Alle Lektionen in Unity-Scripting: Grundlagen
1C#-Grundlagen in Unity
Hallo, UnityVariablenDezimalzahlen brauchen ein fText in der KonsoleVariablen, die sich etwas merkenIf und ElseZahlen vergleichenRückblick: Münzsammler7Schleifen und Methoden
Wiederholen mit forSchleifen in SchleifenEine Methode schreibenMethoden mit RückgabewertArraysRückblick: Treppe10Dinge finden
Nach Namen suchenTagsNach Typ suchenReferenzen schlagen SuchenUnitys NullRückblick: nächste Münze13Projekt: Weiche den Blöcken aus
Der LäuferBlöcke vom Himmel2Bring es in Bewegung
Platziere den WürfelBewege ihn in jedem FrameDrehe ihn jede SekundeSteuere mit den TastenRückblick: Fahre den Würfel5Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist eine StrukturRückblick: Drohnenpilot8GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter11Prefabs und Erzeugen von Instanzen
Prefabs und InstantiateNach Zeitintervall erzeugenIn einem Raster erzeugenListen von ObjektenDas Neueste zurücknehmenZerstörenZufälliges ErzeugenRückblick: Feuerwerk14Abschließende Herausforderungen
MünzmagnetDie Straße überquerenStraßenverkehrTurmbauerLanden oder verfehlen3Der Inspector
Inspector-FelderSerializeFieldFließkommazahlen und MathfInspector-AttributeRückblick: Aufzug6Transformationen und Hierarchie
Eltern und KinderHisse die FlaggeSkalierungDinge anschauenAuf einen Punkt zubewegenRückblick: Mond in Umlaufbahn9Projekt: Fang den Stern
Der FängerEin fallender Stern12Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle LoggerÜbe selbstständig: Unity-Playground