Implementare la bussola per la mia inesperienza, e stato abbastanza problematico, ma alla fine sono riuscito ad ottenere un risultato che mi soddisfa.
Parto con il modellare 2 oggetti; cassa della bussola, e lancetta, mi servono separati perchè la lancetta deve trovarsi all’interno della cassa e muoversi con essa, ma la sua rotazione deve essere indipendente.


Per la visualizzazione in gioco della bussola ho pensato di fare così:
quando il giocatore clicca sull’icona della bussola, Teresa si ferma e compie l’animazione di estrarrla e guardarla, e contemporaneamente sulla parte bassa dello schermo appare l’immagine della bussola con la lancetta che ruota verso il nord, ricliccando sull’icona della bussola, Teresa compirà l’animazione di mettere via l’oggetto tornando all’animazione di idle pronta per i successivi input.
Per la logica del funzionamento della bussola ho ragionato in questo modo:
durante i momenti in cui la bussola è attiva, prendo la rotazione sull’asse verticale di Teresa, questa è anche la rotazione della cassa della bussola; mentre la lancetta acquisisce la rotazione da un’altro oggetto che non viene visto in gioco, che ho chiamato “punto nord”, in questo modo la lancetta punterà sempre nella direzione che io ho impostato all’oggetto “punto nord”, mentre la cassa della bussola avrà la rotazione del player, alcuni accorgimenti sulla camera che inquadra la bussola in modo che visualizzi la cassa ferma(perchè in realtà ruota degli stessi gradi di rotazione del player), e invece lasci la libertà alla lancetta di indicare il punto corretto.
In questo modo osservando la bussola avrò l’esatta posizione del punto nord, che io potrò decidere di scena in scena andando semplicemente a cambiare la rotazione dell’oggetto che non viene visto “punto nord”.