• Non ci sono risultati.

2.2 Architettura del Museo Virtuale in AR

2.2.2 Progettazione in Unity3D

Unity3D è un software per la realizzazione di ambienti grafici e videogames. Nel progetto è stato utilizzato in combinazione con Vuforia, una libreria interna al programma per la realizzazione del sistema di realtà aumentata. Al suo interno, Unity ospita MonoDevelop, un ambiente di programmazione per poter realizzare degli script nel linguaggio C# e per poter controllare i parametri e gli oggetti presenti sulla scena. Il programma è architettato secondo questo schema:

61

2.2.2.1 Inizializzazione di Vuforia

Innanzitutto è stato necessario integrare la libreria Vuforia con Unity3D per poter integrare nel programma la realtà aumentata. Per farlo è stato necessario prima creare un account sul portale del software e creare un progetto, in modo da generare una chiave di licenza. Quest’ultima sarà necessaria per poter abilitare il componente ARCamera (Augmented Realty Camera), fondamentale per il riconoscimento dei marker e per l’attivazione delle funzioni della realtà aumentata.

2.2.2.1.1 Caricamento dei marker

L’applicazione a Realtà Aumentata è stata creata con lo scopo di riconoscere alcuni marker, ovvero simboli o marcature, ed eseguire delle operazioni una volta riconosciuti tali oggetti. I marker utilizzati sono rappresentati da cinque simboli delle carte napoletane (asso di bastoni, asso di coppe, re di bastoni, tre di coppe e asso di coppe). Per poter utilizzare i marker è stato necessario caricare le immagini sulla pagina del progetto di Vuforia e, una volta caricate, scaricare i file contenenti le informazioni relativa al riconoscimento delle immagini da parte del programma. Il riconoscimento dei marker avviene non per colore ma tramite l’estrazione di feature, ovvero delle caratteristiche relative all’immagine.

Figure 11/12: Messa a confronto di un’immagine originale e la sua versione con le features estratte.

62

Più un’immagine contiene queste particolari caratteristiche e più la camera del dispositivo e il programma hanno la possibilità di riconoscere il marker e poter effettuare le operazioni desiderate.71

Una volta scaricati tutti i pacchetti dei marker è necessario impostare l’ambiente in Unity3D per il riconoscimento degli oggetti.

2.2.2.2 Creazione della scena in Unity3D

La scena iniziale di Unity3D è composta da una scena vuota che comprende una camera e da una luce direzionale. Essendo un progetto di realtà aumentata è stato necessario importare una ARCamera dalla libreria di Vuforia e inizializzare i parametri per rendere attivo questo oggetto, copiando il codice della licenza e, dopo aver importato i marker sottoforma di file assets, abilitarli nel database locale di Vuforia.

La fase successiva consiste nel creare nella scena di Unity3D i piani su cui collocare i marker e puntare la ARCamera verso questi elementi; questo elemento corrisponde alla camera di un dispositivo che, una volta avviata l’applicazione, deve poter “vedere” i marker ed eseguire le operazioni di texturizzazione. A questo elemento sono stati aggiunti due script, riguardanti rispettivamente il controllo del fuoco automatico e la possibilità di uscire dall’applicazione premendo il tasto back di un qualsiasi dispositivo Android, in modo da effettuare una nuova ricerca e una nuova simulazione qualora l’utente ne abbia voglia.

2.2.2.2.1 Settaggio dei marker

I marker sono sostanzialmente degli elementi che fungono da interruttori per poter eseguire delle operazioni inserite in uno script. Nel caso di questo progetto, le istruzioni inserite negli script sono semplicemente relative allo scaricamento delle immagini una volta che il marker è stato individuato e, soprattutto, dopo che gli è stato fornito un link contenente il collegamento diretto all’immagine ad alta risoluzione.

71 Prima di poter scaricare le immagini, Vuforia effettua una classificazione del marker e, con una valutazione che va

da una a cinque stelle, verifica la qualità dell’immagine. Difficilmente, i marker valutati con una stella saranno riconosciuti dal programma e dalla camera del telefono; al contrario, uno con cinque stelle sarà subito riconosciuto dal programma. I marker utilizzati nel progetto sono stati segnalati con una valutazione che va dalle quattro alle cinque stelle, quindi con una buona probabilità di riconoscimento.

63

All’interno dei plane che ospitano le immagini dei marker sono stati inseriti due script contenenti le seguenti istruzioni:

1. Nel primo script sono inserite delle direttive per segnalare al programma l’eventuale individuazione, da parte della camera del dispositivo, del simbolo del marker72

2. Nel secondo script sono inserite delle istruzioni per evitare che venga effettuato il rendering di un piano bidimensionale vuoto (di colore bianco) qualora non gli venga assegnato un URL dalla classe UnityPlayerActivity da dove poter scaricare la risorsa multimediale (per evitare che l’utente veda dei quadri vuoti inutili per l’esperienza di visita).

72 L’utilità di questo script è semplicemente quella di testare il funzionamento della ARCamera e vedere se il

64 2.2.2.2.2 Recupero delle risorse

La fase successiva al settaggio dei marker è quella relativa alla creazione dei piani dove poter ospitare le risorse multimediali scaricate da Internet. È necessario quindi creare un plane bidimensionale per ogni marker e associarlo ad esso come “figlio”, in modo da poter ereditare la posizione dell’oggetto padre. Il piano va posto sulla superficie del marker in modo che, non appena viene scaricata la risorsa, essa possa essere visibile all’utente.

A ciascun oggetto corrispondente al plane viene inserito uno script per lo scaricamento della risorsa multimediale una volta che esso viene individuato dalla camera del dispositivo. Il collegamento diretto alla risorsa è fornito dalla classe UnityPlayerActivity prima dell’avvio del motore grafico direttamente all’oggetto plane.

Per lo scaricamento scaricare l’immagine dell’opera d’arte non è necessario implementare librerie esterne in quanto Unity supporta nativamente una funzione per il recupero di risorse multimediali online da applicare ad un oggetto.

Una volta che l’utente punta il dispositivo verso il marker e avviene il riconoscimento visivo, la risorsa viene scaricata e applicata alla superficie del plane che la ospita, modificando i materiali dell’oggetto le dimensioni in base alle proporzioni dell’immagine. L’utente potrà vedere comparire l’opera d’arte sulla superficie designata alla visualizzazione del quadro.

Figure 12: Schema che raffigura le varie componenti di un oggetto plane.

Con questo si conclude il capitolo sull’architettura delle due applicazioni. Il prossimo capitolo tratterà del lato implementativo dei due progetti presentati per questa tesi di laurea.

65

CAPITOLO III

Implementazione e strumenti

In questo capitolo si discuterà sull’implementazione usata per realizzare i due progetti. La prima parte sarà riservata al primo progetto (museo virtuale VR), mentre la seconda parte sarà dedicata al secondo progetto (museo virtuale AR).

A causa della lunghezza dei vari codici e per una migliore resa grafica di questa tesi di laurea, non tutto il codice verrà riportato, ma sarà accessibile nei vari collegamenti presenti nelle note a piè pagina.