Somma di vettori
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 24 di 85.
Un Vector3 può essere memorizzato in una variabile e due di essi si sommano con +: x si somma a x, y a y e z a z. È così che due spinte si combinano in un unico movimento. Questo pallone da spiaggia rotola in avanti di 2 unità al secondo mentre il vento lo spinge di 1 unità al secondo verso destra:
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;
}Moltiplicare un vettore per un numero moltiplica ciascuna delle sue componenti: wind * 3 è (3, 0, 0), una tempesta, e move * Time.deltaTime trasforma un movimento al secondo nel movimento di questo fotogramma. Anche la sottrazione funziona componente per componente e a - b è il passo che porta dal punto b al punto a. Non esiste * tra due vettori: roll * wind non viene compilato.
Sfida
FacileIl fiume trasporta la barca e la freccia su aggiunge il motore.
- In
Update(), inizia conVector3 move = current;. - Mentre
Input.GetKey(KeyCode.UpArrow)è vero, aggiungimotoramovecon+=. - Aggiungi
move * Time.deltaTimeatransform.position.
Premi «Gioca»: la barca va alla deriva verso destra e attraversa il fiume mentre tieni premuta la freccia su. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// La corrente trasporta sempre la barca.
// Finché si tiene premuta la freccia su, anche il motore spinge.
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity