Direzioni
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 25 di 85.
Unity ha dei nomi per le sei direzioni, ciascuna lunga un'unità:
Vector3.right(1, 0, 0) eVector3.left(-1, 0, 0)Vector3.up(0, 1, 0) eVector3.down(0, -1, 0)Vector3.forward(0, 0, 1) eVector3.back(0, 0, -1)
Ci sono anche Vector3.zero (0, 0, 0) e Vector3.one (1, 1, 1). Poiché ogni direzione è lunga un'unità, moltiplicare una direzione per una velocità produce uno spostamento esattamente pari a quella velocità. Questa lumaca si allontana strisciando dalla telecamera a 0.5 unità al secondo:
public float speed = 0.5f;
void Update()
{
transform.position += Vector3.forward * speed * Time.deltaTime;
}È lo stesso spostamento di new Vector3(0, 0, speed * Time.deltaTime), ma la direzione è più facile da leggere e meno soggetta a essere inserita sull'asse sbagliato. Un segno meno inverte una direzione: -Vector3.forward è Vector3.back. Queste direzioni appartengono al mondo, non all'oggetto: Vector3.forward è lo z del mondo anche quando la lumaca è girata dall'altra parte. Nella prossima lezione sposterai gli oggetti nella direzione in cui sono rivolti.
Sfida
FacileGuida il gancio della gru con le quattro frecce, usando le direzioni con nome di Unity.
- In
Update(), scrivi unifsuInput.GetKeyper ciascun tasto freccia. - Ognuno aggiunge la propria direzione moltiplicata per
speed * Time.deltaTime:Vector3.right,Vector3.left,Vector3.upoVector3.down, come intransform.position += Vector3.up * speed * Time.deltaTime;.
Premi «Gioca» e guida: il gancio scorre, sale e scende. Poi premi «Verifica».
Provalo tu
using UnityEngine;
public class Hook : MonoBehaviour
{
public float speed = 2f;
void Update()
{
// Frecce destra/sinistra: scorri lungo x. Frecce su/giù: alza e abbassa.
}
}
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