• Non ci sono risultati.

Realta Aumentata e Beni Culturali: studio e progettazione di un ambiente virtuale interattivo della Tholos di Casaglia

N/A
N/A
Protected

Academic year: 2021

Condividi "Realta Aumentata e Beni Culturali: studio e progettazione di un ambiente virtuale interattivo della Tholos di Casaglia"

Copied!
85
0
0

Testo completo

(1)

UNIVERSITÀ DI PISA

Dipartimento di Filologia Letteratura e Linguistica

Corso di Laurea Magistrale in Informatica Umanistica

TESI DI LAUREA

Realtà aumentata e Beni Culturali: Studio e progettazione di un

ambiente virtuale interattivo della thòlos di Casaglia

RELATORI

Prof. Marcello CARROZZINO Prof. Franco TECCHIA

CANDIDATO Gianluca SINDONI

(2)

A mia madre e mio padre,

A Dario e Francesco,

A Silvia,

(3)

Sommario

Abstract ...1 Introduzione ...2 1 Stato dell’arte ...6 1.1 Storia ...6 1.2 Tassonomia...8 1.3 Realtà virtuale ...12 1.4 Realtà aumentata ...15

1.5 Ambiti d’uso della realtà aumentata ...16

1.5.1 Realtà aumentata e beni culturali ...18

1.6 Classificazione realtà aumentata ...23

1.6.1 Tecnologia markerless ...26

2 Progetto e Cenni teorici ...27

2.1 Sviluppo del progetto ...27

2.2 Cenni teorici Unity 2017.4.2f2 ...30

2.3 Cenni teorici Google ARCore 1.2 ...32

2.3.1 Motion tracking ...33 2.3.2 Environmental understanding ...33 2.3.3 Light estimation ...35 2.3.4 Altre funzionalità ...36 3 Implementazioni ...40 3.1 Blender ...41 3.2 Unity3D ...44 3.2.1 Main_Menu Scene ...44 3.2.2 Training Scene ...46 3.2.2.1 Gerarchia Training_Scene ...46 3.2.3 Augmented Scene...50

3.2.3.1 Gerarchia e Scene View ...50

3.2.3.2 Il GameObject AugmentedImageVisualizer ...52

3.2.3.3 ARCore Device ...55

3.2.3.3.1 Tracked Pose Driver ...56

3.2.3.3.2 ARBackground Renderer ...56

3.2.3.4 Spawn Manager ...57

3.2.3.5 Example Controller ...65

3.2.3.6 Canvas ...65

(4)

3.2.3.8 Scene Manager ...67

4 Test utente e questionario ...68

4.1 Struttura del questionario ...68

4.1.1 Sezione demografica ...69

4.1.2 Sezione presenza ...71

4.2 Il questionario ...72

5 Conclusioni e sviluppi futuri ...75

Ringraziamenti ...77

(5)

1

Abstract

Technology makes a breakthrough from early 2000s. With the hardware evolution, researchers pursue technologies like augmented reality intensifing its usage during these years. Understand the user’s feelings while they are trying this technology and make it accessible for everyone is certainly a challenge. The aim of this study is to implement augmented reality for the visualization of digital data in a opened space of a Etruscan tomb preserved at the archeological museum of Cecina using Google ARCore kit. The application was tested by a sample of users and, after that, they had to fill a questionnaire in order to measure the level of presence of the virtual environment. The data collected from the survey highlights a good level of presence while users underline a request to use this type of technology visiting museums. The first chapter is based on virtual reality and augmented reality technologies from an historical point of view and a state of the art. The second chapter will set out a theoretical background to make the concepts used for the implementation as clear as possible. The third chapter will show the techniques used for the application development. The fourth chapter will be focused on the questionaire and the data analysis. In the last part of this study will be analyzed the future works of the application based on the analysis result and the role of the Digital Humanities.

La tecnologia ha fatto un grosso passo avanti dall’inizio dei primi anni 2000. Con l’evoluzione hardware, i ricercatori hanno portato avanti tecnologie come la realtà aumentata intensificando il suo utilizzo con il passare del tempo. Cercare di capire le sensazioni degli utenti durante l’utilizzo di questa tecnologia e renderla accessibile a tutti è sicuramente la sfida più difficile. L’obiettivo di questo studio è quello di implementare la realtà aumentata per la visualizzazione in ambiente aperto di contenuti digitali storici nel sito archeologico di una tomba etrusca custodita nel museo archeologico di Cecina utilizzando Google ARCore. Per misurare il livello di presenza durante l’uso dell’applicazione è stato fornito un questionario agli utenti. I dati raccolti hanno evidenziato un buon livello di presenza mentre gli utenti, durante i colloqui, hanno richiesto un maggiore uso da parte dei musei di questo tipo di tecnologia. Nel primo capitolo verranno esposte le tecnologie dal punto di vista storico e lo stato dell’arte. Il secondo capitolo mira a contenuti teorici in modo da chiarire i concetti utilizzati nei capitoli successivi. Il terzo capitolo si incentra sulle implementazioni per lo sviluppo dell’applicazione. Il quarto capitolo riguarda il questionario e l’analisi dei dati ricavati. Nella conclusione saranno analizzati gli sviluppi futuri dell’applicazione basandosi sui dati ricavati sul ruolo delle Digital Humanities.

(6)

2

Introduzione

L’avvento dei nuovi media ha rivoluzionato completamente il mondo della comunicazione in quanto sono caratterizzati da elementi come multimedialità e interattività che i vecchi media come stampa, radio e televisione non possiedono. Questi nuovi mezzi di comunicazione di massa hanno ampliato i canali di trasmissione dell’informazione passando da una comunicazione univoca, one-to-one, o molteplice, one-to-many, ad un tipo di comunicazione collettiva, denominata many-to-many. Le caratteristiche dei nuovi media sono: una grande velocità dal punto di vista comunicativo, intesa come velocità di trasmissione delle informazioni, anche a grande distanza, l’accuratezza delle informazioni trasmesse, l’interattività, la partecipazione e la mancanza di limiti spazio-temporali. Vengono considerati multimediali in quanto, come suggerisce la parola stessa, sfruttano molteplici canali per veicolare le informazioni trasmesse. Sono interattivi poiché il sistema di comunicazione interagisce direttamente con la controparte umana, reagendo alle sue scelte e rispondendo di conseguenza.

Con il passare del tempo ci si è resi conto che è possibile sfruttare questo tipo di comunicazione all’interno dei beni culturali. La mancanza di limiti spazio-temporali è uno dei motivi per cui i nuovi media hanno trovato un terreno fertile all’interno di quest’ambito dando vita ai Virtual Heritage. Essi si differenziano dai Cultural Heritage in quanto sfruttano un diverso canale per la fruizione delle informazioni. I Virtual Heritage infatti si riferiscono ad un dominio che sfrutta la tecnologia per adempiere al loro scopo, sfruttando la visualizzazione di artefatti mediata da un computer o la costruzione di un ambiente virtuale. I Virtual Heritage si occupano principalmente di quattro problematiche: la conservazione, il restauro, lo studio e la fruizione di opere culturali1. L’evoluzione tecnologica è arrivata ad

1Francesco Bellotti, Riccardo Berta, Alessandro De Gloria, Virtual Heritage: Le Tecnologie dell’Informazione

(7)

3 un punto tale che le operazioni per la conservazione digitale di una determinata opera siano facilitate e questo non solo permette la conservazione di un artefatto ma, ad esempio, attraverso uno studio è possibile predire quale sarà il grado di deterioramento di un determinato monumento in modo tale da attuare un restauro adeguato2. Basti pensare anche alla perdita di artefatti storici durante il corso del tempo per via degli agenti atmosferici, delle catastrofi naturali, dalle guerre o altro ancora. Sebbene sia impossibile custodire i monumenti reali i Virtual Heritage ci permettono, almeno dal punto di vista digitale, di conservarli all’interno di un database tramite tecniche di modellazione 3D3, ricostruzioni 3D

da foto o tramite laser scanner.

La visualizzazione di artefatti digitali invece è possibile tramite vari canali che possiedono un diverso grado di immersione basato sul tipo di media utilizzato. L’obiettivo dei Virtual Heritage è solitamente quello di produrre ciò che viene chiamato serious game. Ben Sawyer li definisce come “any meaningful use of computerized game/game industry resources whose chief mission is not entertainment4” ovvero tutte quelle applicazioni il cui scopo principale è quello di educare e non solo di intrattenere. Vengono utilizzate tecnologie come caschi per la realtà virtuale o dispositivi per la realtà aumentata per la costruzione di un ambiente virtuale in cui è possibile visualizzare e interagire con l’ambiente che ci circonda. Una fruizione di questo tipo ci permette di vivere in prima persona un’esperienza interattiva proiettandoci all’interno di un mondo virtuale con possibilità illimitate.

2Brumanaa R., Fregonesea L., Fassia F., De Pascalis F., 3D Laser Scanner Points Clouds and 2D Multi-spectral

images: a data matching software for cultural heritage conservation, CIPA 2005 XX International

Symposium, 26 September – 01 October, 2005, Torino, Italy

3M. Levoy, The digital Michelangelo Project, in: 3-D Digital Imaging and Modeling.

Proceedings, Second International Conference on, Ottawa, Canada, 1999.

4B. Sawyer, The "Serious Games" Landscape, Instructional & Research Technology Symposium for Arts, Humanities and Social Sciences, Camden, 2007.

(8)

4 L’obiettivo di questa tesi è proprio quello di sviluppare un serious game per il Museo Archeologico di Cecina che sfrutta il kit ARCore per lo sviluppo di applicazioni in realtà aumentata rilasciata da Google a febbraio 2018. L’applicazione consiste nella costruzione di un ambiente virtuale per la visualizzazione di una tomba etrusca a thòlos custodita nel museo. Interagendo con ciò che osserviamo nel nostro dispositivo e ottenere delle informazioni storiche dando la possibilità all’utente di poter spaziare nel mondo reale e sovrapporre a quest’ultimo gli elementi del mondo virtuale.

Il primo capitolo si incentrerà principalmente su una panoramica delle tecnologie di realtà virtuale e realtà aumentata esistenti e analizzati dal punto di vista storico. Verrà inoltre presentata una tassonomia per distinguere cosa si intende con realtà virtuale, realtà aumentata e il loro rapporto con la realtà fisica, contestualizzati gli ambiti d’uso di queste tecnologie ed elencati alcune applicazioni in base al contesto d’uso.

All’interno del secondo capitolo verranno analizzate le tecnologie utilizzate per lo sviluppo dell’applicazione. Verranno esaminate le varie fasi del progetto partendo dall’idea iniziale fino alla scelta dell’ambiente di sviluppo e delle librerie. Inoltre verranno presentati gli elementi usati all’interno dell’ambiente di sviluppo in modo tale da facilitare al lettore la comprensione dei capitoli successivi.

Il terzo capitolo descrive gli asset utilizzati per lo sviluppo dell’applicazione, così come gli script che regolano il suo funzionamento. Verranno analizzate le relazioni tra gli elementi e definite le implementazioni personalizzate con parti di codice di programmazione C#.

Il quarto capitolo si concentrerà sul test effettuato su un gruppo di utenti e sui risultati ottenuti dal questionario da loro compilato in modo da ottenere una misura della presenza all’interno dell’ambiente virtuale e delineare le ottimizzazioni necessarie per migliorare la

(9)

5 User Experience. Oltre alla definizione della tipologia di test effettuato e all’analisi dei risultati verrà analizzato il questionario effettuato dagli utenti.

Nel quinto capito saranno esaminati gli sviluppi futuri del progetto derivanti dai risultati del test utente effettuato. Basandosi sui dati ricavati verranno elencate le possibili ottimizzazioni utili per migliorare l’applicazione, ideate grazie anche all’aiuto dei commenti degli utenti. Nella parte conclusiva della tesi in cui viene definito il raggiungimento dell’obiettivo finale.

(10)

6

Capitolo 1 - Stato dell’arte

In questo capitolo si cercherà di fare una panoramica della storia della realtà virtuale e della realtà aumentata. Verranno quindi analizzate le varie tecnologie partendo dai primi esperimenti fino ad arrivare alle tecnologie di ultima generazione e, in base alle loro caratteristiche, illustrate le varie tipologie di realtà virtuale e realtà aumentata. Inoltre si cercherà di chiarire alcuni fattori come:

- Cos’è la realtà virtuale? - Cos’è la realtà aumentata?

- Qual è la relazione tra le due e come sono correlate alla realtà fisica?

1.1 Storia

Al giorno d’oggi il termine realtà virtuale è un termine di cui si è abusato, tanto da aver assunto un significato talmente ampio da racchiudere in sé quasi tutto ciò che compone questo mondo. In passato sono state condotte molte ricerche sulla realtà virtuale ma i tentativi di integrare questa tecnologia per renderla fruibile a tutti sono risultati inadeguati e, questa inadeguatezza, era dovuta soprattutto al fatto che l’evoluzione tecnologica non aveva ancora portato i suoi frutti migliori. Gli hardware non erano ancora pronti, la potenza di calcolo insufficiente, i sistemi scomodi ed ingombranti e i prezzi inaccessibili. I pionieri di queste tecnologie sono Morton Heilig e Ivan Sutherland5. Il primo costruisce nel 1952

Sensorama6, un sistema che aveva la forma simile ad un cabinato per videogiochi e che era

composto da un sedile cinetico in grado di seguire gli spostamenti dell’utente, da uno schermo in grado di visualizzare immagini stereo 3D e da emettitori di suoni, odori ed aromi.

5 I. E. Sutherland, “The ultimate display,” in Proceedings of the IFIP Congress, 1965, pp. 506–508. 6Heilig M. (1962). US Patent #3,050,870

(11)

7 Il secondo nel 1968 costruisce il primo prototipo di head-mounted display (HMD) chiamato Spada di Damocle per via della sua forma.

Figura 1 e Figura 2 Il sistema Sensorama7 di Morton Heilig e la Spada di Damocle di Ivan Sutherland8

Nel 1988 Jaron Lanier conia il termine Realtà Virtuale definendola come:

“Una tecnologia usata per sintetizzare una realtà condivisa. Ricrea la nostra relazione con il mondo fisico in un nuovo piano. Non influisce sul mondo soggettivo e non ha niente a che fare direttamente con il nostro cervello. Ha a che fare solo con cosa i nostri organi sensoriali percepiscono.”9

Le ricerche continuarono e, a metà degli anni ’90 la Forte Technologies lancia il suo ForteVFX1, un casco capace di tracciare la posizione della testa costituito da due schermi LCD da 0.7” a 256 colori, due lenti ottiche per calibrare il focus sulla distanza, due cuffie ed un microfono. Altre aziende come Sony, Nintendo e Philips si cimentarono nello sviluppo di un sistema che potesse soddisfare le esigenze della realtà virtuale ma la svolta avviene nel 2012 con l’annuncio del primo Oculus Rift. Questo è un HMD innovativo che aveva

7 By Minecraftpsyco - Own work, CC BY-SA 4.0,

https://commons.wikimedia.org/w/index.php?curid=47304870 8 http://www.boiledbeans.net/2009/09/24/uneasy-lies-the-head/

9

(12)

8 l’obiettivo di entrare nella vita di ogni videogiocatore, tanto che Mark Zuckerberg decise di acquistare la società Oculus e portare avanti le ricerche sulla realtà virtuale. Allo stesso modo Gabe Newell, fondatore di Valve, si affidò ad HTC per la progettazione di un casco per la VR dando vita al HTC Vive e che, assieme al Rift, hanno portato nel mondo moderno un nuovo punto di lancio per questa tecnologia.

1.2 Tassonomia

Il termine realtà virtuale viene spesso utilizzato per descrivere tecnologie o sistemi che sono in grado di digitalizzare la realtà, permettendo all’utente di interagire con il suddetto ambiente virtuale. Per fare una prima distinzione su quale sia la differenza tra realtà fisica, realtà virtuale e realtà aumentata possiamo partire dalla definizione che Milgram, Takemura, Utsumi e Kishino hanno dato nel 1994 definendo una tassonomia del continuum realtà-virtualità10 cercando di spiegare cosa c’è in mezzo ai due mondi.

Figura 3. Continuum Realtà-Virtualità11

Come possiamo vedere in Fig.3 il punto di partenza del continuum è costituito dal mondo reale mentre quello di arrivo dal mondo virtuale. In mezzo ai due mondi esiste quello della realtà mista, cioè una realtà reale che integra elementi virtuali e che può tendere verso un

10 Augmented Reality: A class of displays on the reality-virtuality continuum, Proceedings of Telemanipulator and Telepresence Technologies. pp. 2351–34. Retrieved 2007-03-15.

11 Paul Milgram, Haruo Takemura, Akira Utsumi, Fumio Kishino, Augmented Reality: A class of displays on the reality-virtuality continuum, 282 / SPIE Vol. 2351, Telemanipulator and Telepresence Technologies (1994)

(13)

9 punto o l’altro. Secondo quanto scritto finora è possibile individuare molteplici punti chiave per comprendere cosa sia la realtà virtuale: tecnologia, sintesi, relazione con il mondo fisico e virtuale e percezione sensoriale.

A questo punto possiamo tracciare quelli che sono i tre principi della realtà virtuale: immersività, interazione e presenza. L’immersività dà una misura della percezione del mondo virtuale come esistente. Per interazione si intende invece la relazione biunivoca utente-ambiente virtuale in cui l’utente interagisce con l’ambiente e, viceversa, l’ambiente risponde a quest’ultimo, dando un valore di realismo della simulazione. Con presenza si intende la sensazione di trovarsi all’interno di uno spazio virtuale che dà come risultato una misura del coinvolgimento dell’utente.

Carrozzino e Bergamasco12, nel 2010, hanno stilato una classificazione basandosi su quali

hardware possano influire sulla presenza all’interno di un ambiente virtuale, dando una misura di immersività (Fig. 4) e interazione (Fig. 5).La classificazione vede come punto di partenza dispositivi che obbligano l’utente ad utilizzare metodi non naturali di interazione e visualizzazione dell’ambiente virtuale, ad esempio mouse e tastiera per gli input e un monitor per la visualizzazione, e, come punto d’arrivo, dispositivi che cercano di avvicinarsi il più possibile alla realtà passando per gli head mounted display o HMD, cioè caschetti per la realtà virtuale, e CAVE per la visualizzazione. L’immersività si basa sui disposiviti che riescono ad isolare ed ingannare la percezione umana di trovarsi all’interno di un mondo virtuale. Laddove sono presenti sistemi come monitor o speakers per il suono ci troviamo davanti ad un ambiente virtuale non immersivo. Basti pensare ad un semplice videogame in prima persona che, per quanto possa essere immersivo, l’utente sa di trovarsi all’interno del

12 Beyond virtual museums: Experiencing immersive virtual reality in real museums - M. Carrozzino - M. Bergamasco, Journal of Cultural Heritage 11 (2010) 452–458

(14)

10 mondo reale. Un sistema che prevede l’uso di HMD dotato di cuffie aumenta l’immersività in quanto ci isola sotto il punto di vista visivo e acustico. Aggiungendo una piattaforma di Stewart13 al sistema precedente, ad esempio, si avrà un ulteriore impatto sulla nostra

percezione della realtà in quanto viene aggiunta una determinata forza come l’accelerazione. D’altro canto sull’immersività influisce anche la quantità di dispositivi necessari per replicare la realtà, così i sistemi che vengono considerati totalmente immersivi e che si avvicinano il più possibile alla realtà fisica sono sistemi come i CAVE14 dove, per visualizzare gli elementi 3D vengono utilizzati solo degli shutter glasses.

Figura 4. Classificazione hardware immersività, Carrozzino e Bergamasco, 2010

13 La piattaforma di Stewart è un meccanismo parallelo a 6DOF costituita da sei articolazioni idrauliche collegati ad una piattaforma. Le articolazioni sono in grado di replicare i tre spostamenti lineari (laterale, longitudinale e verticale) e le tre rotazioni (imbardata, beccheggio e rollio).

Stewart, D. (1965–1966). "A Platform with Six Degrees of Freedom". Proc. Institution of Mechanical

Engineers (UK). 180 (Pt 1, No 15).

14 CAVE (Cave Automatic Virtual Environment): ambiente immersivo per la realtà virtuale composto da diversi proiettori indirizzati verso le pareti di una stanza cubica sincronizzati tra di loro.

Cruz-Neira, Carolina; Sandin, Daniel J.; DeFanti, Thomas A.; Kenyon, Robert V.; Hart, John C. (1 June 1992). "The CAVE: Audio Visual Experience Automatic Virtual Environment". Commun. ACM. 35 (6): 64– 72. doi:10.1145/129888.129892. ISSN0001-0782. Retrieved 6 April 2017.

(15)

11

Figura 5. Classificazione hardware interazione, Carrozzino e Bergamasco, 2010

Anche per quanto riguarda l’interazione invece i sistemi che influiscono sulla presenza all’interno di un ambiente virtuale trovano il punto di partenza in dispositivi non immersivi come mouse e tastiera e, passando per interazioni sempre più naturali, si arriva al Gesture e

speech recognition per interagire con l’ambiente.

Figura 6. Relazione Immersività-Interattività-Presenza

Questa classificazione inoltre ci porta alla suddivisione della realtà virtuale stessa in base al dispositivo o combinazione di dispositivi utilizzati.

(16)

12

1.3 Realtà virtuale

Per realtà virtuale si intende un ambiente digitale, e quindi artificiale, che sostituisce completamente il mondo reale. Per ottenere questo risultato vengono impiegati determinati hardware che non solo sostituiscono il mondo reale con quello virtuale, ma ci permettono di interagire con ciò che ci circonda. Un hardware per la realtà virtuale ha quindi il compito di immergere completamente l’utente all’interno di un luogo simulato. Sebbene nel 1968 Ivan Sutherland con La Spada di Damocle costituisce il primo tentativo di creare un sistema per la realtà virtuale, la tecnologia ha fatto un enorme passo in avanti grazie anche a compagnie come Oculus, HTC o Google, che hanno costruito caschi per la realtà virtuale dotati di cuffie e controller in modo da coinvolgere più sensi possibili e creare un’immersione totale. Al giorno d’oggi vediamo un numero sempre crescente di applicazioni per la realtà virtuale e, sebbene un primo impiego immaginabile sia l’uso della VR all’interno dei videogames, è ben più ampio il loro contesto d’uso. Al giorno d’oggi infatti la realtà virtuale ha visto tantissimi esperimenti che riguardano la medicina, la psicologia, l’educazione, il training militare e non, e i beni culturali.

A livello psicologico la VR può aiutare a gestire le paure di un individuo come l’aracnofobia o quella del public speaking15 permettendo agli utenti di superarle in modo

graduale e in ambiente protetto. Un esempio in ambito medico è RCSI Medical Training

Sim; questa è un’applicazione di training medico sviluppata da mSurgery che simula uno

scenario in seguito ad un incidente d’auto. L’utente imparerà quali sono le procedure in un

15 Poeschl S (2017) Virtual Reality Training for Public Speaking—A QUEST-VR Framework Validation. Front.

ICT 4:13. doi: 10.3389/fict.2017.00013

Slater M, Pertaub DP, Barker C, Clark DM. An experimental study on fear of public speaking using a virtual environment.Cyberpsychol Behav. 2006 Oct;9(5):627-33.

(17)

13 pronto soccorso e avrà il compito di salvare la vita del paziente prendendo decisioni critiche nel minor tempo possibile.

Figura 7. RCSI medical training sim16 Figura 8. VR per il public speaking17

La società ENEL si è affidata alla VRMedia della Scuola Superiore Sant’Anna di Pisa per la progettazione di un ambiente in cui gli operatori possono interagire con ciò che li circonda in maniera sicura, ma ricreando sensazioni reali in caso di errore come ad esempio non indossare guanti isolanti mentre si toccano dei fili scoperti. In ambito militare VirtSim permette l’addestramento condiviso delle reclute replicando qualsiasi scenario e supportando la copresenza fino a tredici persone. Persino la nota azienda di fast-food KFC ha intrapreso l’addestramento dei suoi dipendenti con un sistema di escape room basato sulla realtà virtuale.

16 https://www.oculus.com/experiences/gear-vr/878262692296965/

(18)

14

Figura 9. VIRTSIM per addestramento militare18 Figura 10. KFC VR training19

La realtà virtuale ha trovato terreno fertile anche all’interno dell’ambito dei beni culturali che non sono esenti dal processo di innovazione tecnologica sotto due punti di vista: quello della fruizione e quello della conservazione. Basti pensare ad un’opera non disponibile all’interno di un museo perché esposta temporaneamente dall’altro lato del mondo o ad un monumento chiuso al pubblico o non più esistente, o ancora creare un’esperienza virtuale proiettando l’utente all’interno di un quadro. I beni culturali sfruttano questa nuova tecnologia per raggiungere risultati sempre più incredibili e moltissimi musei in tutto il mondo hanno cominciato a trarne beneficio. Motion Magic ha creato un’applicazione in collaborazione con SamsungVR che ci proietta all’interno della Notte Stellata di Van Gogh, permettendoci di visitare la Saint-Remy de Provence raffigurata secondo lo stile del pittore. A Roma invece, la Ancient&Recent dà la possibilità di seguire un tour virtuale con Oculus VR all’interno del Colosseo e dintorni per visitarlo nel periodo del suo massimo splendore.

18 https://www.rbta.net/virtsim-military-untethered-fully-immersive-requires-360-degree-awareness-motion-reality-inc/

(19)

15

1.4 Realtà aumentata

La realtà aumentata segue un percorso simile alla realtà virtuale ma si sviluppa in tempi e modi diversi. Un primo approccio avviene nel 1901 con Lyman Frank Baum. All’interno del suo libro, The Master Key, ipotizza un dispositivo in grado di mostrare dati all’interno del campo visivo di una persona. In questo caso gli occhiali mostrano a chi li indossa se una persona è buona, cattiva, stupida, intelligente, ecc. tramite il character

marker, una lettera che contrassegna le persone in base alle loro caratteristiche ma questa,

era solo fantascienza. Il punto di congiungimento con la VR è Sensorama, il primo sistema di realtà virtuale sviluppato nel 1952 da Morton Heilig. Questo, assieme alla Spada di Damocle di Sutherland, è una delle basi della realtà virtuale. Nel 1982 la realtà aumentata viene vista in TV grazie al sistema di Dan Reitan utilizzato per la trasmissione delle informazioni meteo. Nel 1990 invece Tom Caudell e David Mizell coniano il termine Realtà Aumentata indicando la sovrapposizione di elementi virtuali ad elementi del mondo reale. I due vennero assunti dalla Boeing per realizzare un sistema che potesse aiutare gli operai in operazioni per il cablaggio di parti elettroniche all’interno di un aeroplano. Il sistema era in grado di visualizzare su un visore l’esatta sequenza di operazioni da compiere per apportare gli interventi di assemblaggio. In questo modo gli operai potevano eseguire i loro compiti senza dover consultare manuali e operare con facilità all’interno di luoghi stretti e con poco spazio di manovra.

Nel 2000 viene pubblicata la prima libreria open source per lo sviluppo di applicazioni per la realtà aumentata: ARToolkit sviluppata da Hirozaki Katu. Con questa libreria si è in grado di eseguire un tracking della posizione della camera del dispositivo all’interno del mondo reale e proiettarla nel mondo virtuale. Alcuni dispositivi utilizzati per la realtà aumentata sono occhiali con camera incorporata che permettono di visualizzare delle informazioni aumentando la realtà che ci circonda, come ad esempio i Google Glasses

(20)

16 o Hololens di Microsoft ma, seguendo la tendenza dell’evoluzione tecnologica, la realtà aumentata sbarca su dispositivi mobili come smartphone o tablet grazie agli SDK di Apple, con ARKit e Google, con Tango prima e Arcore poi, per Android.

Realtà aumentata e realtà virtuale, quindi, si differenziano in quanto la prima utilizza dispositivi che sfruttano il mondo che ci circonda per mostrare le informazioni all’utente, la seconda invece sfrutta un ambiente totalmente artificioso in cui immergere l’utente. Quest’ultimo quindi, con la AR, non è più immerso totalmente in un ambiente virtuale ma condivide la realtà fisica che viene arricchita con le informazioni.

1.5 Ambiti d’uso della realtà aumentata

Come già descritto in precedenza la realtà aumentata può essere applicabile in diversi ambiti. Aziende di ogni tipo si sono avvicinate sempre di più a questa tecnologia con l’obiettivo di sfruttarla nel miglior modo possibile creando esperienze di ogni tipo, che siano di intrattenimento o altro. A livello commerciale ad esempio FX Gear ha progettato FX Mirror20, un camerino virtuale dove è possibile, una volta scansionata la misura del corpo, visualizzare capi d’abbigliamento e che rispondono ai nostri movimenti senza provarli realmente. La nota catena Zara invece ha predisposto all’interno dei suoi negozi dei marker con cui è possibile interagire tramite uno smartphone per visualizzare una sequenza animata di sfilata con il capo d’abbigliamento pubblicizzato. Altri ambiti in cui la realtà aumentata viene utilizzata sono quello militare, l’addestramento di volo, i videogiochi o l’istruzione. Per quanto riguardo i videogiochi una delle prime consolle che supportano la realtà aumentata è il Nintendo 3DS. Entrato in commercio nel 2011veniva distribuito con una serie di giochi che supportavano la realtà aumentata basata sui marker che creavano dei modelli

(21)

17 3D con cui era possibile interagire. Nel 2016 invece Nintendo lancia sul mercato Pokemon

GO sviluppato da GameFreak e Niantic. Il videogioco ha riscosso un enorme successo

arrivando in pochi mesi ad oltre 800 milioni di download, salvo poi non essere più utilizzato per via degli scarsi contenuti. La tecnologia utilizzata per lo sviluppo si basa sulla realtà aumentata geolocalizzata, sfruttando così non solo la realtà per visualizzare i pokémon ma utilizza il mondo reale come mappa di gioco. Su Cai, Xu Wang e Feng-Kuang Chiang21 nel

2014 hanno invece sperimentato l’uso della realtà aumentata nell’apprendimento della chimica molecolare nelle scuole medie. Il comportamento delle molecole è complicato da comprendere essendo queste non visibili ad occhio nudo. Il loro esperimento consiste appunto nell’uso di un’applicazione che sfrutta dei marker per creare dei modelli 3D degli atomi, in modo tale da permettere agli studenti di interagire con i modelli e avere un riscontro visivo dovuto alla loro interazione. La realtà aumentata trova campo fertile anche all’interno della medicina. Basti pensare al quantitativo di dati che un dottore può consultare in tempo reale senza andare a cercare all’interno di archivi cartacei, o le funzioni vitali di un paziente in fase operatoria come frequenza cardiaca o pressione sanguigna, posizione degli organi. Anche in fase di training può essere utile simulando un’operazione e istruendo i medici in tempo reale. Già nel 2005 veniva utilizzata in campo medico con IR Vein Finder, un dispositivo in grado mappare la posizione reale delle vene nel corpo puntando il dispositivo in un determinato punto del corpo. La Case Western Reserve University di Cleveland in associazione con Microsoft e la Cleveland Clinic hanno sviluppato un’applicazione che sfrutta Hololens chiamata HoloAnatomy in cui è possibile esplorare il corpo umano tramite tomografia. Anche in questo caso la realtà aumentata aiuta gli studenti con l’apprendimento del corpo umano che non si basa su immagini 2D, che a volte possono presentare dimensioni

21Su Cai, Xu Wang, Feng-Kuang Chiang, Erratum to “A case study of Augmented Reality simulation system

application in a chemistry course” [Comput. Hum. Behav. 37 (2014) 31–40] Computers in human Behavior, Volume 39, October 2014, Pages 424

(22)

18 o posizioni differenti da quello reale, ma si basa su un modello reale di un corpo umano con cui è possibile interagire.

Figura 11. Vein Finder Viewer22 Figura 12. HoloAnatomy23

La realtà aumentata va in aiuto anche ai turisti che possono ricevere informazioni in tempo reale sui luoghi che stanno visitando semplicemente puntando il proprio dispositivo verso un edificio o un cartello informativo, o ancora può guidare l’utente attraverso un percorso specifico fungendo da guida virtuale.

1.5.1 Realtà aumentata e beni culturali

Negli ultimi anni abbiamo assistito ad un’espansione incredibile dell’uso dei nuovi media all’interno dei beni culturali. Si è andati incontro alla necessità di preservare luoghi ed oggetti antichi che rischiano di scomparire per sempre e, attraverso la realtà virtuale e la realtà aumentata, abbiamo la possibilità non solo di preservarli, ma anche di restaurarli e vivere esperienze che ci portano indietro nel tempo.

22 https://www.ieee.li/pdf/viewgraphs/innovative_infusion_pump_technologies.pdf

23 https://www.geeky-gadgets.com/microsoft-demonstrates-the-future-of-hololens-augmented-reality-applications-10-07-2015/

(23)

19 I musei recentemente hanno cominciato ad adattarsi a questo tipo di tecnologia e così, rinnovandosi, cercano di offrire agli utenti sempre nuove esperienze. In questo modo è possibile offrire nuove possibilità ed esperienze anche a vecchie installazioni. Un esempio può essere una determinata opera d’arte all’interno di un museo: con la realtà aumentata è possibile fruirne non solo nella realtà, ma abbiamo la possibilità, tramite il nostro dispositivo, di ottenere informazioni aggiuntive e poterci focalizzare sui dettagli.

Uno dei primi esperimenti che sfrutta la realtà aumentata risale al 2001. Archeoguide, un sistema che puntava a cambiare il modo in cui i turisti visitano un sito archeologico. Dotati di uno zaino per contenere un laptop a cui collegare il HMD indossato dall’utente per la visualizzazione delle informazioni e un sistema composto da GPS e bussola digitale per il tracking della posizione e dell’orientamento dell’utente, Archeoguide non mirava alla ricostruzione integrale del sito archeologico, bensì cercava di sovrapporre le immagini digitali a quelle reali mostrando contenuti informativi su quello che si osservava24.

Il museo Ara Pacis di Roma è stato uno dei primi a sfruttare la realtà aumentata per sviluppare il progetto “L’Ara com’era”. Questo consiste in una visita reale all’interno del museo tramite un visore per la realtà aumentata. La visita è basata su degli hotspot da visualizzare con il dispositivo e guidata da una voce narrante che spiega ciò che stiamo osservando. Inizialmente viene ricostruita una scena di sacrificio nell’antico campo Marzio trovandoci immersi come spettatore e in seguito è possibile interagire con i bassorilievi che costituiscono l’Ara. Una volta inquadrati, i bassorilievi si animano, vengono ricostruiti gli antichi colori dell’Ara mentre la voce narrante ci guida.

24Tim Gleue, Patrick Dähne, Design and Implementation of a Mobile Device for Outdoor Augmented Reality

(24)

20

Figura 13. Progetto L'Ara com'era - Museo Ara Pacis Roma25

Un importante contributo ai Virtual Heritage viene dato dall’associazione eHritage, un gruppo di istituzioni che collaborano per la produzione di prodotti improntati ai beni culturali digitali. Ne fanno parte istituzioni come la Scuola Superiore Sant’Anna di Pisa, la Unversity of Transilvania of Brasov e il Jožef Stefan Institute. In particolare la SSSUP e la University of Brasov hanno collaborato per lo sviluppo di applicazioni in realtà aumentata come On the

footsteps of Ovid, 2000 years after his death. Il progetto consiste nella creazione di un

ambiente virtuale che sfrutta la realtà aumentata per la visualizzazione di diversi scenari che rappresentano alcuni aspetti della vita del poeta Ovidio. Il progetto è stato sviluppato dopo diversi studi a Costanza in Romania, conosciuta precedentemente come Tomis, colonia greca dove il poeta è stato esiliato. Successivamente i ricercatori della University of Brasov si sono recati a Sulmona, luogo di nascita del poeta, e a Roma, luogo in cui ha vissuto la maggior parte del tempo, per eseguire degli user studies. L’applicazione sfrutta l’uso della libreria Google Tango per far tornare gli utenti indietro nel tempo e, guidati da un avatar virtuale, potranno esplorare interattivamente i luoghi in cui Ovidio è vissuto.

25 https://www.researchgate.net/figure/LAra-comera-Un-racconto-in-realta-aumentata-del-Museo-dellAra-Pacis-Roma-Retrieved_fig1_323620099

(25)

21

Figura 14 e Figura 15. Ovid 2000 Years After His Death

Grazie a VirTimePlace abbiamo la possibilità di visitare monumenti e siti archeologici interamente ricostruiti in 3D e, sfruttando la bussola all’interno del dispositivo ci permette di visitare alcune città spagnole come Cordoba, Barcellona e Murcia, portoghesi come Coimbra e Atene com’era nell’antica Grecia.

(26)

22 Attraverso uno studio è stata sviluppata un’applicazione inerente ai beni culturali è

DinofelisAR26, progetto sviluppato in collaborazione tra il dipartimento di ingegneria informatica della University of Leiria e quello della University of Porto. L’applicazione sfrutta la tecnologia della libreria Vuforia basata sul riconoscimento di un marker per ricostruire interamente un foro romano all’interno del sito archeologico di Conimbriga in cui sono presenti le rovine della città risalenti all’epoca romana.

Figura 18 e 19. Visualizzazione prima e dopo il riconoscimento del marker nell'applicazione DinofelisAR

26Anabela Marto, Alexandrino Gonçalves and A. Augusto de Sousa, DinofelisAR: Users’ Perspective about a Mobile AR application in Cultural Heritage

(27)

23

1.6 Classificazione realtà aumentata

La realtà aumentata viene suddivisa in varie tipologie classificandole in base al loro funzionamento:

1. Projection-Based AR

La Projection-Based AR, come suggerisce il nome, proietta le immagini su una superficie e queste possono essere interattive o meno. Ne sono un esempio le tastiere laser che proiettano l’immagine di una tastiera su una superficie piana e, collegandola via Bluetooth ad un dispositivo come uno smartphone o un tablet, grazie a particolari sensori è possibile scrivere come se avessimo una tastiera fisica.

2. Location-Based AR

La location-based AR sfrutta i sensori all’interno di un dispositivo mobile come GPS, bussola ed accelerometro, per rilevare la posizione dell’utente e mostrare contenuti in base a ciò che si sta guardando. Il maggior uso di questa tipologia di AR è nell’ambito del turismo. L’utente quindi può ricavare informazioni su ciò che lo circonda semplicemente guardandolo tramite il suo smartphone.

(28)

24

Figura 18. Location Based Augmented Reality27

3. Outlining AR

Questa tipologia di realtà aumentata sfrutta delle particolari camere che eseguono un riconoscimento degli oggetti basato sulla loro silhouette. Se ad esempio stiamo guidando in una strada buia, o c’è presenza di nebbia, un’applicazione che sfrutta questo tipo di AR ci potrebbe mostrare i bordi della strada in modo tale da evitare un incidente. O ancora può essere utilizzata nel campo dell’ingegneria per mostrare la posizione dei pilastri di un palazzo.

4. Superimposition-Based AR

Con questo tipo di AR è possibile visualizzare un oggetto virtuale in tempo reale sovrapponendolo ad un oggetto del mondo reale parzialmente o totalmente. ARMedia, ad esempio, propone un’applicazione che, una volta inquadrato il Colosseo, aumenta la realtà non solo ricostruendolo ma dandoci la possibilità di leggere informazioni al riguardo.

(29)

25

Figura 19 e Figura 20. ARMedia Virtual Tour28

5. Recognition-Based AR

Anche la recognition-based AR si basa sul riconoscimento degli oggetti situati nel mondo reale. Il funzionamento di questa tipologia di AR può basarsi sulla presenza di marker (marker-based) o meno (markerless). Per marker si intende una particolare immagine o oggetto che, una volta inquadrati dalla camera del dispositivo, questo decodifica le informazioni memorizzate e le mostra all’utente. Un esempio sono i QR-Code, dei particolari marker che ci danno informazioni aggiuntive su ciò che stiamo vedendo, che sia un prodotto commerciale, un avviso per un evento, un sito web. Lo sviluppo di applicazioni per la realtà aumentata marker-based è possibile grazie ai SDK come Vuforia. Questo sfrutta il riconoscimento delle immagini inquadrate per mostrare dei veri e propri oggetti 3D. La nota azienda Caterpillar ad esempio sfrutta questa tecnologia, in combinazione con Hololens, per aiutare gli operatori in caso di guasto di un macchinario, o per visualizzare le informazioni di un determinato modello di escavatrice.

(30)

26

Figura 21 e Figura 22. Caterpillar Filter Substitution29

1.6.1 Tecnologie Markerless

Per quanto riguarda la tecnologia markerless invece il dispositivo non ha alcun bisogno di riconoscimento dell’immagine, bensì sfrutta i sensori della camera del dispositivo per rilevare ambiente circostante. Google nel 2014 lancia Project Tango, una piattaforma in grado di localizzare la posizione del dispositivo relativamente al mondo fisico sfruttando i particolari sensori di cui il dispositivo era composto. La tecnologia su cui sono basati i dispositivi Tango è una camera ad infrarossi che riesce a rilevare distanza, grandezza e superfici degli oggetti in tempo reale. Il problema di Project Tango era dovuto proprio a questa peculiarità: il dispositivo doveva necessariamente essere dotato di una camera Tango ad infrarossi e, conseguentemente, non riesce a raggiungere un vasto pubblico in quanto i dispositivi commerciali sono solo due: il Lenovo Phab 2 Pro e l’Asus ZenFone AR. Allo stesso tempo Apple comincia a sviluppare il nuovo sistema iOS 11 che include ARKit, una libreria con cui è possibile sviluppare applicazioni per la realtà aumentata e che è supportata da tutti, o quasi tutti, i dispositivi Apple. La risposta di Google ad Apple è stata quella di chiudere il Project Tango e sviluppare una nuova libreria che potesse sfruttare i sensori di base dei dispositivi Android per realizzare applicazioni per la realtà aumentata: Google ARCore.

(31)

27

Capitolo 2 – Progetto e Cenni teorici

In questo capitolo verranno analizzati le tecnologie utilizzate per lo sviluppo dell’applicazione, così come verranno presentati il workflow, una descrizione degli asset che compongono il progetto e l’architettura. Verranno inoltre introdotti dei cenni teorici di base per la comprensione delle implementazioni applicate al progetto.

2.1 Sviluppo del progetto

La prima fase del progetto consiste nello studio del caso e la definizione dell’obiettivo dell’applicazione e, attraverso un colloquio con il direttore del museo archeologico di Cecina, sono state dettate le linee guida per lo sviluppo dell’applicazione. L’obiettivo principale è quello di visualizzare un modello 3D del sito archeologico della Tomba a thòlos di Casaglia e interagire con gli oggetti 3D all’interno della scena per visualizzare le informazioni storiche tramite un dispositivo mobile.

(32)

28 L’utente una volta sul luogo avrà quindi la possibilità tramite il proprio dispositivo mobile di camminare all’interno del sito archeologico per visualizzare contenuti in realtà aumentata, interagire con gli oggetti presenti e ottenere delle informazioni in modo innovativo.

Nella seconda fase di sviluppo del progetto è stata delineata una panoramica sulle tecnologie in grado di sviluppare applicazioni per la realtà aumentata. Sebbene in primo luogo sia stato proposto di utilizzare Google Tango, successivamente è risultato sconveniente in quanto questa libreria è supportata solo da determinati dispositivi. Pertanto, non avendo a disposizione nessuno dei dispositivi che supportassero la libreria, tale soluzione è stata scartata. Inoltre, già nel marzo 2017, Google decise di non continuare il supporto e lo sviluppo della libreria.

Un’altra libreria presa in considerazione è Vuforia. Con questa si è in grado di sviluppare applicazioni per la realtà aumentata ed è supportata da un grande numero di dispositivi. La libreria però, al momento dello sviluppo dell’applicazione, basa il suo funzionamento sul solo riconoscimento delle immagini. Un dispositivo che sfrutta l’image recognition basa la sua funzionalità su un’immagine o un database di immagini che, una volta inquadrate con la camera, viene riconosciuta come marker creando l’oggetto 3D associato. Vuforia poteva essere un buon compromesso per la creazione di contenuti per la realtà aumentata, ma non soddisfando alcuni criteri per raggiungere l’obiettivo del progetto è stata scartata come ipotesi.

Parallelamente alla chiusura di Project Tango, Google annuncia una nuova libreria per lo sviluppo di applicazioni per AR: ARCore. Diretta concorrente di ARKit per sistemi iOS, ARCore punta a sfruttare i sensori della fotocamera degli smartphone invece di utilizzare dispositivi costruiti appositamente come le camere Tango. In questo modo è possibile raggiungere un maggiore pubblico in quanto, al momento della stesura di questa

(33)

29 tesi, anche se i dispositivi Android supportati sono all’incirca venti, Google cercherà di espandere il supporto a tutti, o alla maggior parte dei dispositivi. La scelta di virare su ARCore è data dalle enormi possibilità che ci dà. La libreria infatti riesce a capire l’ambiente circostante e tracciare la posizione e l’orientamento del dispositivo in tempo reale.

Nella terza fase ci si è chiesti quale fosse l’ambiente di sviluppo più consono per lo sviluppo di applicazioni per la realtà aumentata che supportasse la libreria ARCore. La pagina ufficiale di Google ARCore, all’interno della sezione Develop30, ci dà una mano nella scelta dell’ambienti di sviluppo facendo una lista tra quelli più utilizzati tra i quali AndroidStudio, Unreal Engine e Unity. La scelta del motore doveva inoltre basarsi su determinate esigenze sia da parte dell’utente che da parte dello sviluppatore. In base a questo, il game engine Unity è risultato quello che fa al caso nostro in quanto è quello maggiormente utilizzato per questo tipo di applicazioni, è molto versatile, veloce, ben supportato, presenta un’ottima documentazione a cui fare riferimento in caso di necessità, l’interfaccia è molto intuitiva e il workflow molto veloce. La versatilità di Unity è tale da poter essere utilizzato in qualsiasi ambito, dallo sviluppo di videogiochi all’esportazione di applicazioni per il web, dalle applicazioni mobile alla realizzazione di film di animazione, fino ad arrivare allo sviluppo di applicazioni per la realtà virtuale e aumentata.

(34)

30

2.2 Cenni teorici Unity 2017.4.2f2

La versione di Unity utilizzata per questo progetto è la versione 2017.4.2f2. È utile introdurre alcuni concetti base del game engine Unity il quale presenta diverse finestre con cui è possibile interagire:

Figura 24. Interfaccia di Unity - Main Menu Scene

L’engine presenta una scene view in cui è possibile istanziare e modificare degli oggetti 3D, una gerarchia dove sono presenti tutti gli elementi all’interno della scene view e le relazioni parent-children, una finestra chiamata inspector dove è possibile modificare i valori dei GameObject, una game view che ci dà un riscontro visivo in tempo reale di quello che verrà visualizzato in-game, una finestra dove vengono visualizzati gli asset utilizzati all’interno dell’applicazione e una finestra in cui viene visualizzato il contenuto di ogni asset. Ogni oggetto 3D all’interno di Unity viene considerato come GameObject a cui è possibile collegare uno o più component, editabili tramite la finestra dell’inspector e definendo quelle che sono le proprietà. Per spiegare meglio il concetto di component basti pensare ad un GameObject e alla sua posizione, rotazione e dimensione all’interno del mondo virtuale. Queste tre informazioni sono contenute all’interno del component Transform ed ogni GameObject ne possiede uno. È possibile editare il component Transform dall’inspector o da uno script associato. I component quindi non sono altro che script che definiscono le

(35)

31 proprietà di quella classe, personalizzabili tramite l’inspector o accessibili da altri script in base alla loro visibilità. L’applicazione inoltre viene suddivisa in Scenes, scene, diverse l’una dall’altra e paragonabili ai livelli di un videogioco.

Figura 25. Component MainCamera

La Fig.25 mostra i component che costituiscono il GameObject Main Camera, costituita dai component Transform, Camera, Flayer Layer e Audio Listener. Come già detto è possibile accedere alle proprietà di un determinato component per poterle modificare via script, come la sua position, rotation o scale. È possibile anche eseguire controlli sulle collisioni, imprimergli una forza, attivare o disattivare un component o il GameObject stesso, generarlo o distruggerlo.

Un altro concetto importante è quello che riguarda i prefabs. Seguendo la documentazione ufficiale di Unity3D:

“Unity has a Prefab asset type that allows you to store a GameObject object complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. Any edits made to a prefab asset are immediately reflected in all

(36)

32

instances produced from it but you can also override components and settings for each instance individually31.”

ARCore sfrutta questo particolare tipo di GameObject fornendo all’interno degli asset di base dei prefabs che possono essere adattati alle nostre esigenze.

Per quanto riguarda le interazioni tra l’utente e l’ambiente virtuale viene utilizzata la tecnica del raycasting. Questa tecnica si avvale di raggio immaginario che parte da una determinata posizione, prosegue lungo una direzione e colpisce un determinato oggetto. In questo caso la posizione di partenza del raggio sarà data dal punto in cui viene toccato lo schermo e la sua direzione sarà lungo l’asse Z del dispositivo, in questo caso la sua naturale sua direzione. Il raggio proiettato andrà colpire o meno gli oggetti all’interno dell’ambiente virtuale e grazie al raycasting possiamo ottenere informazioni per creare eventi diversi in base all’oggetto colpito.

2.3 Cenni teorici Google ARCore 1.2

La versione di ARCore utilizzata per questo progetto è la versione 1.2, l’ultima pubblicata da Google. Anche per la libreria di Google è necessario un approfondimento sul suo funzionamento in modo tale da poter introdurre le implementazioni. ARCore basa il suo funzionamento su tre principi:

- Motion Tracking

- Environmental Understanding - Light Estimation

(37)

33 2.3.1 Motion Tracking

Questo principio sfrutta un processo chiamato Concurrent Odometry and Mapping (COM) per individuare i cosiddetti feature points, particolari punti che permettono il calcolo della posizione degli oggetti che compongono il mondo reale. Le informazioni recuperate vengono utilizzate per stimare posizione e orientamento del dispositivo relativa al mondo in tempo reale.

Figura 26. I punti azzurri sono i feature point

2.3.2 Environmental Understanding

Il secondo principio permette al dispositivo di rilevare le posizioni e la grandezza degli oggetti sparsi nel mondo reale, sia che essi siano superfici orizzontali, verticali, angolari, etc. Una volta stabilita la posizione e l’orientamento del dispositivo (la cosiddetta

Pose) tramite i feature points, ARCore riconosce le superfici, orizzontali o verticali, e crea

(38)

34

Figura 27. Riconoscimento di piano orizzontali

La griglia visualizzata in Fig.27 aumenterà la sua dimensione fin quando non riconoscerà una superficie diversa e, a quel punto, cambierà colore calcolando quella nuova. La vecchia superficie non verrà cancellata, bensì resterà in memoria una volta calcolata. Una nota per il principio del Environmental Understanding: non è possibile eseguire il tracking di una superficie piana monocolore. ARCore necessita di oggetti diversi e di colori diversi perché una superficie monocolore non presenta alcun feature point calcolabile. Una volta calcolati i feature points e visualizzata la griglia, possiamo posizionare il nostro oggetto 3D nel mondo reale. Il punto in cui compare il nostro oggetto dipende dal punto dello schermo del dispositivo che viene toccato. ARCore esegue un processo di controllo trasformando il punto dello schermo che viene toccato in coordinate X, Y. Dalle informazioni sulle coordinate viene eseguito un controllo che verifica se è stato toccato un piano tracciato in precedenza e, se viene colpito, verrà fissato come punto in cui far comparire il nostro oggetto 3D.

(39)

35

Figura 28. La mascotte Android usata come oggetto 3D nel mondo reale

Una volta creati gli oggetti 3D sarà possibile muoversi con il dispositivo e osservare come gli oggetti creati rimangono fissati al punto che è stato toccato precedentemente. Questo è dovuto agli Anchors, una classe che viene utilizzata per ancorare un oggetto ad un piano virtuale creato durane una Session di ARCore. Il component Transform dell’oggetto ancorato verrà automaticamente aggiornato di frame in frame in base al movimento del dispositivo in modo tale da risultare come oggetto fisso nel mondo reale.

2.3.3 Light Estimation

Il terzo principio invece ci dà una misura della luce ambientale del mondo reale. Questo ci permette di visualizzare un oggetto 3D che viene influenzato dal comportamento della luce del mondo fisico incrementando il realismo.

(40)

36

Figura 29. Light estimation

Con questa funzionalità è possibile influenzare non solo il comportamento degli oggetti 3D all’interno di una scena, ma è possibile influenzare il comportamento della luce incidente sull’oggetto, come ad esempio cambiare colore di uno shader.

2.3.4 Altre funzionalità

Con la versione 1.2 di ARCore sono state inserite nuove funzionalità come la possibilità di utilizzare un’immagine, o un database di immagini, per creare contenuti che aumentano la realtà o la possibilità di creare applicazioni collaborative o esperienze multiplayer tra dispositivi Android e iOS.

(41)

37

Figura 30. ARCore Image Recognition

Unity3D e Google ARCore ci danno quindi la possibilità di creare esperienze nuove con grande facilità. Per quanto riguarda le immagini da utilizzare come marker c’è da dire che non tutte le immagini possono essere utilizzate per questo scopo. La prima caratteristica è che non importa se l’immagine sia a colori o in bianco e nero, l’importante è la presenza di forti punti di contrasto in quanto facilitano la tracciabilità del marker. Un’altra caratteristica è la risoluzione dell’immagine in quanto deve essere almeno di 300x300 pixel ma, contrariamente a quanto si possa pensare, un’immagine ad alta risoluzione non migliora le performance del tracking in quanto, come detto prima, il suo funzionamento è basato sui punti di contrasto. Essendo questa la base per il tracciamento del marker, è sconsigliato l’uso di immagini che presentano scarsi punti caratteristici o che siano ripetitive.

(42)

38

Figura 31 e Figura 32. Esempi di marker

Queste due immagini rappresentano a sinistra la Fig. 31 un’immagine che può essere impiegata come marker in quanto presenta dei punti ad alto contrasto, mentre a destra la Fig. 32 pure avendo degli scarsi punti di contrasto rappresenta un’immagine ripetitiva e quindi impossibile da utilizzare come marker. Unity ci viene in soccorso con la scelta dell’immagine da utilizzare come marker in quanto una volta inserito all’interno del database ci fornisce un punteggio che va da zero a cento che rappresenta il valore di usabilità dell’immagine come marker. Il punteggio consigliato per l’utilizzo come marker è di almeno 75. È possibile inoltre specificare le dimensioni dell’immagine in modo tale da migliorare le performance sul tracking dell’immagine32.

Figura 33. Database di immagini fornito con ARCore

(43)

39 Il database fornito dalla libreria è personalizzabile, conseguentemente possiamo utilizzare un’immagine personalizzata come marker. Come è possibile vedere dalla Fig. 33 è possibile non solo personalizzare l’immagine selezionandone una personalizzata, ma è possibile osservare il punteggio che ottiene come marker e cambiarne il nome e la misura che saranno accessibili come valori all’interno degli script.

(44)

40

Capitolo 3 – Implementazioni

In questo capitolo verranno illustrati gli asset utilizzati per il progetto suddividendo i paragrafi seguendo lo schema delle scene impostato all’interno del BuildSetting. Verranno descritti i GameObjects e i Prefabs, la loro gerarchia e le relazioni esistenti, e il funzionamento degli Script tramite la presenza di codice utilizzato all’interno del progetto

Il dispositivo utilizzato per lo sviluppo dell’applicazione è un Samsung Galaxy S8, uno dei primi dispositivi ad aver ricevuto il supporto per Google ARCore. Al momento dell’importazione del pacchetto di ARCore 1.2, Unity ci dà la possibilità di scegliere quali elementi importare all’interno del progetto. La scelta è stata quella di importare tutti gli elementi presenti per poter sfruttare gli asset della libreria, compresi prefabs, scene e script, per poi apporre delle implementazioni personalizzate in base al nostro caso d’uso. Un approccio iniziale è stato quello di utilizzare l’environmental understanding, quindi il riconoscimento delle superfici piane, per poter scansionare l’ambiente che ci circonda e, con un semplice tocco dello schermo, creare il nostro modello 3D visualizzandolo e aumentando la realtà. Una volta creato il modello, orientato verso la camera dell’utente, è possibile interagire con quest’ultimo per la visualizzazione dei pannelli informativi, o billboard, grazie alla presenza di alcuni hotspot. Sebbene questo approccio potesse risultare quello più indicato per il nostro caso, la versione che sfruttava questo principio non risulta essere user-friendly in quanto l’utente, ogni qualvolta l’applicazione viene avviata, deve calibrare il modello 3D in base alla sua posizione e all’ambiente circostante. La differenza con Google Tango consiste nel fatto che, una volta eseguita la scansione dell’ambiente circostante e calibrata la stanza utilizzata in base alla scansione precedente, è possibile salvarla per poterla riutilizzare anche se l’applicazione viene chiusa. Immedesimandoci in un ipotetico utente, ci

(45)

41 siamo resi conto che poteva essere a volte frustrante dover ripetere il processo di calibrazione, quindi è stata sviluppata una seconda versione con le stesse funzionalità della prima ma che sfrutta il riconoscimento delle immagini. Inoltre, una volta sviluppate entrambe le applicazioni, si è discusso con il direttore del museo archeologico di Cecina su quale potesse essere l’applicazione più fruibile da parte degli utenti ed è stata manifestata una preferenza sull’utilizzo del marker-based in quanto risulta essere più user-friendly. Durante è stato constatato che gli utenti si trovavano a proprio agio utilizzando un approccio che sfrutta i marker come i QR-Code. Di seguito vengono esposti gli elementi utilizzato all’interno del progetto.

3.1 Blender

Non avendo a disposizione il modello originale ricostruito tramite la tecnica della fotogrammetria, un riferimento su cui poter lavorare era necessario, si è deciso di affidarsi al software di modellazione 3D gratuito Blender. Gli asset dell’applicazione, intesi come oggetti 3D da utilizzare all’interno della scena, sono stati modellati a mano cercando di essere il più simile possibile ai modelli reali. I riferimenti utilizzati per la modellazione sono state le foto presenti sul sito web del museo archeologico di Cecina, in quanto presentavano quasi tutti gli elementi necessari e, durante una visita al museo, sono state scattate altre foto per la costruzione di altri elementi come le urne o il corredo funebre. Per la modellazione della tomba è stato costruito un mattone, deformato in Edit Mode a cui è stato applicato un Array Modifier, un modificatore che ci permette di duplicare quante volte si vuole l’oggetto a cui è applicato. All’interno del modificatore è possibile cambiare diversi parametri come la quantità di copie da creare e la distanza tra una copia e l’altra. Un altro parametro utile in questo caso è l’Object Offset che ci permette di sfruttare la posizione e la rotazione di un

(46)

42 altro oggetto presente nella scena per determinare quella del nostro mattone. Creando un EmptyObject, impostandolo come ObjectOffset del mattone e cambiando la sua rotazione sull’asse Z è possibile creare la base della nostra tomba e, una volta creata la base, è bastato duplicare ulteriormente questo livello e applicare trasformazioni e scalature per la creazione della tomba.

Figura 34 e Figura 35. Modellazione 3D thòlos con Blender

Una volta completata la parte di modellazione è stato effettuato l’UV Unwrap per applicare la texture al modello tramite il NodeEditor di Blender e lanciato il rendering per constatare il risultato.

Figura 36. Rendering tomba a thòlos

La tomba non è l’unico oggetto d’interesse presente sul sito archeologico. L’obiettivo, come già detto, è quello di visualizzare le informazioni storiche degli elementi all’interno della

(47)

43 tomba così, dopo un colloquio con il direttore del museo, sono stati decisi gli elementi dovevano essere utilizzati come hotspot e sono stati modellati anche due pezzi del corredo funerario consistenti in: un piatto e un calice in bronzo, le due urne, il corridoio, il pilastro e la statua di un ariete.

Figura 37. Rendering asset utilizzati

Una volta modellati, tutti gli oggetti sono stati esportati in formato FBX in quanto il sistema di coordinate all’interno di Blender e di Unity sono diversi. Scegliendo l’esportazione in FBX Blender ci permette di impostare il nostro sistema di coordinate personalizzato dando la possibilità di impostare i vettori Up e Forward33. È stato scelto il formato FBX in quanto conserva anche le coordinate texture così, una volta importati i modelli su Unity e creato un materiale da utilizzare per il colore, il formato FBX calcolerà le coordinate texture e le applicherà al modello come avvenuto su Blender.

33 L’asse Z di Blender corrisponde all’asse Y in Unity e viceversa. Il vettore Up corrisponde alle coordinate (0, 1, 0) quindi all’asse Y in Unity e Z in Blender. Il vettore Forward corrisponde alle coordinate (0, 0, 1) cioè l’asse Z in Unity e Y in Blender.

(48)

44

3.2 Unity 3D

Una volta importati su Unity si è passati allo sviluppo dell’applicazione. Questa prevede l’utilizzo di tre scene in cui l’utente può navigare e interagire:

- Main_Menu Scene

- AugmentedImages

- Training_Scene

3.2.1 Main_Menu Scene

La Main_Menu Scene può essere considerata come il nodo di congiunzione con le altre scene. La scena, oltre al logo del museo archeologico di Cecina e quello del laboratorio PERCRO, è composta da:

- Un pulsante Start per avviare la AugmentedImages scene.

- Un pulsante Training per avviare la Training_Scene.

- Un pulsante Quit per terminare l’applicazione.

- Un GameObject EventSystem, cioè un manager che gestisce gli input sui GameObject di tipo UI.

(49)

45

Figura 38. Layout Menu principale Figura 39. Gerarchia Main_Menu Scene

Al GameObject SceneManager viene associato lo script component SceneManagement. Questo sfrutta una classe di UnityEngine chiamata SceneManagement mettendoci a disposizione le funzioni per la gestione delle scene. Il nostro script è composto quindi da tre funzioni:

- LoadScene ()che prende una stringa come parametro che corrisponde al nome del nodo della scena da caricare.

- RestartScene(), utilizzato dallo SceneManager della scena AugmentedImages per ricaricare la scena in caso di calibrazione sbagliata.

- QuitApplication ()che non prende alcun parametro in entrata in quanto la sua funzione è unicamente quella terminare l’applicazione.

Figura 40. Funzione LoadScene () dello Scene Manger

Alla funzione OnClick () dei pulsanti Start, Training e Quit viene quindi associato lo SceneManager che prevede l’utilizzo di due funzioni: LoadScene (), dove in questo caso

(50)

46 le stringhe saranno “AugmentedImages” e “Training_Scene”, e Quit (). Una nota per lo SceneManager: per il corretto funzionamento le scene da utilizzare dovranno non solo essere inserite nel BuildSettings, ma devono seguire lo schema di cui sotto.

Figura 40. Schema del BuildSettings

Main_Menu Scene

AugmentedImages

Training_Scene

(51)

47 3.2.2 Training_Scene

Lo scopo di questa scena è quello di spiegare all’utente, attraverso l’uso di immagini e testi, gli step necessari affinché possa utilizzare l’applicazione in modo corretto.

3.2.2.1 Gerarchia Training_Scene

Figura 41. Gerarchia Training_Scene

La Training_Scene presenta alcuni elementi in comune con le altre scene come la Main Camera, la Directional Light, un EventSystem e uno SceneManager. Gli elementi aggiuntivi che troviamo in questa scena sono il Canvas e la presenza del GameObject ImageController. Il Canvas presenta due nodi figli denominati Background che, a sua volta, fa da nodo parent ai due pulsanti chiamati Home e Next e da un GameObject PanelsTraining che funge da parent ai nodi Panel0 – Panel4. La funzione OnClick () di Home è gestita dallo SceneManager per tornare al menu principale tramite la funzione LoadScene (), la funzione OnClick () di Next è gestita invece dal ImageController. L’ImageController è un GameObject vuoto con uno Script component che gestisce la visualizzazione dei Panel0 – Panel4 consentendo all’utente di visualizzare un’immagine per volta per avere ben chiari gli step da eseguire per utilizzare al meglio l’applicazione.

(52)

48

Figura 42. E Figura 43. Panel0 e Panel2 della Training_Scene

Al momento dell’avvio della scena la gerarchia presenta il solo Panel0 attivo, corrispondente al primo step da eseguire; gli altri quattro sono presenti ma inattivi. All’interno dello Script ImageController sono presenti cinque variabili pubbliche di tipo GameObject che corrispondono ai cinque Panel per il training dell’utente che verranno inizializzate all’interno dell’inspector.

public GameObject Panel0; public GameObject Panel1; public GameObject Panel2; public GameObject Panel3; public GameObject Panel4;

Il metodo Update () esegue la chiamata al metodo ShowNextImage (), costruito per controllare e regolare lo stato dei Panel0 – 4 e poterlo modificare da attivo a inattivo e viceversa. Ogni Panel viene attivato e disattivato solo a determinate condizioni stabilite all’interno dello script, cioè verificando l’input da parte dell’utente sul pulsante e

Riferimenti

Documenti correlati

We will describe how this network of pivot signs emerged from the signs developed to describe the bee-bot’s paths and to describe commands given to the bee-bot,

• I costi delle tecnologie e delle applicazioni software di AR & VR hanno subito e subiranno una cospicua riduzione che ne accelererà l’utilizzo (anche grazie ai mobile

Anche in questo caso, come per gli or- ganismi dannosi in agricoltura, il cambiamento globale agisce a due livelli: da una parte, il riscaldamento del clima rende le regioni

IPCC clearly points to ecosystem complexity as a major barrier to assess climate impacts.. IPCC clearly points to ecosystem complexity as a major barrier to assess

Progetto “GAME - Gamification Adventures Make Experience” - Emilio Di Sipio, Funambola Sas Progetto “Formazione immersiva tramite realtà virtuale” - Simone De Santis, Kappaten Srl

Il capitolo procede quindi ad affrontare il passaggio metodologico – ma che soprattutto, e di nuovo, ha a che fare con un passaggio culturale – che vede focalizzare nella messa in

Nel corso di tale progetto è stata realizzata una semplice applicazione di Realtà Aumentata basata sul riconoscimento di marker che permette di interagire con i modelli 3D