Patrz na obiekty
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 26 z 67.
transform.LookAt(point) obraca obiekt tak, aby jego oś przednia, niebieska strzałka z, wskazywała pozycję w świecie. Obraca obiekt, ale go nie przesuwa. Ten reflektor znajduje się na wieży w punkcie (0, 6, 0) i jest skierowany na bramę w punkcie (4, 0, 10):
void Start()
{
transform.LookAt(new Vector3(4, 0, 10));
}Brama znajduje się niżej niż światło, więc reflektor pochyla się w dół, jednocześnie się obracając: LookAt kieruje obiekt prosto na punkt, zarówno w górę, jak i w dół. Po wykonaniu tej operacji transform.forward wskazuje od światła w stronę bramy.
Wywołane w Start(), LookAt ustawia kierunek tylko raz. Wywołane w Update(), ustawia kierunek ponownie w każdej klatce, dzięki czemu obiekt cały czas zwraca się w stronę punktu, gdy obiekt lub punkt się porusza. Jego argumentem zawsze jest pozycja: LookAt(Vector3.forward) kieruje obiekt na punkt świata (0, 0, 1), miejsce obok środka świata, niezależnie od tego, gdzie znajduje się obiekt.
Wyzwanie
ŚredniŁazik już jeździ za pomocą strzałek wzdłuż osi x i z świata. Spraw, aby był zwrócony w kierunku jazdy: gdy się porusza, jego przód (oś skierowana do przodu) wskazuje kierunek ruchu, także po skosie. Gdy żaden klawisz nie jest wciśnięty, stoi w miejscu i nadal jest zwrócony w kierunku, w którym jechał ostatnio.
Naciśnij Play, pojeździj, a następnie naciśnij Check.
Spróbuj swoich sił
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;
// Obróć łazik tak, aby był skierowany w stronę, w którą jedzie
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła