Dinge ansehen
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 26 von 67.
transform.LookAt(point) dreht ein Objekt so, dass seine Vorwärtsachse, der blaue z-Pfeil, auf eine Position in der Welt zeigt. Es dreht das Objekt, bewegt es aber nicht. Dieser Suchscheinwerfer steht auf einem Turm bei (0, 6, 0) und richtet sich auf das Tor bei (4, 0, 10):
void Start()
{
transform.LookAt(new Vector3(4, 0, 10));
}Das Tor liegt tiefer als das Licht, daher neigt sich der Suchscheinwerfer beim Drehen auch nach unten: LookAt richtet sich direkt auf den Punkt, auch nach oben oder unten. Danach zeigt transform.forward vom Licht zum Tor.
Wird LookAt in Start() aufgerufen, richtet es das Objekt einmal aus. Wird es in Update() aufgerufen, richtet es das Objekt in jedem Frame erneut aus, sodass es weiterhin auf den Punkt zeigt, während sich das Objekt oder der Punkt bewegt. Das Argument ist immer eine Position: LookAt(Vector3.forward) richtet das Objekt auf den Weltpunkt (0, 0, 1) aus, einen Punkt neben dem Mittelpunkt der Welt, unabhängig davon, wo sich das Objekt gerade befindet.
Aufgabe
MittelDer Rover fährt bereits mit den Pfeiltasten entlang der x- und z-Achse der Welt. Lass ihn in die Richtung schauen, in die er fährt: Während er sich bewegt, zeigt seine Vorderseite (seine Vorwärtsachse) in die Fahrtrichtung, auch bei diagonaler Bewegung. Wenn keine Taste gedrückt wird, bleibt er stehen und schaut weiter in die Richtung, in die er zuletzt gefahren ist.
Drücke Play, fahre herum und klicke dann auf Check.
Probier es selbst
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 3f;
void Update()
{
Vector3 move = Vector3.zero;
if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
move = move.normalized;
transform.position += move * speed * Time.deltaTime;
// Drehe den Rover so, dass er in Fahrtrichtung zeigt
}
}
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