Menu
CoddyTech

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.

challenge icon

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
    }
}
quiz iconSprawdź się

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