Menu
CoddyTech

Kierunki

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

Unity ma nazwy dla sześciu kierunków, z których każdy ma długość jednej jednostki:

  • Vector3.right (1, 0, 0) i Vector3.left (-1, 0, 0)
  • Vector3.up (0, 1, 0) i Vector3.down (0, -1, 0)
  • Vector3.forward (0, 0, 1) i Vector3.back (0, 0, -1)

Dostępne są również Vector3.zero (0, 0, 0) i Vector3.one (1, 1, 1). Ponieważ każdy kierunek ma długość jednej jednostki, pomnożenie kierunku przez prędkość daje ruch dokładnie o tę odległość. Ten ślimak pełznie od kamery z prędkością 0.5 jednostki na sekundę:

public float speed = 0.5f;

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

To taki sam ruch jak new Vector3(0, 0, speed * Time.deltaTime), ale kierunek jest łatwiejszy do odczytania i trudniej przypisać go do niewłaściwej osi. Znak minus odwraca kierunek: -Vector3.forward to Vector3.back. Te kierunki odnoszą się do świata, a nie do obiektu: Vector3.forward wskazuje światową oś z, nawet gdy ślimak jest odwrócony. W następnej lekcji obiekty będą poruszać się w kierunku, w którym są zwrócone.

challenge icon

Wyzwanie

Łatwy

Steruj hakiem dźwigu za pomocą czterech strzałek, używając nazw kierunków z Unity.

  1. W Update() napisz osobne if z użyciem Input.GetKey dla każdego klawisza strzałki.
  2. Każdy dodaje kierunek pomnożony przez speed * Time.deltaTime: Vector3.right, Vector3.left, Vector3.up lub Vector3.down, tak jak w transform.position += Vector3.up * speed * Time.deltaTime;.

Naciśnij „Graj” i steruj: hak przesuwa się, unosi i opada. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

using UnityEngine;

public class Hook : MonoBehaviour
{
    public float speed = 2f;

    void Update()
    {
        // Strzałki w prawo/lewo: przesuwanie wzdłuż osi x. Strzałki w górę/dół: podnoszenie i opuszczanie.
    }
}

Wszystkie lekcje w sekcji Podstawy skryptów w Unity

Poćwicz samodzielnie: Edytor online Unity