Dodawanie wektorów
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 24 z 85.
Vector3 można przechowywać w zmiennej, a dwie takie wartości można dodać za pomocą +: x dodaje się do x, y do y, a z do z. Tak właśnie dwa pchnięcia łączą się w jeden ruch. Ta piłka plażowa toczy się do przodu z prędkością 2 jednostek na sekundę, a wiatr popycha ją w prawo z prędkością 1 jednostki na sekundę:
Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);
void Update()
{
Vector3 move = roll + wind; // (1, 0, 2)
transform.position += move * Time.deltaTime;
}Mnożenie wektora przez liczbę mnoży każdą z jego składowych: wind * 3 to (3, 0, 0), czyli wichura, a move * Time.deltaTime zamienia ruch na sekundę w ruch w tej klatce. Odejmowanie również działa składowa po składowej, a a - b to krok prowadzący z punktu b do punktu a. Między dwoma wektorami nie można użyć *: roll * wind się nie kompiluje.
Wyzwanie
ŁatwyRzeka niesie łódź, a strzałka w górę dodaje jej napęd.
- W
Update()zacznij odVector3 move = current;. - Gdy
Input.GetKey(KeyCode.UpArrow)ma wartość true, dodajmotordomoveza pomocą+=. - Dodaj
move * Time.deltaTimedotransform.position.
Naciśnij „Graj”: łódź dryfuje w prawo i przepływa przez rzekę, gdy przytrzymujesz strzałkę w górę. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// Prąd zawsze niesie łódź.
// Gdy strzałka w górę jest wciśnięta, silnik również pcha łódź.
}
}
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Podstawy C# w Unity
Witaj, UnityZmienneLiczby dziesiętne wymagają fTekst w konsoliZmienne, które pamiętająIf i elsePorównywanie liczbPowtórka: Zbieracz monet4Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski z nazwamiPrzyciski myszyPowtórka: naładowany skok7Pętle i metody
Powtarzaj za pomocą forPętle wewnątrz pętliNapisz metodęMetody, które zwracają wynikTablicePowtórka: schody10Wyszukiwanie obiektów
Wyszukiwanie po nazwieTagiWyszukiwanie po typieReferencje lepsze niż wyszukiwanieNull w UnityPowtórka: najbliższa moneta13Projekt: Unikaj bloków
BiegaczBloki z nieba2Wpraw to w ruch
Umieść sześcianPoruszaj w każdej klatceObracaj co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian5Wektory
Dodawanie wektorówKierunkiPrzestrzeń lokalna i globalnaPrędkość po przekątnejOdległość między obiektamiVector3 to strukturaPodsumowanie: pilot drona8Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePowtórka: włącznik światłaPoćwicz samodzielnie: Edytor online Unity