Menu
CoddyTech

Przestrzeń lokalna i globalna

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 19 z 67.

Obiekt ma własne kierunki, podobnie jak świat. transform.forward wskazuje kierunek, w którym zwrócony jest nos obiektu (niebieska strzałka w widoku Scene w Unity), wyrażony jako wektor świata o długości jednej jednostki; transform.right i transform.up oznaczają odpowiednio własne kierunki w prawo i w górę obiektu. Obróć obiekt, a obrócą się wraz z nim. Ten papierowy samolot jest obrócony w scenie o 90 stopni wokół osi y, więc leci wzdłuż osi x świata, zgodnie z kierunkiem, w którym jest zwrócony:

public float speed = 4f;

void Update()
{
    transform.position += transform.forward * speed * Time.deltaTime;
}

transform.Translate(Vector3.forward * speed * Time.deltaTime) robi to samo, ponieważ Translate interpretuje swój wektor w lokalnej przestrzeni obiektu: w niej Vector3.forward oznacza kierunek do przodu obiektu. Przekaż Space.World jako drugi argument, a zamiast tego zostaną użyte osie świata, więc transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World) przesuwa obiekt wzdłuż osi z świata, niezależnie od tego, w którą stronę jest zwrócony samolot.

transform.Rotate również obraca obiekt wokół jego własnych osi. Patrząc z góry, dodatni kąt wokół osi y obraca obiekt stojący pionowo w prawo, a ujemny — w lewo; jego transform.forward obraca się razem z nim.

challenge icon

Wyzwanie

Łatwy

Dodaj czołgowi sterowanie: strzałka w prawo obraca go w prawo, a strzałka w lewo — w lewo, wokół jego osi y z prędkością turn stopni na sekundę. Strzałka w górę napędza go do przodu, w kierunku, w którym jest skierowany, z prędkością speed jednostek na sekundę. Sam obrót nie powoduje jego ruchu.

Naciśnij Play, obracaj się i jedź, a następnie naciśnij Check.

Spróbuj swoich sił

using UnityEngine;

public class Tank : MonoBehaviour
{
    public float speed = 3f;
    public float turn = 90f;

    void Update()
    {
        // Strzałki w prawo i w lewo: obracają wokół osi y. Strzałka w górę: porusza czołg w kierunku, w którym jest zwrócony.
    }
}
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