Nella lezione precedente hai visto come Installare Unity e come creare un account.
Adesso, è tempo di aprire il nostro programma per la prima volta 😍
L’interfaccia di Unity è qualcosa di estremamente complesso, E proprio a causa della sua complessità molti abbandonano l’idea dello sviluppo di un gioco ancor prima di aver iniziato.
Dato che voglio evitare che ti succeda anche a te, ho deciso di dedicare un’intera lezione all’interfaccia di Unity.
Ma, poche chiacchiere e cominciamo subito dal primo passaggio, cioè creare un progetto in Unity 3D.
Sei pronto?
Creare un progetto
Aperto il programma, la prima schermata che dovresti vedere (su Windows ma è uguale anche per macOS) è la seguente:

- Il pannello Projects conterrà tutti i progetti creati con Unity
- mentre il pannello Learn conterrà una serie di video, progetti e risorse varie rivolti a chi si approccia per la prima volta al software.
Ti consiglio di dargli un’occhiata!
I tre pulsanti in alto a destra invece ci permetteranno rispettivamente di creare:
- un nuovo progetto
- aprire un progetto da un’altra directory
- o gestire il nostro account di Unity.
Clicca su New e verrai portato su questa schermata:

Inserisci il Nome del progetto e la directory in cui vuoi salvarlo (per semplicità io ho scelto il Desktop).
In questa schermata è inoltre possibile modificare il tipo di progetto da 3D a 2D (o utilizzare template più elaborati di cui però non parleremo al momento) o importare degli Assets packages.
Gli Assets Packages sono dei pacchetti predefiniti contenenti script, mesh, animazioni e tanta altra roba che potrà essere utile durante la creazione di un videogioco!
Essi potranno essere importati anche in un secondo momento (lo faremo più avanti in questa stessa lezione).
Quindi, per il momento clicca semplicemente su Create project e preparati ad affrontare la temibile interfaccia utente (o UI) di Unity:

Bella eh?
Magari a prima vista può incutere un po’ di timore, ma col tempo imparerai a conoscerne ogni singolo aspetto.
Per iniziare, credo sia d’obbligo fare una piccola overview di ciò che l’interfaccia ci offre.
Senza indugiare ulteriormente quindi, iniziamo ad introdurre i suoi elementi.
I pannelli
L’interfaccia di Unity è composta da 6 pannelli base.
Ogni pannello nasce per svolgere delle funzioni ben precise nella progettazione del tuo gioco.

Il primo passo è quello di individuare questi 6 pannelli all’interno di Unity. Quindi, perdi due minuti ad analizzare l’interfaccia di Unity 3D e poi torna qui sul tutorial.
Fatto? (in caso scrivimi un commento sotto)
Allora cominciamo ad analizzarli uno per uno. E partiamo da quello che è il pannello principale dell’interfaccia di Unity 💪
Scene Panel
Forse il pannello più importante! Quello in cui viene mostrata la nostra scena ed i suoi oggetti.
Gli oggetti sono, come suggerisce il nome, tutti gli elementi del nostro gioco. Telecamere, luci, modelli 3D, sprites, effetti particellari, elementi dell’interfaccia utente e tanta altra roba!
La scena invece, è il contenitore di tali oggetti. Il nostro progetto può essere composto da una o più scene.
Puoi considerare la scena come un livello del tuo gioco. Ti sarà capitato sicuramente che in alcuni giochi il caricamento di parti del gioco non avveniva in contemporanea.
Ad esempio quando entri in una casa e ti compare la schermata di caricamento. Ecco questo accade perché il gioco è composto da più Scene.

Osserva che, di default, sono già presenti due oggetti nella nostra scena: una Camera ed una Directional light.
- La Camera è l’occhio sul videogioco. Quando andremo a giocare, l’azione verrà ripresa esattamente da dove si trova la nostra telecamera. Puoi immaginarla come un cameraman che inquadra costantemente l’area di gioco. Quando giochi a qualsiasi gioco (scusa il gioco di parole) tu vedi la Scena esattamente dalla posizione della Camera.
- La directional light…beh, lei la introdurremo nel dettaglio un po’ più avanti! Per ora ti basti sapere che si tratta di una luce, e che in quanto tale illuminerà la nostra scena!
Per introdurre al meglio le funzionalità dello Scene Panel sarà utile stabilire un punto di riferimento all’interno della scena.
Creiamo quindi, il nostro primo oggetto: un bellissimo cubo!
Per farlo, ti basterà cliccare “GameObject” nella barra in alto della tua finestra, selezionare “3D Object” dal menù a tendina e poi “Cube“, come illustrato in questa fantastica animazione:

Vediamo adesso più nello specifico come navigare nella scena:
- Rotella mouse: banalmente servirà per avvicinare o allontanare la vista della scena. (Dov’è il mio premio Nobel?).
- Tasto sinistro del mouse: permette di evidenziare l’oggetto cliccato.
- Alt + tasto sinistro: permette di ruotare la visuale attorno ad un punto.

- Tasto destro: se tenuto premuto abilita la “fly mode”. In questa modalità, potrai muoverti all’interno della scena tramite l’utilizzo dei pulsanti W, A, S e D, e potrai ruotare la vista semplicemente muovendo il mouse. Come in un FPS, più o meno!

- Tasto centrale: Permette di effettuare il camera panning. Per i meno anglofoni: muovere la visuale senza ruotarla.

- Tasto F: permette di concentrare la visuale su un solo oggetto (F sta proprio per Focus!).
Ti sarà molto utile quando vorrai spostarti rapidamente su un oggetto della scena molto distante o che si trova fuori dalla tua visuale! premendo due volte F potrai ancorare la visuale all’oggetto e seguirne i movimenti.

Ultimo (ma non meno importante) elemento del nostro Scene Panel è quella sorta di strano oggetto relegato in alto a destra del nostro pannello. Questo viene chiamato Scene gizmo, ed ha due scopi fondamentali:

- Farci capire esattamente qual è l’attuale orientamento della nostra vista: la nostra scena si sviluppa lungo i tre assi x, y, z, che simboleggiano rispettivamente: lunghezza, altezza e profondità.
Quando ruotiamo la vista della scena ci troveremo spesso a guardare gli oggetti da angolazioni confusionarie. Ma dato che il gizmo ruota insieme alla nostra visuale, esso potrà servirci da “bussola” per ricordarci l’orientamento degli assi! - Cambiare modalità di visualizzazione: cliccando sulle rappresentazioni degli assi del nostro gizmo, è possibile spostare la visuale sull’asse selezionato! Cliccando sul cubo centrale del gizmo invece è possibile cambiare la modalità di visualizzazione da prospettica ad isometrica.
Cosa cambia?
Ti sarà sicuramente capitato di avvicinare un dito all’occhio e di vederlo delle stesse dimensioni di un albero.
Cose di questo genere, o “scherzi prospettici” possono essere davvero frustranti durante la creazione di una scena. Immagina di aver appena finito di costruire un villaggio per il tuo videogioco in visuale prospettica.
Magari dalla posizione da cui stai guardando sembra tutto perfetto, ma spostando l’inquadratura di poco potresti scoprire di aver costruito un sassolino delle stesse dimensioni di una capanna! La visuale isometrica annulla la prospettiva e tutti i problemi legati ad essa.
Gli oggetti appariranno tutti delle loro reali dimensioni, non importa quanto essi siano distanti dall’osservatore!
Vediamo un po’ l’uso dello Scene gizmo e le differenze fra visuale prospettica ed isometrica in questa animazione:

Hierarchy Panel
Il “pannello delle gerarchie”. Di default lo trovi a sinistra dello Scene Panel, e in esso vengono elencati tutti gli oggetti presenti nella nostra scena.
Tramite il pulsante Create è possibile inserire nuovi oggetti nella scena e, cosa non poco importante, è possibile creare una relazione di parentela fra due o più oggetti.
Come mostra l’animazione sottostante, basta trascinare il nome di un oggetto dentro un altro per creare una parentela.
L’oggetto esterno verrà chiamato “padre”, mentre quello interno sarà il “figlio”. In questo modo, quando sposteremo l’oggetto padre, esso verrà seguito dall’oggetto figlio!
Osserva che non vale il contrario, e quando si interagisce col figlio,il padre non verrà spostato (puoi spostare un oggetto in giro per la scena trascinando una delle tre frecce colorate che vedi uscire da esso).

Project Panel
Qui troveremo i nostri assets.
Gli assets sono tutti gli elementi che useremo per il nostro gioco: texture, modelli 3d, materiali, scene, script, effetti sonori e compagnia bella.
Mi raccomando, ricordati di ordinare i tuoi assets! Crea delle cartelle per suddividerli per categoria. Un project panel disordinato può facilmente portarti alla pazzia!

Come potete vedere dalla GIF qui sopra, alla sinistra del nostro project panel troviamo un piccolo menù di navigazione, dal quale possiamo accedere facilmente alle directory dei nostri files o a dei preferiti (Favorites): cartelle che contengono tutti i file di una specifica categoria.
Ad esempio, cliccando su “All Materials” ci verranno mostrati tutti i materiali che attualmente si trovano dentro al nostro progetto.
Console Panel
Al momento non c’è molto da dire a riguardo. Devi sapere, che in questo pannello verranno mostrati tutti gli errori riguardanti il tuo gioco.
Sarà utile quando proverai a risolvere un bug o per testare il corretto funzionamento di uno script.
Per il momento non ti servirà a molto, ma appena inizieremo a scrivere i nostri primi script diventerà fondamentale!
Inspector Panel
L’inspector panel occupa, nella schermata di default, il lato destro della nostra schermata. Esso raccoglie tutte le impostazioni e i settaggi relativi all’oggetto selezionato.
Se al momento è completamente vuoto, è semplicemente perchè non hai selezionato alcun oggetto.
Facciamo una prova selezionando il cubo che abbiamo creato durante la presentazione dello scene panel:

Ecco che il nostro inspector si riempie di parametri diversi! Vediamoli brevemente insieme:

In alto troviamo una piccola barra (che ho evidenziato in verde) che ci fornisce informazioni generali sull’oggetto come la sua visibilità (cioè se l’oggetto è visibile o meno nella scena), il suo nome o il suo comportamento fisico (cioè se l’oggetto reagisce alla gravità o a qualsiasi altra forza durante il gioco), mentre sotto troviamo diversi componenti.
Nel caso del cubo i componenti sono: Il Transform, un mesh filter, un box collider, un mesh renderer e uno shader.
Non è ancora il momento di spiegarti cosa sono e a che cosa servono (sarà molto meglio introdurli quando dovremo usarli!), ti basti sapere che questi componenti gestiscono tutti gli aspetti del nostro oggetto.
Che forma ha un cubo? Come deve comportarsi se va a sbattere contro un altro oggetto?
Sono i componenti a dircelo! Aggiungendo altri componenti (o modificando quelli già presenti), è possibile modificare ulteriormente il comportamento degli oggetti a nostro piacimento.
Un cubo che rotola giù da una discesa come se fosse una sfera? Si può fare!
Ad ogni modo, i componenti predefiniti sono diversi per ogni tipo di oggetto. Prendiamo per esempio la Directional light già presente nella nostra scena:

In questo caso il nostro Inspector conterrà (oltre al componente Transform, che è presente in quasi tutti gli oggetti) un componente Light, che servirà a gestire qualsiasi aspetto legato alla luce emessa dalla nostra Directional Light: dal colore alla sua intensità.
Sull’inspector panel non c’è altro da dire per il momento, quindi andiamo avanti!
Game Panel
Ultimo (ma non ultimo!) pannello della nostra interfaccia di base. Qui vedremo come appare il nostro videogioco effettivo!
Ma per farti capire meglio il suo funzionamento vorrei chiedere l’aiuto di un caro vecchio amico. Per richiamarlo, segui le mie istruzioni!
Vai a questo link ,clicca su Add To My Assets e successivamente su Open in Unity: si aprirà così una nuova finestra relativa all’asset store, da cui sarà possibile eseguire il download degli elementi necessari.

Completato il download clicca su Import: apparirà un caricamento seguita da una schermata che ti chiederà di confermare l’importazione di alcuni modelli. Premi import assicurandoti che tutte le caselle siano selezionate e attendi qualche secondo affinché i modelli vengano correttamente importati.
Fidati, ne vale la pena! Ecco un’animazione che ti spiegherà meglio come fare:

Cosa abbiamo fatto esattamente?
Abbiamo importato un elemento dall’asset store di Unity.
In parole povere, abbiamo messo nel nostro progetto degli oggetti preparati da altri utenti di Unity in questo caso specifico da Unity stessa), pronti ad essere utilizzati. Esattamente come avviene con le applicazioni su Play Store e App Store!
Nello specifico abbiamo importato il pacchetto “Standard Assets”, contenente una serie di personaggi ed oggetti utili a chi è alle prime armi.
Guardando con attenzione i file in fase di importazione (o anche dal Project Panel) potrai vedere la quantità dei file importati: script, file audio in formato WAV, Modelli 3D, animazioni…
Un personaggio (così come una navicella spaziale o una macchina) è composto davvero da molti, moltissimi pezzi!
A questo punto dobbiamo arricchire un po’ la nostra scena.
Inserisci un piano (come nell’animazione seguente) ed elimina eventuali cubi o altri oggetti semplicemente selezionandoli nello Hierarchy Panel e premendo il tasto Canc (o shift+Del).
Attento a non eliminare la Camera e la Directional Light!

E dal project panel spostiamoci nella cartella Standard Assets> Characters> ThirdPersonCharacter> Prefabs e trascina il file ThirdPersonController.prefab nella scena, sopra al piano.
Dai il benvenuto ad Ethan!

Passando adesso dallo scene al game panel potrai vedere come effettivamente appare il gioco.
ATTENTO! Il gioco ti verrà mostrato dalla Camera della scena, spostiamola quindi in una posizione da cui possiamo vedere il piano (ed li nostro caro Ethan!)
Selezionando la Camera si aprirà nello scene panel una piccola anteprima che mostrerà ciò che viene visto dalla camera. Ti sarà molto utile durante il suo posizionamento.

Adesso guarda quei tre pulsanti in altro, al centro della nostra schermata, è arrivato il momento di premere il tasto Play!

Lo scene panel cederà il posto al Game panel, e si entrerà in Play mode! In questa modalità avrai la possibilità di provare il tuo gioco.
Puoi controllare Ethan con le frecce direzionali o con i tasti W-A-S-D, farlo saltare con la barra spaziatrice o farlo accovacciare col tasto C.
Cerca solo di non farlo cadere da quel piano, gli voglio bene!
Se Ethan dovesse rovinosamente precipitare potrai premere nuovamente il pulsante Play per fermare il gioco e tornare in Scene mode. Tutto ciò che è accaduto durante la prova del gioco andrà perso ed Ethan tornerà sul nostro piano, esattamente dove si trovava prima di avviare il gioco!
Nota che, mentre si è in Play mode, è possibile applicare dei cambiamenti al gioco (spostare oggetti, cambiare illuminazione, ecc ecc).
Ricorda che se effettui questi cambiamenti mentre sei in play mode, essi non verranno salvati.
Puoi sfruttare la cosa a tuo favore se hai voglia di vedere come funziona qualche piccolo cambiamento nel tuo gioco, ma fai attenzione!
Non vorresti perdere l’ultima ora di tuo lavoro solo perchè hai lavorato interamente in Play mode!

Ovviamente esistono moltri altri pannelli da mostrare, ma li presenteremo man mano che si renderanno necessari!
Modificare il Layout di Unity
Ricordati che potrai modificare l’interfaccia di Unity in qualsiasi momento.
Puoi trascinare i pannelli come preferisci.
Puoi salvare il tuo layout preferito, caricare un layout alternativo o, nel caso accada qualche disastro, ripristinare il layout di base.
Per visitare qualche Layout alternativo, basterà cliccare nel menù “Layout” in alto a destra:

Conclusione
Imparare ad utilizzare l’interfaccia di Unity 3D è un processo che richiede tempo e perseveranza. Oggi ti ho solamente dato un’infarinatura di quelli che sono i suoi aspetti principali.
La nostra avventura nel mondo dello sviluppo dei videogiochi con Unity è appena iniziata.
Nella prossima lezione vedremo insieme alcuni concetti fondamentali che diventeranno il nostro pane quotidiano per lo sviluppo di un videogioco!