UNITY TUTORIAL #3 – Animazioni che seguono un tracciato

0

UNITY TUTORIAL #3 – Realtà Aumentata – Animazioni che seguono un tracciato

Per vedere tutti i tutorial: www.marcopucci.it

 

In questo terzo tutorial inseriamo la Luna all’interno del progetto precedente (se non hai letto i primi due tutorial clicca qui): facciamo ruotare la Luna su se stessa e la facciamo ruotare intono alla Terra seguendo un tracciato (la sua orbita).
Per prima cosa inserite nella scena un’altra sfera (GameObject/3DObject/sphere), fatela più piccola e mettete una texture della supeficie lunare. Per trovare l’immagine inserite su Google “luna texture modello 3d” e scaricate un’immagine simile a questa qui sotto.

MOON

Impostiamo le dimensioni delle due sfere. Click sulla sfera della Terra. Nelle sue proprietà a destra inserite 1 nelle caselle X,Y e Z di SCALE.
La dimensione della Luna è un quarto di quella della Terra. Selezionate la Luna e in X,Y e Z di SCALE inserite 0.25.
In questo modo i due oggetti avranno le giuste proporzioni, come nella figura qui sotto.

unity-animation-curve

 

Spostate la Luna all’interno di ImageTarget (nel pannello a sinistra).
Click con il tastro desto del mouse sulla sfera e selezionate Rename. Chiamate la sfera Luna.
Accendete la webcam e posizionate il marker stampato davanti. Se tutto è andato bene vedrete la Terra ruotare e a fianco la Luna ferma.
Da questo momento in poi la posizione e la rotazione della Luna rispetto alla Terra non saranno in scala con quelle reali. Per mancanza di spazio i due astri saranno molto più vicini. Siete liberi di realizzare l’orbita lunare e il suo movimento come volete.

 

Per realizzare il movimento della Luna rispetto a un tracciato (l’orbita lunare è a forma di ellisse) ho scaricato un plugin dall’Asset Store di Unity. L’Asset Store è una parte fondamentale di Unity dove è possibile trovare (gratis e a pagamento) numerosi componenti aggiuntivi e modelli 3D.
Click su Windows / Asset Store.
All’interno del SEARCH inserite BG Curve, selezionate il primo plugin e click su IMPORT e poi INSTALL.

bgcurve

 

Tornate alla scena principale cliccando su #Scene (in alto al centro)
Click su GameObject / Create Empty. In questo nuovo elemento (vuoto) inseriremo il tracciato della Luna.
Spostiamo l’oggetto appena creato all’interno di ImageTarget (altrimenti quando attiveremo la webcam non si vedrà la Luna seguire il percorso). Sempre selezionando il nuovo oggetto, click su Add Component (nel pannello a destra).
Inserite nel search BG Curve (il plugin appena installato).

 unity-plugin

Selezionate l’ultimo e aggiungetelo ai componenti.

 

unity_add-component

Il nuovo plugin è presente in fondo al pannello Inspector.

 

Click su Points.
Come riportato nelle spiegazioni del plugin per aggiungere un punto dobbiamo cliccare e premere il tasto ctrl sopra un oggetto. Click + ctrl sopra la Luna.

unity_bgcurve_1

 Premete ancora il tasto ctrl per selezionare la seconda modalità: curve di Bèzier.

 

unity_bgcurve_2

Quando rilasciate il mouse la Luna è coperta da frecce (serviranno a gestire il tracciato dell’orbita lunare).

 

unity_bgcurve_3

 

Spostiamo questo primo punto dall’altra parte della Terra: selezionate la seconda freccia blu grande e spostate il punto rosso. Se si muove anche la Luna avete selezionata la freccia blu sbagliata. Ctrl+Z e riprovate. (nella figura qui sotto il punto rosso a destra della Terra).

 

unity-tutorial

 

Aggiungiamo un secondo punto: Click + ctrl sopra la Luna e selezioniamo la seconda modalità.

 

unity-tutorial-augmented

 

Spostiamo leggermente dietro il secondo punto rispetto alla Luna (figura in alto).
I due punti rossi sono collegati da una linea rossa (il tracciato che faremo seguire alla Luna).
Ora chiudiamo il tracciato: click su Closed all’interno del pannello BG Curve (immagine sotto).

 

unity-+-curve-beziere

 

Il tracciato rosso tra i due punti si chiude formando un’ellisse molto stretta.
Spostandovi all’interno della scena dovete riuscire ad allargare il tracciato trascinando le piccole frecce rosse.

 

unity-tutorial-augmented2

Prendete confidenza con le curve di Bèzier. Se non riuscite subito Ctrl + z e iniziate da capo.
Cercate di disegnare una ellisse che gira intorno alla Terra simile all’immagine qui sotto.

 

 unity-vuforia-bezier

 

Terminato il tracciato dobbiamo dire alla Luna di seguirlo.
Click su Component (nel pannello BG Curve) e poi sul quadratino verde con un + al centro (Add omponent).

 

unity-component

 

Selezionate il componente Translate Object by Cursor.
Scorrete in baso fino ad arrivare alle proprità del componente appena aggiunto.

unity-+-space-moon

 

Click nel pallino a destra del campo Object To Manipulate e selezionate l’oggetto Luna.
La Luna si posiziona sopra il tracciato.
Inseriamo un secondo componente (click su Add Component) e selezioniamo Cursor Change Linear.
Tra le sue proprietà (scorrere in basso) possiamo modificare la velocità. Al posto di 5 in Speed inserite 0.04
Accendete la webcam e mettete il marker davanti. La Luna segue la sua orbita.

Per completare l’animazione dobbiamo far ruotare la Luna su se stessa.
Abbiamo già detto che la scala di questo planisfero è errata (la Luna è molto più distante dalla Terra), quindi fate come volete. Nel mio caso utilizzerò il numero di frame utilizzati per far girare la Terra.
Se vi ricordate, nel precedente tutorial, la Terra compie un giro completo in 240 frame.

La Luna reale compie una rotazione in cira 27 giorni.
All’interno dell’animazione della Luna inseirò come numero di frame 27×240 = 6480.
Click sulla Luna. Click su Window / Animation.
Ripetete i passaggi del movimento della terra ma al posto di 240 frame utilizzatene 6480.
Esportate su smartphone.

 

 

 

dat

About The Author