VR e AR: Introduzione PDF
Document Details
Uploaded by BoomingLasVegas
Tags
Related
- Introduction to Augmented Reality (AR) and Virtual Reality (VR) PDF
- Introduction to Augmented Reality (AR) and Virtual Reality (VR) PDF
- AI, AR, VR in Marketing PDF
- Réalité étendue (XR) - Technologie, Définitions et Interactions
- Simplified VR and AR Questionnaire PDF
- AR and VR in Education: Transforming Learning PDF
Summary
This document provides an introduction to Virtual Reality (VR) and Augmented Reality (AR). It explores the concepts of these technologies, explaining how they function and highlighting their applications. The text also describes the fundamental differences between VR and AR, focusing on the interplay between virtual and real-world elements.
Full Transcript
Introduzione Gli esseri umani percepiscono il mondo attraverso i loro sensi: ciò che viene visto attraverso gli occhi non è una creazione degli occhi, ma delle regioni celebrali. Le persone possono avere percezioni diverse della stessa realtà e avere lo stesso stimolo ma interpretato in modi diversi...
Introduzione Gli esseri umani percepiscono il mondo attraverso i loro sensi: ciò che viene visto attraverso gli occhi non è una creazione degli occhi, ma delle regioni celebrali. Le persone possono avere percezioni diverse della stessa realtà e avere lo stesso stimolo ma interpretato in modi diversi a seconda del contesto: ad esempio, il colore di un oggetto non è una caratteristica intrinseca dell'oggetto stesso, ma è una sensazione soggettiva che dipende dalla luce riflessa. E’ possibile sostituire uno stimolo proveniente da un oggetto reale con uno stimolo artificiale, in quanto il sistema visivo umano può interpretarlo in modo simile a quello reale, allora l'oggetto artificiale può essere percepito come se appartenente alla realtà. Quindi se si è in grado di generare stimoli indistinguibili dalla realtà in tutti o molti dei sensi umani, allora si va a creare una realtà virtuale perfetta, percepita dal soggetto come la realtà. Ma per ottenere ciò è necessario un ambiente interattivo realistico, che risponda alle azioni del soggetto in maniera naturale e coerente. La Realtà Virtuale VR posiziona un utente all'interno di un ambiente completamente generato al computer. Perciò si ha un sistema informatico composto da hardware e software adatti per implementare il concetto di realtà virtuale. Il contenuto rappresentato è un mondo virtuale, che include modelli di oggetti, la loro descrizione comportamentale e disposizione nello spazio. Un ambiente virtuale è il mondo virtuale presentato con un sistema VR, dove gli utenti perdono il contatto con la realtà. Sospensione volontaria dell’incredulità Indica la capacità umana di accettare temporaneamente l'irrealtà di un mondo immaginario trovando qualcosa di abbastanza realistico e ignorando le contraddizioni evidenti di questo mondo con la realtà. (Coleridge) Perciò non si ha più la necessità di raggiungere la realtà virtuale perfetta per ottenere qualcosa percepita come "abbastanza" realistica. VR viene utilizzata per: - Approccio metodico per trovare nuove forme di interazione uomo-macchina - Interfaccia utente perfetta per alcuni software per la simulazioni di situazioni reali (medicina, manutenzione, intrattenimento, ecc.) - Assorbire e comprendere facilmente i dati (ambito insegnamento, addestramento per personale esperto) - Strumento per scoprire di più sulla percezione umana (fine commerciale e pubblicitario) La Realtà Aumentata AR integra informazioni digitali nell'ambiente fisico percepito dall'utente, come se ne fossero parte, offrendo un'esperienza che fonde il mondo virtuale con quello reale. Infatti l'AR va oltre il computing mobile colmando il divario tra mondo virtuale e reale in maniera spaziale e cognitivo. Realtà Virtuale VR Non ha una definizione precisa, ma presenta caratteristiche essenziali o desiderabili: 1. Focalizzazione sugli aspetti tecnologici 2. Classificazione della VR come una nuova forma di interazione uomo-macchina 3. Enfasi sull'esperienza mentale della VR La VR si basa sui contenuti 3D realizzato con lo strumento Computer Graphics, e utilizzati in tempo reale in modo da ottenere un’esperienza, che dovrebbe essere Immersiva e Interattiva. 1 of 45 Immersività fisica 1. Inclusività I, indica quanto le impressioni sensoriali dell'utente siano generate dal computer anziché dall'ambiente reale. Maggiore è l'inclusività, maggiore è l'isolamento dell'utente dall'ambiente reale 2. Estensiva E, rappresenta il range di modalità sensoriali supportate dall'esperienza VR. Più estensiva è l'esperienza, più modalità sensoriali vengono coinvolte 3. Ambientale S, descrive quanto la presentazione dell'esperienza VR sia panoramica rispetto a essere limitata a una zona ristretta. Una presentazione più ambientale offre una visione più ampia e coinvolgente dell'ambiente virtuale 4. Vivida V, si riferisce alla risoluzione, fedeltà e dinamicità degli stimoli sensoriali all'interno di una particolare modalità sensoriale. Una vivida esperienza VR offre una esperienza sensoriale più ricca e coinvolgente Le interfacce utente per la VR si basano sulle interazioni post-WIMP Windows, Icons, Menus, Pointing, che sfruttano le conoscenze e competenze acquisite in precedenza dalle interazioni con oggetti fisici. La metafora della VR mira a creare un ambiente in cui gli oggetti si comportano realisticamente e l'utente può interagire in modo naturale, percependo il mondo virtuale "da dentro”: le azioni umane in VR devono avere gli stessi effetti e analogamente gli oggetti virtuali nel mondo reale. Presenza E’ il concetto principale per descrivere gli aspetti mentali dell'esperienza VR e si riferisce alla sensazione di essere all'interno dell'ambiente virtuale visualizzato da un sistema VR immersivo. 1. Illusione di luogo, riguarda la sensazione dell’utente di trovarsi fisicamente nel luogo rappresentato dal sistema VR 2. Illusione di plausibilità, si verifica quando gli eventi e le situazioni all'interno dell'ambiente virtuale sono percepiti come credibili e reali. In tal modo, l'utente interpreta gli eventi della VR come se stessero accadendo effettivamente, con la credibilità dell'ambiente virtuale che assume un ruolo più importante rispetto alla realtà sensoriale 3. Coinvolgimento, si riferisce al livello di attenzione e interesse dell'utente nei confronti del mondo virtuale. Un alto coinvolgimento indica che l'utente è profondamente immerso nell'esperienza VR con un forte legame emotivo e cognitivo con l’ambiente virtuale Realtà Aumentata AR E’ una variante della VR, le sue caratteriste principali sono: 1. Combina reale e virtuale, integrando oggetti virtuali sovrapposti o composti con la realtà, mentre nella VR viene creato un ambiente completamente sintetico 2. Interattiva in tempo reale, gli oggetti virtuali sovrapposti al mondo reale sono interattivi, quindi possono essere manipolati dall’utente in tempo reale, offrendo un'esperienza dinamica e coinvolgente 3. Oggetti in 3D registrati, hanno una posizione fissa e una relativa profondità rispetto agli oggetti reali permettendo agli utenti di percepire gli oggetti virtuali come parte integrante dell'ambiente fisico Non richiede necessariamente un dispositivo di output specifico, ma può essere fruibile tramite dispositivi comuni come gli smartphone e tablet. Tuttavia possono includere anche display head-up, display olografici e occhiali intelligenti. Inoltre la AR può coinvolgere diversi sensi, ma risulta complesso implementare tali modalità sensoriali. 2 of 45 Computer Graphics Realtà Virtuale Presentazione Visiva e non immersiva Multimodale e immersiva Pianificazione e Rendering Non necessariamente in In tempo reale della Presentazione tempo reale Generazione di immagini Indipendente dall’osservatore Dipendente dall’osservatore - Prospettiva - Esocentrica Egocentrica Tipologia Scena statica o animazione Interazione e simulazione in precomputata tempo reale Interazione 2D (mouse, tastiera) 3D con movimenti del corpo, mano, testa, gesti e input vocale Realtà Virtuale Realtà Aumentata Presentazione Multimodale e Immersiva (questione aperta per AR) Pianificazione e Rendering In tempo reale della Presentazione Generazione di immagini Dipendente dall’osservatore - Egocentrica Prospettiva Tipologia Interazione e simulazione in tempo reale Oggetti Virtuali 3D Contenuto Puramente virtuale Combinazione realtà e virtuale Tracciamento Si Si e registrazione geometrica 3D Navigazone Implicita (ristretta) e Esplicita Implicita (non ristretta) Stazionario Si Si o mobile Indoor Si Si ed esterno Illuminazione Virtuale Reale e virtuale Scalabilità della Arbitraria No, modelli virtuali possono avere prospettiva dell’utente scalabilità limitata 3 of 45 Il funzionamento della AR coinvolge un Ciclo di feedback tra: - Utente osserva il display AR e controlla il punto di vista - Sistema informatico traccia il punto di vista dell'utente, registra la posa nel mondo reale con il contenuto virtuale e presenta una visualizzazione situata 1. Input dell'utente e movimento della fotocamera: L'utente interagisce con il sistema AR attraverso l'input fornito dal dispositivo, come il touchscreen di uno smartphone o i movimenti della fotocamera 2. Tracciamento della posa: Il sistema traccia il movimento e il punto di vista dell'utente all'interno dello spazio fisico circostante 3. Registrazione del contenuto virtuale: Il sistema registra la posa dell’utente nel mondo reale e compone gli oggetti virtuali in essa, garantendo che siano correttamente posizionati e orientati rispetto al contesto circostante 4. Visualizzazione situata: Il sistema presenta all'utente una visualizzazione della scena combinata, mostrando gli oggetti virtuali sovrapposti all'ambiente reale Realtà Mista MR Viene utilizzata per descrivere un'esperienza in cui contenuti reali e virtuali vengono mescolati insieme. Si distingue dalla AR in quanto coinvolge la fusione di ambienti completamente reali ad ambienti completamente virtuali lungo un Continuum di Virtualità. a. Tutto reale b. Mano e casa reale, oggetto virtuale c. Mano reale, casa e oggetto virtuale d. Tutto virtuale Sistemi VR Devono soddisfare i seguenti requisiti: - Riconoscere le azioni degli utenti - Simulare il mondo influenzato da tali azioni - Permettere agli utenti di percepire un mondo virtuale attraverso stimoli appropriati Sono costituiti da dispositivi di input, output e simulazione del mondo, che, in passato richiedeva numerosi sensori collegati all'utente con dispositivi di input via cavo detti "abiti cablati". Mentre nei giorni d’oggi si utilizzano processi ottici basati su telecamere: - Con marker, modelli noti al sistema VR riconosciuti automaticamente con alta affidabilità - Senza marker, utilizzando telecamere di profondità per estrarre gli oggetti in primo piano e lo sfondo evitando problemi di occlusione o luce Spesso, si utilizzano più dispositivi di input per combinare i dati da questi sensori. Mentre i dispositivi di output presentano il mondo virtuale all'utente in modalità diverse. Il rendering converte il modello del mondo virtuale in stimoli sensoriali per l’utente. Sistemi AR E' un sistema informatico che unisce hardware e software per integrare contenuti virtuali nel mondo reale in modo fluido per l'utente. Dato che i contenuti reali e virtuali sono complementari tra loro, la simulazione deve considerare: 4 of 45 - Parti del mondo reale influenzate dagli oggetti virtuali - Parti del mondo virtuali influenzate dagli oggetti reali A differenza dei sistemi VR, non sono solitamente limitati a una posizione specifica, ma devono affrontare questioni di usabilità in vari ambienti. VR Immersività Rispetto all’immersività fisica VR può essere: 1. Non immersiva, offre un ambiente generato al computer consentendo all'utente di rimanere consapevole e controllare il proprio ambiente fisico. Si basa su schermi desktop o proiezioni, console e dispositivi di input tradizionali 2. Semi-immersiva, offre un ambiente parzialmente virtuale, permettendo agli utenti di percepire una realtà diversa ma rimanendo connessi al loro ambiente fisico. Utilizza grafica 3D dettagliata e interattività, spesso per scopi educativi o di formazione. Si basa su schermi desktop o proiezioni, console e dispositivi di input tradizionali 3. Completamente immersiva, offre un'esperienza di simulazione altamente realistica con un coinvolgimento completo per quanto riguarda la vista e il suono. Richiede occhiali VR o visori montati sulla testa HMD e una grafica ad alta risoluzione e un ampio campo visivo. Spesso utilizzata per il gioco e l'intrattenimento, ma si sta diffondendo anche nei campi dell’istruzione e della formazione Schermi multi-modalità 1. Display audio Riproducono suoni e tonalità del mondo virtuale in modo realistico. Spesso si utilizza un sistema audio semplice per la temporizzazione degli eventi nel mondo virtuale e per l'orientamento dell’utente. Si suddividono in: - Altoparlanti stereo, influisce solo sul volume dell'output per l'orecchio sinistro e destro, fornendo una semplice esperienza di audio spaziale - Sistemi multi-canale, utilizza uno o più altoparlanti principali come fonte audio principale, con altoparlanti aggiuntivi per supportare gli effetti spaziali. Risulta efficace solo in un'area limitata - Suono binaurale, riproduce due toni di frequenze leggermente diverse in orecchie separate, offrendo un'esperienza audio più realistica. L'output è disponibile solo tramite cuffie - Ambisonics, utilizza quattro canali per registrare e riprodurre fonti sonore tridimensionali, creando un campo sonoro immersivo 2. Display tattili Può essere classificato in base al feedback aptico: - Cinestetico/Di Forza, percepito dai nervi nelle articolazioni e nei muscoli - Tattile, orientato alla superficie captato da una varietà di sensori incorporati nella pelle e nei tessuti sottocutanei Si classificano anche in: - Estrinseci equipaggiano ambienti fisici - Intrinseci potenziano l'esperienza dell'utente alterando la percezione tattile e cinestetica con l’utilizzo di guanti, scarpe, gilet, giacche ed esoscheletri aptici Un dispositivo di output aptico è generalmente combinato con uno di input: il feedback aptico è il risultato di un movimento dell’utente, così come un oggetto virtuale può muoversi verso la rappresentazione dell’utente, avatar, e innescare una collisione tra questi oggetti attivando un output aptico. Se l'avvio è fatto dall'utente, si ha Loop aptico (o ciclo di rendering aptico). La 5 of 45 risposta alla collisione risultante induce una modifica della simulazione VR e il calcolo del feedback ideale di forza. - Guanti dati, all’origine erano dispositivi di input, ma nel tempo si sono sviluppati modelli con una componente di feedback aptico (maggior parte limitata a un feedback tattile) - Sistemi basati su aria e ultrasuoni, gli anelli vorticosi utilizzano aria per creare uno stimolo aptico breve, simile effetto creato dai dispositivi basati su ultrasuoni. Una griglia di attuatori può consentire la simulazione di oggetti virtuali più complessi - Gilet e tute, sviluppati per giochi e simulazioni militari, forniscono feedback aptico, possono influenzare la percezione della temperatura e includono un sistema di acquisizione del movimento per l’input 3. Display olfattivi e schermi gustativi - Estrinseci, gli odori provengono da posizioni fisse nell’ambiente e si diffondono verso l’utente - Intrinseci, dispositivi indossabili MetaCookie è un esperimento che combina un display olfattivo con Augmentation Virtuality su un normale biscotto, creando l'illusione di un biscotto aromatizzato (come il cioccolato). Utilizza marker AR applicati al biscotto tramite una stampante alimentare commerciale e un display olfattivo e visivo per creare l'impressione di biscotti con aromi diversi. Le valutazioni hanno dimostrato che questo approccio può portare i partecipanti a percepire un gusto modificato del biscotto aumentato. Visual Output Permettono agli utenti di percepire il mondo virtuale o aumentato in modo simile al mondo reale. I display si riferiscono ai monitor, sistemi di proiezione e quelli indossabili HMD, quindi personali e offrono un sistema di tracciamento integrato o combinato per adattare continuamente la direzione e la posizione di visualizzazione della telecamera virtuale in base a quelli attuali del HMD. Si hanno anche le ottiche binoculari per una visione stereoscopica. Gli occhiali VR isolano l'utente dal mondo esterno, facilitando l'immersione in un mondo virtuale, mentre quelli AR arricchiscono l'ambiente reale aggiungendo contenuti virtuali. Human Visual System Il campo visivo umano è di circa 214° in orizzontale, 130°-150° in verticale e quello binoculare, ovvero l’area che può essere percepita con entrambi gli occhi, è circa di 120° in orizzontale. Il campo visivo FOV è l'angolo di visuale che può essere percepito utilizzando un dispositivo tecnico HMD. L'AR e il VR di alta qualità richiede un dispositivo di visualizzazione deve avere: - Risoluzione sufficiente nell'area di alta acuità, in grado di mostrare dettagli fini e immagini nitide, dove l'occhio umano è più sensibile ai dettagli - Campo visivo sufficientemente ampio Regolando il diametro della pupilla, gli esseri umani possono controllare la quantità di luce che entra nell'occhio. Ciò consente di adattarci a un range dinamico fino a 10^10, coprendo condizioni di visione dall’intensità minima della luce fioca delle stelle a quella massima della luce solare estremamente brillante. Pertanto, un display visivo versatile dovrà essere in grado di adattarsi alle varie condizioni di visione, che rappresenta una problematica nell’AR. 6 of 45 I segnali di profondità, come la dimensione nell'immagine, la prospettiva lineare, l'altezza nel campo visivo, le occlusioni o le ombre e le sfumature, si suddividono in: - Monoculari, in cui i segnali possono essere rappresentati in un'unica immagine tramite il Computer Graphics: un HMD monocolo mostra immagini a un solo occhio, ma si tratta di un approccio che manca di immersione. Mentre, un display bioculare presenta la stessa immagine a entrambi gli occhi dando un'esperienza monocopica e viene usato per HMD VST, in quanto richiede solo uno stream di telecamera singolo - Binoculare, in cui i segnali vengono percepiti da entrambi gli occhi contemporaneamente mostrando stessi immagini, grazie a un hardware di visualizzazione: un HMD binoculare presenta un'immagine separata a ciascun occhio producendo un effetto stereoscopico. Rappresenta un’opzione più adatta per offre migliore qualità per AR/VR, ma comporta un costo tecnico elevato Non See Through Displays - VR Display L'immagine virtuale è generata da un display e ingrandita da una lente. Gli occhiali VR vengono chiamati in tal modo, in quanto, di solito utilizzano un design chiuso per isolare l'utente dal suo ambiente consentendogli solo la visualizzazione del mondo virtuale. Il campo visivo spesso corrisponde quasi al campo visivo naturale ottenendo un'immersione completa. Per ogni occhio viene utilizzata una semplice lente di ingrandimento consentendo all'utente di concentrarsi sul display effettivo. Si hanno tipologie diverse: - Singolo display, gli occhi vedono diverse aree dello stesso display - Due display separati, leggermente inclinati l'uno verso l'altro per un campo visivo più ampio Grazie all'uso di display LCD o OLED, si ottengono alte risoluzioni e luminosità con prezzi ragionevoli. Le versioni a basso costo consentono l'inserimento di uno smartphone come display tramite un supporto HMD. See Through Display - AR Display L'ambiente reale e quello virtuale devono essere combinate e ciò avviene tramite le lenti, attraverso cui l'utente osserva l’ambiente, motivo per cui si chiamano in tal modo. Se le aggiunte vengono proiettate sulla geometria fisica, la tecnologia è descritta come AR Spaziale SAR, basata su proiezione o proiezione spaziale. Si suddividono in: 1. Optical OST Noti come occhiali AR, si basano su un elemento ottico parzialmente trasmissivo e parzialmente riflettente per combinare il mondo virtuale e reale. Sono composti da: - Specchio, che permette alla luce reale di passare attraverso in modo che il mondo reale possa essere osservato direttamente - Display generato al computer, posizionato sopra o di lato allo specchio, che mostra le immagini virtuali e le riflette nello specchio per sovrapporle La combinazione immagini reali e virtuali nella vista dell’utente avviene tramite gli occhi. Problema: in ambienti luminosi, il rapporto di luminosità del display risulta insufficiente rispetto alla luce ambientale, causando una percezione debole dell’immagine virtuale e la sua progressiva trasparenza rispetto alla realtà. 7 of 45 2. Video VST La combinazione tra virtuale e reale avviene in modo elettronico durante il Rendering. Inoltre possono essere utilizzati anche per la VR immersiva. Sono composti da: - Videocamera, che cattura l’immagine video digitale del mondo reale e la trasferisce al… - Processore grafico, che combina l'immagine video con le immagini generate al computer copiando l'immagine video nel Frame Buffer come immagine di sfondo e sovrapponendogli gli elementi generati al computer - Dispositivo di visualizzazione convenzionale, che presenta l’immagine combinata Gli HMD possono essere: - Monoculare: Utilizza un singolo display con ottiche associate per un solo occhio, adatto per AR ma limitato nell'immersione VR - Bioculare: Mostra la stessa immagine ad entrambi gli occhi attraverso ottiche separate, non offrendo percezione stereoscopica. È utilizzato per VST perché richiede solo uno stream di telecamera e minimizza i requisiti di rilevamento e elaborazione - Binoculare: Offre un'immagine separata a ciascun occhio, creando un effetto stereoscopico per una maggiore immersione VR. Richiede sincronizzazione costosa tra telecamere e display I display VST utilizzano due telecamere allineate agli assi ottici degli occhi per percepire il mondo fisico attraverso stereopsi. Tuttavia, la resa realistica dello spazio tridimensionale può essere limitata dalla natura planare delle immagini generate dalle telecamere virtuali, in contrasto con la curva delle retina umane. I display OST mostrano direttamente lo sfondo del mondo reale, consentendo naturalmente la disparità binoculare. Le aggiunte possono essere visualizzate con o senza percezione stereoscopica, offrendo una visione più naturale e realistica dell'ambiente circostante. Attraverso l'utilizzo di display a occhio vicino, l'AR può essere resa sia monoculare che binoculare. Nei display binoculari, sia il mondo reale che le aggiunte possono essere visualizzate con o senza stereopsi. Nei display OST, il mondo reale è mostrato direttamente, mentre le aggiunte possono avere o meno stereopsi, consentendo una visione binoculare più naturale. Spartial Projection SAR La parte virtuale del display AR è generata da un proiettore di luce, che proietta direttamente l’immagine virtuale sugli oggetti reali, anziché su un display separato. Questo elimina la necessità di un combinatore ottico separato, poiché la combinazione avviene naturalmente attraverso gli occhi. Questo tipo di visualizzazione rappresenta un display 3D volumetrico, dove i punti luminosi che creano gli oggetti sono distribuiti in uno spazio tridimensionale. Problema: l’utente passa attraverso la proiezione 8 of 45 Sistemi VR Stazionari Utilizzano display principalmente orientati verticalmente, ma anche orizzontalmente, per l'output visivo, di solito stereoscopico. Possono comprendere schermi di proiezione, grandi monitor o superfici di proiezione sferiche. Per il corretto calcolo della prospettiva, solitamente viene tracciata la testa dell'utente. Spesso sono sistemi monoutente, ma anche da più utenti contemporaneamente utilizzando proiettori ad alta velocità per visualizzare un numero sufficiente di immagini al secondo per mostrare coppie stereo separate. Maggiore è il campo visivo FOV, meno frequentemente un oggetto virtuale dal punto di vista dell'utente raggiungerà il bordo del display, distruggendo l'impressione spaziale. Problema: quando l’utente inizia a spostarsi verso i bordi del display l’esperienza si perde I Display Monofacciali possono essere orientati: - Verticalmente in modo gli utenti possano stare o sedersi di fronte al display. - Orizzontalmente in modo che gli oggetti virtuali sembrano giacere sul tavolo o fluttuare sopra Possono essere utilizzati per visualizzare contenuti virtuali con più utenti contemporaneamente. Di solito, una vista stereoscopica corretta viene generata solo per un utente, mentre gli altri vedono il contenuto virtuale in modo stereoscopico ma in posizioni diverse. Proiezioni Non si utilizzano più i monitor ma sistemi di proiezioni per la visualizzazione delle immagini. Il proiettore illumina la superficie di proiezione dal lato dell’utente o dal lato opposto: - Proiezione frontale, l'utente deve mantenere una distanza sufficiente dalla superficie di proiezione per evitare di ostruire il percorso del fascio del proiettore - Proiezione posteriore, non c'è ostruzione da parte dell'utente, ma è necessario uno spazio più grande per il percorso del fascio del proiettore dietro la superficie di proiezione e sono necessarie tele specifiche costose Multi-sided Display 1. Forme a L offrono un notevole vantaggio rispetto ai display unilaterali, soprattutto nella presentazione stereoscopica, grazie a una maggiore capacità di visualizzazione dei contenuti virtuali. Ma in caso di forme a L più grandi può essere necessario che l'utente stia sopra il display orizzontale. In presenza di un monitor o pannello, il display deve avere adeguate proprietà ottiche e una stabilità statica sufficiente per supportare in modo affidabile uno o più utenti 2. CAVE è una struttura composta da display disposti a formare un cubo, con 3 o 6 lati. In uno a 6 lati, l'utente è completamente circondato dal mondo virtuale e vengono utilizzare solo proiezioni posteriori. Talvolta la rappresentazione stereoscopica viene omessa per la proiezione a pavimento. L'utente può muoversi liberamente all’interno e ha una percezione di sé Problema: La rappresentazione può essere calcolata correttamente solo per la posizione di un singolo utente in base al suo punto di vista. Per questo motivo in presenza di più utenti si 9 of 45 viene a creare un fastidioso offset ai confini tra le superfici di proiezione, ovvero ai bordi del cubo. Ciò può portare alla cancellazione dei fotogrammi nel caso in cui le parti di un oggetto virtuale si estendono su più superfici di proiezione 3. Display sferici (Dome se 360°) consistono in uno schermo curvo su cui l'immagine viene di solito visualizzata con l'aiuto di diversi proiettori, in cui si hanno inevitabili sovrapposizioni delle loro immagini. Queste aree vengono sempre regolate tramite software o barriere fisiche, in modo che le transizioni appaiano continue e fluide all’utenti 4. Tiled Tiles, in quanto la risoluzione e la luminosità dei proiettori e dei monitor sono limitate e non possono essere aumentate a piacimento, per ottenere una maggiore risoluzione o dimensioni più ampie con una qualità elevata si è pensato di suddividere i display in più schermi o proiettori, e combinarli in modo che l'utente li percepisca come un unico sistema più grande. Di solito utilizzano un cluster di computer per calcolare le immagini di output e per calibrarli nella creazione di un'unica superficie di visualizzazione Ocularity and Stereoscopia Il processo di Rendering degli oggetti virtuali utilizzando il modello Pinhole Camera produce immagini nitide degli oggetti indipendentemente dalla loro profondità di messa a fuoco. La convergenza degli occhi verso un punto, insieme all'accomodamento della vista a diverse distanze, consente al sistema visivo di percepire la profondità degli oggetti. Il cervello utilizza le informazioni sulla disparità tra le immagini percepite dai due occhi insieme ad altre indicazioni di profondità per calcolare la distanza degli oggetti. Vergence Accomodation Conflict - Distanza di Convergenza è la distanza fino alla quale gli occhi devono convergere affinché entrambi possano focalizzare al massimo un punto nello spazio - Distanza Focale è la distanza fino alla quale gli occhi devono accomodare per portare l'immagine di quel punto nello spazio a fuoco nitido. Nella visione naturale sono uguali tra loro, mentre nell'AR, gli occhi dell'osservatore devono mantenere l'accomodazione sullo schermo del display (manca quindi la relazione naturale tra l'accomodazione e i movimenti di convergenza degli occhi) e percepire correttamente la distanza degli oggetti mostrati. Non c'è modo di evitare che gli occhi dello spettatore convergano sulla superficie del display, poiché questo è l'unico modo per garantire che l'immagine mostrata sullo schermo possa essere percepita nitidamente. Problema per l'AR OST con Rendering Stereoscopico: l'utente vedrà il mondo reale con segnali di accomodazione corretti, mentre per vedere le annotazioni virtuali a fuoco, l'utente dovrà accomodare il piano dell'immagine del display. Le persone riescono ad adattare l'accomodazione facilmente a piacimento, ma potrebbero insorgere un aumento della stanchezza visiva e del disagio con un uso a medio o lungo termine. Occlusion VTS L'occlusione tra oggetti virtuali e reali è cruciale per la percezione della profondità in una scena di AR. Mentre l'occlusione tra oggetti reali è naturale, quella tra oggetti virtuali richiede l'uso di un Buffer di Profondità, noto come z-buffer, utilizzato nella grafica computerizzata per il rendering di una scena in modo da garantire che i poligoni corretti occultino correttamente altri. 10 of 45 L'occlusione corretta dei virtuali davanti ai reali, o viceversa, è realizzabile solo se è disponibile una rappresentazione geometrica della scena reale. Si possono distinguere due casi: - Oggetto virtuale è davanti a quello reale, allora l’oggetto virtuale viene disegnato semplicemente sopra lo sfondo video oscurando eventuali oggetti reali presenti - Oggetto virtuale è dietro a quello reale, allora è necessaria una strategia per distinguere gli oggetti virtuali visibili da quelli occultati durante il rendering Phantom Rendering E’ una tecnica che consiste nell’utilizzo di una rappresentazione virtuale Phantom di un oggetto reale, che viene reso invisibile modificando il z-buffer: vengono stabiliti i valori corretti di profondità di un modello virtuale per l'oggetto reale visibile nel video, in modo che l'oggetto virtuale possa essere apparire oscurato o parzialmente oscurato. I principali problemi sono: - Modelli virtuali, che non rappresentano fedelmente i loro corrispondenti reali, non possono produrre maschere di occlusione corrette - Registrazione statica errata tra il virtuale e il mondo reale, perciò la parte oscurata sarà nella posizione sbagliata - Registrazione dinamica errata derivante da errori di tracciamento, che può portare anche ad una registrazione statica errata per una stime errata della posizione della telecamera Possibili soluzioni sono: - Metodi di Raffinamento, si basa sull'idea che solo i confini di un Phantom devono essere accurate per poter ottenere un'occlusione corretta tra oggetti virtuali e reali - Modello Probabilistico, utilizzato in presenza di modelli articolati, come un essere umano in movimento, per le aree in cui non è possibile stabilire un tracciamento preciso, come le mani umane. Consiste in multiple superfici nidificate, che diventano più trasparenti dal più interno al più esterno, in modo che la trasparenza osservata nell'immagine finale corrisponde approssimativamente alla probabilità che la mano si trovi in una particolare regione - Model-free Occlusion, l’AR dovrebbe operare in ambienti reali dinamici, ma non è sempre possibile ottenere gli oggetti Phantom in anticipo. Esistono tecniche per facilitare il suo ottenimento sia attraverso misure hardware (uso di un sensore di profondità dedicato) sia facendo determinate ipotesi Occlusion OST Nei sistemi OST, dove le aggiunte spesso appaiono come sovrapposizioni semitrasparenti, è più difficile far sembrare che gli oggetti virtuali siano veramente davanti agli oggetti reali. Questo perché gli oggetti virtuali possono essere resi molto luminosi rispetto all'intensità con cui sono visibili gli oggetti reali, rendendo gli oggetti virtuali dominanti. Si è pensato di illuminare la parte rilevante della scena reale con un proiettore controllato da computer, in modo che gli oggetti reali oscurati dagli oggetti virtuali rimangano al buio. 11 of 45 Resolution e Refresh Rate / FOV La risoluzione è limitata dal tipo di display e dal sistema ottico. Nei sistemi VST, la risoluzione del mondo reale è ulteriormente limitata dalla risoluzione della fotocamera. Una risoluzione sufficiente è desiderabile per sopprimere artefatti disturbanti delle immagini generate al computer che spiccano rispetto alla percezione dell'utente del mondo reale. Per AR e VR frame rate superiori a 60Hz e per la resa di movimenti rapidi senza sfocature 120Hz. Il campo visivo FOV e la risoluzione sono correlati, poiché un FOV più ampio richiede più pixel per essere riempito con la stessa densità. Nell'AR, i FOV si distinguono in: - Di sovrapposizione, dove avviene l'aggiunta di elementi virtuali - Periferico, dove l'ambiente osservato non è modificato Le limitazioni del FOV sono comuni negli schermi VR e soprattutto negli AR, riducendo l'immersione e la presenza dell'utente nelle scene visualizzate. Nei sistemi VST, la fotocamera spesso ha un FOV più ampio dello schermo, causando una compressione dell'immagine della fotocamera. Gli HMD mirano a un FOV di sovrapposizione ampio, mentre la risoluzione è importante per applicazioni specifiche come nell’ambito della chirurgia. Luminosità e contrasto In situazioni all'aperto o in ambienti molto luminosi, la maggior parte dei display per computer non è abbastanza luminosa per ottenere un contrasto sufficiente: - OST display dipendono dalla trasparenza del combinatore ottico - VST display possono modificare luminosità e contrasto a piacimento, purché il display stesso possa fornire un contrasto sufficiente, e dipendono criticamente dal corretto funzionamento dei componenti elettronici Indizi di Profondità Sono utilizzati dal cervello per la percezione dello spazio: - Monocolare (o pittorica), non richiede l'interazione di entrambi gli occhi - Binoculare, necessita di entrambi gli occhi, o di un'immagine stereoscopica, per essere percepito Diversi indizi possono aiutare a stimare la posizione spaziale di un oggetto in modo: - Assoluto grazie alla convergenza - Relativo grazie all’occlusione Il valore informativo e l’affidabilità dei vari indizi di profondità dipendono in particolare dalla distanza dell'osservatore rispetto all'oggetto rispettivo. Il cervello può anche ottenere indizi da altri sensi (suoni, tocco, ecc.) sulla disposizione spaziale di un oggetto. Dinamico L’osservatore riceve indizi di profondità attraverso il movimento Prospettiva Si basa sulla distorsione prospettica: gli oggetti più lontani appaiono più Lineare piccoli, le linee parallele sembrano convergere in un punto di fuga Relative Size Gli elementi di texture diventano più piccoli con l’aumentare della distanza. In presenza di oggetti simili con dimensioni diversi il sistema visivo assume che tale differenza di dimensione è data dalle differenti distanze 12 of 45 Known Size Dati due oggetti vicini se si conoscono le dimensioni e l’orientamento nello spazio di uno allora è possibile assumere le caratteristiche dell’altro Prospettiva Gli oggetti molto distanti appaiono più sfumati rispetto a quelli più vicini che Atmosferica presentano un contrasto più forte, così anche l’illuminazione degli oggetti Ombre Gli oggetti proiettano ombre sulle superfici in base alla direzione dell’illuminazione, in particolare quando sono proiettate dall’alto poiché il sistema visivo è abituato a una sorgente luminosa dall’alto (Sole) Frame Cancellation I display utilizzati per presentare i mondi virtuali di solito presentano diverse imperfezioni. La stessa superficie dei display viene generalmente riconosciuta come tale e può distrarre, soprattutto il bordo può essere percepito come fastidioso. La Frame Cancellation è quando un oggetto virtuale si avvicina al bordo del display tanto da toccarlo, l'illusione che l'oggetto sia di fronte al display, secondo la disparità, viene improvvisamente persa e ritorna ad essere percepito dietro del display poiché sembra essere occluso dal bordo stesso. Sickness L'utilizzo di un HMD per 10min diventa stressante per il sistema visivo - Motion Sickness: vengono percepiti effetti collaterali quando gli utenti si muovono o vengono mossi all'interno di un’applicazione - Cybersickness: si verificano sintomi anche se l'utente non si sta muovendo affatto nelle applicazioni VR/AR Le cause non sono ancora conosciute ma si parla di Teoria del Conflitto Sensoriale, ovvero i problemi si verificano quando le percezioni sensoriali sono inconsistenti creando uno stimolo fisico contrastante. Tracking for VR and AR E’ la misurazione dinamica delle proprietà spaziali di un oggetto, ovvero il processo per determinare continuamente la posizione e l'orientamento di un oggetto (mano o testa, controller, occhi), dato un dispositivo di input. Il movimento di un corpo rigido non deformabile può essere traslato nello spazio o ruotato attorno a tre assi perpendicolari. Il Grado di Libertà DOF è il numero dei possibili movimenti indipendenti che l’oggetto rigido può fare nello spazio tridimensionale. Un corpo rigido ha 6 DOF: - 3 coordinate come posizione - 3 angoli per descrivere l'orientamento per ciascun passo temporale Perciò il tracking consiste nel determinare o stimare i valori corrispondenti a questi gradi degli oggetti tracciati per un'interazione continua. Nei sistemi VR immersive o semi-immersive viene tracciata la posizione gli utenti, che va ad influenzare la posizione della telecamera del VR. Sistemi di Tracking Rotazionale 3DOF Questi headset presentano una semplice forma di Tracking in VR e si basa su Sensori InBuilt (accelerometri, giroscopi e magnetometri) per misurare il movimento dinamico rotazionale ma non la traslazione, ed è possibile tracciare: - Sguardo a destra o a sinistra 13 of 45 - Rotazione della testa sopra o sotto - Movimento a destra o a sinistra Sono utilizzati nella visualizzazione di video o immagini a 360°, esaminare l’interno di una casa in VR prima dell’acquisto, esercitarsi nel tenere un discorso durante una conferenza. Sistemi di Tracking Posizionale 6DOF Questi headset consentono di tracciare il movimento di traslazione e quello rotazionale, ed è possibile determinare se l’utente sta ruotando la testa e se si sta muovendo: - Avanti o indietro - Lateralmente o verticalmente - Su o giù Per visualizzare gli oggetti virtuali registrati agli oggetti reali nello spazio tridimensionale, è necessario conoscere almeno la Posa Relativa, poiché l’AR opera in tempo reale e in ambienti reali. Le misurazioni della posa devono essere continuamente aggiornate nel tempo, Tracked Over Time, e allineate con esse. Il Tracking in AR consiste sostanzialmente nel Tracciamento 3D della posizione 3D o della posa a 6 dimensioni delle entità reali. Calibrazione E’ il processo di confronto tra misurazioni effettuate con due dispositivi: - Di riferimento, o un valore di riferimento/sistema di coordinate conosciuto - Da calibrare L'obiettivo è determinare i parametri in modo da fornire misurazioni su una scala conosciuta riuscendo così ad utilizzare il dispositivo da calibrare. La Calibrazione Spaziale fornisce una regolazione offline, ovvero può essere calcolato una sola volta per sempre o all’avvio. In AR e VR, è necessario calibrare i componenti del sistema, in particolare i dispositivi utilizzati per il tracciamento. - Registrazione in AR si riferisce all'allineamento dei sistemi di coordinate tra oggetti virtuali e reali. I STD dovrebbero mostrare gli elementi di computer graphics in modo che si allineino con gli oggetti del mondo reale - Ottenere una registrazione statica, quando l'utente o la telecamera non si muove, richiede la calibrazione spaziale del sistema di tracciamento per stabilire un sistema di coordinate comune tra oggetti virtuali e reali - Ottenere una registrazione dinamica, quando l'utente o la telecamera si muove, richiede il tracciamento Spatial Display Model in AR Le informazioni dei dispositivi AR sono ottenute attraverso l'interazione di varie trasformazioni coordinate: - Trasformazione del modello, descrive la posa degli oggetti in movimento in un ambiente reale statico e può essere tracciata consentendo la registrazione. Quindi descrive la relazione tra le coordinate locali dell'oggetto in 3D e quelle globali del mondo in 3D - Trasformazione della vista, descrive la posa di una fotocamera/sensore di tracciamento/ display in un ambiente e può essere tracciata consentendo la registrazione. Quindi descrive la relazione tra le coordinate globali del mondo in 3D e quelle della vista/Observer in 3D - Trasformazione prospettica/proiettiva, descrive la mappatura dalle coordinate degli occhi alle coordinate dello schermo. Quindi descrive la relazione tra le coordinate della vista in 3D e quelle del dispositivo in 2D 14 of 45 Le trasformazioni dipendono dalla configurazione del sistema AR e dalla tecnologia di Tracking. Alcuni parametri possono essere calibrati offline, mentre altri cambiano da frame a frame e richiedono il tracciamento, che misura proprietà fisiche rispetto a un dato sistema di coordinate: - Locale, implica misurazioni su scala ridotta stabilita dall'utente, utilizzando un approccio specifico (es. misurare la posizione rispetto a un angolo della stanza) - Globale, implica misurazioni su scala mondiale/relativa all'intero pianeta (es. bussola misura l'orientamento rispetto al campo magnetico terrestre) Il tracciamento degli oggetti è necessario se si è interessati a spostare oggetti reali nella scena AR, quindi per impostare la trasformazione del modello. Mentre le posizioni degli oggetti statici possono essere misurate una volta e non necessitano di essere tracciate. Determinare la Trasformazione della Vista può essere più complesso perché si possono avere diversi componenti coinvolti: - Se l'utente si sta muovendo rispetto al display, è necessario il tracciamento della testa e occhi - Se il display si sta muovendo rispetto al mondo, è necessario il tracciamento del display - Se viene utilizzato un display VST, è necessario anche il tracciamento della fotocamera, poiché la percezione dell'utente del mondo reale avviene attraverso la fotocamera Il modello spaziale della maggior parte dei AR display può essere definito come la relazione spaziale di fino a 5 componenti: - Occhi dell’utente - Display - Fotocamera - Oggetto virtuale da aggiungere - Mondo I display AR possono essere suddividi in base alla distanza occhi-display: - Head space (HMD) - Body space (Handheld Display) - World space (Stationary e Projected Display) Dispositivo Componenti coinvolti Senza eye tracking Con eye tracking OST HMD - Occhi - Display - World 15 of 45 VST HMD Configurazione rigida - Occhi - Display non see-through - Fotocamera calibrata - World In AR è preferibile avere una vista del display allineata con la visione naturale dell’utente in modo da mantenere la percezione del mondo intatto, simile a OST Handled - Occhi Display - Fotocamera montata rigidamente - Display portatile - World La trasformazione dalla telecamera al display può essere precalibrata. Il tracciamento della posa del dispositivo nel mondo avviene attraverso la telecamera, in alcuni casi si hanno anche altre modalità di tracciamento Projected - Occhi Display - Proiettore - World Scena AR statica -> nessun tracking Se si ha un insieme di proiettori per far emergere oggetti virtuali 3D di fronte alla superficie allora bisogna tracciare l’utente, poiché solo con la giusta prospettiva si ottiene l’effetto desiderato. Se si ha un insieme di proiettori, che proietta immagini sovrapponibili su una superficie complessa, viene generalizzato come un unico display calibrato rispetto al mondo. Come avviene il Tracking Per fare il tracking è necessario organizzare i sensori, che vanno a percepire un segnale, andando a misurare un fenomeno fisico. Il fenomeno fisico viene scelto in base al tipo di tracking, che si vuole fare, sfruttando radiazioni elettromagnetiche, il suono, il collegamento fisico, la gravità e l’inerzia. La misurazione viene fatta seguendo il Principio di Misurazione, che misura la potenza, la direzione del segnale e il tempo di volo e le proprietà elettromeccaniche. 16 of 45 Se si stanno esaminando oggetti geometrici allora si considera Proprietà Geometrica Misurata, in cui si misurano distanze ed angoli utilizzando metodi matematici come: - Trilaterazione determina le posizioni dei punti da almeno tre distanze misurate - Triangolazione determina le posizioni dei punti da due o più angoli misurati, assumendo almeno una distanza nota Un approccio comune è utilizzare più sensori insieme in una Configurazione Geometrica Rigida conosciuta. Se si voglio misurare grandezze vettoriali, come l'accelerazione, è necessario disporre tre sensori ortogonalmente in corrispondenza alle tre direzioni x, y, z. Se vengono utilizzate più configurazioni di sensori, allora è necessaria la Sincronizzazione dei sensori per garantire l'acquisizione simultanea delle misurazioni, tale processo è chiamato Fusione dei sensori, oppure è necessario gestire il fatto che le misurazioni provenienti da due sensori possono essere effettuate leggermente in momenti diversi. Le Source forniscono il segnale che viene captato dai sensori. Queste devono essere posizionate in una configurazione geometrica conosciuta. Possono essere: 1. Passive: si basano su segnali naturali presenti nell’ambiente (luce naturale o il campo magnetico terrestre). Se non è evidente nessuna source esterna, il metodo di segnalazione è detto Sensing senza sorgente 2. Attive: si basano su una forma di elettronica per produrre un segnale fisico. Le fonti ottiche, acustiche e alcune fonti di onde radio richiedono una linea di vista aperta affinché il segnale viaggi fino al sensore senza essere disturbato. Si suddividono in: - Dirette con Outside-in Tracking: la source è montata in modo fisso sull'oggetto di interesse e osserva un oggetto in movimento, come un display indossabile sulla testa - Indirette con Inside-out Tracking: l'oggetto tracciato riflette il segnale proveniente da una source situata altrove nell’ambiente, che si muove con l’oggetto e osserva i riferimenti fissi nell’ambiente. E’ necessario conoscere le proprietà geometriche dei punti riflettenti sull'oggetto di interesse, e non delle fonti stesse Tipologie di Tracking 1. Optical 2. Stazionari (adatti VR) - Meccanico: Viene fatto il tracking del punto terminale di un braccio articolato con due o quattro articolazioni, dove gli angoli alle articolazioni vengono rilevati. Tale configurazione può fornire un feedback sulla forza e la maggior parte dei sistemi può fornire misurazioni solo per un singolo punto. Vantaggi: alta precisione e alta frequenza di aggiornamento Svantaggi: libertà di movimento limitato dalla struttura meccanica, configurazione esterna- interna, è indesiderabile la presenza del braccio articolato nel campo visivo per le applicazioni di AR 17 of 45 - Elettromagnetico: Utilizza una sorgente stazionaria che produce tre campi magnetici ortogonali, misurando la posizione e l'orientamento contemporaneamente tramite piccoli sensori collegati con cavi e dotati di tre bobine ortogonali. Raramente utilizzati per AR. Vantaggi: inside-out tracking, non richiede una linea di vista aperta e può gestire le occlusioni Svantaggi: range operativo limitato a causa della diminuzione della forza del campo con l’aumentare della distanza, e della lunghezza del cavo dei sensori - Acustico: Utilizza ultrasuoni inudibili all’orecchio umano sfruttando le differenze nel tempo di volo TOF o nella fase delle onde sonore. Si hanno un trasmettitore e un ricevitore, uno tra i quali è collegato all’oggetto tracciato, potendo così determinare la loro distanza. - Setup con un trasmettitore e 3 ricevitori consente di determinare la traslazione 3DOF - Setup con 3 trasmettitori e 3 ricevitori l’orientamento 6DOF Vantaggi: più economici Svantaggi: limita la posizione dell’oggetto a una superficie sferica intorno al trasmettitore, sensibilità ai cambiamenti di temperatura o pressione dell’aria poiché richiede una ricalibrazione del sistema 3. Mobili (adatti AR) Gli utenti all'aperto non possono fare affidamento sulla costante qualità dei servizi wireless. Il rilevamento e il calcolo per il tracciamento devono essere eseguiti localmente sul dispositivo mobile, di solito senza l'ausilio di infrastrutture nell’ambiente, proprio perché sono dotati di una serie di sensori. - Bussola inerziale, misura l’orientamento assoluto considerando il campo magnetico terrestre - Accelerometri, misura l'accelerazione lungo un asse e viene utilizzato per l’inclinazione e la rotazione relativa. Si ha un approccio MEMS (micro-sistema elettromeccanico), in cui l’accelerazione esercita una forza su una piccola massa e lo spostamento risultante viene misurato lungo ciascun asse principale separatamente, eliminando gli effetti della gravità e integrando numericamente per due volte si ottiene la posizione - Giroscopio elettronico misura la velocità di rotazione, che integrato numericamente si ricava l’orientamento. Si hanno anche giroscopi: - Laser, troppo grandi e costosi (non adatto per AR) - A fibra ottica, offrono una precisione molto migliore rispetto ai giroscopi… - Meccanici Vantaggi: nessun trasmettitore, piccolo, economico, alta frequenza, senza fili Svantaggi: deriva, isteresi - GPS misura il tempo di volo dei satelliti in orbita terrestre per stimare una posizione 3D e rappresenta un sistema inside-out delle dimensioni del pianeta. Spesso vengono utilizzate solo longitudine e latitudine, raramente l’altezza poiché è più soggetta a errori di misurazione. I satelliti conoscono la propria posizione e condividono lo stesso orario, un sensore, che 18 of 45 riesce a percepire segnali GPS se provengono da almeno 4 trasmettitori diversi, triangola e determina la posizione con coordinate globali. Vantaggi: sistema inside-out con la Terra come punto di riferimento, molto precisa negli ambienti aperti con una precisione di 0,5-1m Svantaggi: l’orientamento non è determinabile se non tramite altri sensori, non è adatto per il tracking ad alta precisione poiché crolla drasticamente in città - Wireless, (WiFi, Bluetooth e mobile) ogni stazione base, che offre connettività wireless, trasmette un identificatore univoco (ID) utilizzato per determinare la propria posizione Vantaggi: beacon a basso consumo e costo basati su Bluetooth, posizione stimata tramite WiFi punti di accesso triangolando tramite la potenza del segnale Svantaggi: precisione di 5-100m (dipende dalla densità dei punti di accesso WiFi) Optical Tracking and other Devices Si basa sull’idea dell’utilizzo degli oggetti registrati nello stream video per determinare la posizione e l'orientamento relativi degli oggetti rispetto alla telecamera. Questo può essere fatto con o senza l'uso di marker. Le telecamere possono essere: - Dirette verso l'oggetto da monitorare dall'esterno (Outside-Looking-In) - Montate sull'oggetto stesso e registrare l'ambiente circostante (Inside-Looking-Out) Per consentire l'illuminazione di una scena senza abbagliare gli utenti, spesso si utilizzano telecamere a infrarossi. I marker possono essere: - Attivi, emettono luce con LED infrarossi, da sincronizzati con le telecamere tramite flash infrarossi. Poiché è possibile che le telecamere opposte tra di loro vengano accecate, vengono fatte lavorare alternativamente - Passivi, riflettono la luce infrarossa Il Tracking fornisce informazioni su: - Posizione 3DOF tramite un singolo marker - Posizione e orientamento 6DOF di un corpo rigido target tramite un insieme di marker, che lo compongono. La struttura geometrica dei target deve essere comunicata al sistema di tracciamento tramite la calibrazione dei marker Le telecamere di tracciamento scansionano un'area specifica e registrano la radiazione riflessa in un'immagine in scala di grigi. Questi dati vengono pre-elaborati per fornire le posizioni 2D dei marker. Per ottenere le coordinate nello spazio di un marker o di un target, sono necessarie almeno due telecamere che scansionino contemporaneamente la stessa area. La calibrazione delle procedure di tracciamento Outside-In con marker coinvolge solitamente l'uso di oggetti di prova noti geometricamente, spostati nella stanza monitorata. I dati delle telecamere vengono trasmessi a un Controllore di tracciamento Centrale, che calcola le posizioni 3D dei marker o i dati 6D dei corpi rigidi mediante triangolazione. Per proiezioni multi-facciali come CAVE, sono presenti telecamere speciali installate negli angoli che consentono un tracciamento ottico preciso, con interferenze ottiche trascurabili agli utenti. Marker Tracking with B/W markers Viene utilizzato con telecamere RGB. Sono di solito quadrati o rotondi, delimitati da un bordo completamente nero o bianco. Un marker quadrato fornisce 4 angoli sufficienti per 19 of 45 l’orientamento. Solitamente devono essere applicati direttamente sull'oggetto AR. Spesso disturbanti rispetto all'oggetto reale. Limitazioni del Marker Tracking: - Occlusioni parziali causano il fallimento del tracciamento e sono dovute dall'interazione con l’oggetto, proprio perché i marker sono facilmente coperti dalla mano/braccio dell’utente - Influenzati dalla luce e dalle ombre - Range di tracciamento dipende dalla dimensione del marker poiché vengono applicati direttamente sull’oggetto - Prestazioni dipendono dal numero di marker - Accuratezza dell'orientamento dipende dalla distanza e dall’angolo rispetto al marker AR ToolKit è una libreria software per la creazione di applicazioni di Realtà Aumentata (AR): 1. Ricerca dei marker: l'immagine viene convertita in binaria e il bordo viene identificato 2. Trova la posizione e l'orientamento del marker in 3D 3. Identifica i marker: il simbolo all'interno del marker viene abbinato ai modelli in memoria 4. Posiziona e orienta gli oggetti, utilizzando le trasformazioni del marker per allinearli 5. Renderizza gli oggetti 3D nel frame video Features Based Tracking Rappresentano una generalizzazione dell'approccio basato su marker e sono più robuste rispetto all’occlusione. Si basate su telecamera che riconoscono caratteristiche nell'immagine e assegnano ad essi dei modelli 2D o 3D e possono essere creati al volo o essere già noti dal db. Image Based Tracking E’ un tipo di Feature Based Tracking simile al Marker Tracking, ma invece di utilizzare marker specifici, identifica e traccia le caratteristiche naturali presenti nell'immagine stessa. La libreria Vuforia individua e traccia queste caratteristiche confrontandole con un db di risorse target conosciute. Utilizza la versione e l'istogramma in scala di grigi dell'immagine target per identificare le caratteristiche utilizzabili per il riconoscimento e il tracciamento. Per poi valutare la sua idoneità come immagine target. - Se l'immagine ha un contrasto complessivo basso e l'istogramma è stretto e appuntito, non è una buona immagine target poiché non contiene molte caratteristiche utilizzabili - Se l'istogramma è largo e piatto, allora indica che l'immagine probabilmente contiene una distribuzione Markerless Tracking Si basa sulle caratteristiche dell'ambiente circostante, come angoli, spigoli. In generale, è più difficile rispetto al tracciamento con marker, poiché i marker sono progettati per uno scopo specifico mentre l'ambiente no. Questi metodi sono meno consolidati e solitamente più lenti. Esempio: Model Based Tracking, che si basa sul tracciamento di un modello 3D RGBD Camera E’ un modo per implementare il tracciamento basato sulla telecamera, in cui viene fatta una combinazione di telecamere a colori e telecamere di profondità RGBD. Le informazioni di 20 of 45 profondità possono essere utilizzate per tracciare la posizione della telecamera e l'interazione dell'utente. Di solito utilizzano un modello proiettato a infrarossi o un metodo Time of Flight TOF, dove vengono determinati i tempi di percorrenza della luce riflessa. Outdoor Hybrid Tracking Combina la Computer Vision, che correggere il drift del giroscopio, con il tracciamento delle caratteristiche naturali e i sensori giroscopici inerziali, che forniscono una previsione frame-by- frame dell'orientamento della telecamera. - Sensori producono un output rumoroso (Jittering Augmentations), non sono sufficientemente precisi (Wrongly Placed Augmentations), e forniscono le prime informazioni sulla posizione - Visione più precisa (Stable and Correct augmentations) richiede la scelta del database di punti chiave corretti da tracciare e la registrazione delle coordinate locali (modello generato online) su quelle globali. Constellation Tracking (outside-looking-in) Utilizza una telecamera a infrarossi che guarda l'utente per rilevare piccoli marker a LED infrarossi. Finché il visore rimane visibile alla telecamera, l'utente può muovere la testa e il display del visore si aggiornerà di conseguenza. Per utilizzare i controller, una telecamera aggiuntiva, che con lo stesso meccanismo, migliora ulteriormente la qualità del tracciamento. I dispositivi tracciati presentano una costellazione predefinita di LED infrarossi. I sensori, ovvero telecamere con filtri per vedere solo la luce infrarossa, che rimane invisibile all’occhio umano, inviano frame al PC dell'utente tramite un cavo USB. Il PC elabora ciascun frame, identificando la posizione di ciascun LED e ricavando la posizione relativa di ciascun dispositivo tracciato. Il software riconosce facilmente quali LED sta vedendo in quanto conosce la forma della costellazione, la direzione di accelerazione dall’accelerometro e la rotazione dal giroscopio, e ricorda dove si trovava l'oggetto nel frame precedente. Il principio fondamentale consiste nella rilevazione e nella triangolazione dei LED infrarossi della telecamera che hanno tempi di esposizione estremamente brevi. All'interno di ciascun frame, il sistema esegue i seguenti passaggi: 1. Cerca nelle immagini della telecamera i volumi luminosi di luce infrarossa 2. Determina uno schema di corrispondenza tra le proiezioni delle immagini e il modello 3D sottostante del controller 3. Calcola la posa 3D del Controller rispetto al visore e fonde con i dati inerziali Per ottenere la posizione e l’orientamento precisi sono necessarie un numero minimo di osservazioni. Lighthouse Tracking (inside-looking-out) Utilizza Beacon, detto Base Station, di solito due, che devono essere sincronizzati. Emettono impulsi IR temporizzati con precisione e laser IR sull'asse X,Y per scansionare l’ambiente attraversando i vari sensori incorporati nei controller e nel visore, che presentano fotodiodi filtrati IR. In uscita i fotodiodi vengono amplificati e trasmessi a un ASIC interno, che calcola la propria posizione e orientamento nello spazio. Svantaggi: Distanza operativa massima dipende dalla stanza, sensibile alle occlusioni 21 of 45 Finger Tracking I dispositivi di input e i metodi di interazione sono generalmente sufficienti, ma difficilmente riproducono l'interazione naturale di un essere umano con il mondo virtuale. Si sono introdotti nuovi tipi di interazioni: tramite i gesti, che necessita il tracciamento delle mani e delle dita, in quanto risulta il più semplice e intuitivo, o l’uso di controller. Presenta diverse sfide: 1. Mano umana ha 27 gradi di libertà - Dorso, considerato come un corpo rigido, con 6 gradi di libertà - Ogni dito ha 4 gradi di libertà: 2 rotazionali alla radice del dito e 1 rotazionale per ogni articolazione della falange media e esterna - Pollice con 5 gradi di libertà 2. Posizione stretta delle dita rispetto l'una all'altra poiché il sistema di tracciamento, soprattutto quello ottico, è sensibile alle occlusioni dei marker e per la dimensione ridotta dei marker - Meccanico, con una sola misurazione relativa delle dita rispetto al dorso, tant’è che il calcolo della posizione e dell'orientamento del dorso e delle dita utilizza diverse tecniche di tracking - Magnetici, possono rilevare fino a 16 sensori individuali e soffrono di interferenze da fonti metalliche o elettromagnetiche proprio perché si ha un sistema cablato di trackers (raro) - Ottico, consente dispositivi di interazione wireless leggeri e ad alta precisione, ma necessitano di almeno 4 telecamere speciali per garantire la triangolazione di ciascun LED utilizzato (comune) Controller L’idea di base va contro il fatto di voler rendere l’interazione dell’utente con il mondo virtuale in maniera naturale. Si utilizzano superfici sensibili al tatto, quindi in base a come viene impugnato il controller il sistema rileva il gesto. Leap Motion Si basa su due telecamere LED infrarossi meno costosi, ma che offrono una copertura molto ridotta. Il controller, appoggiato su un tavolo, trasmette due video in scala di grigi al software determinando le posizioni. Con l'aiuto di un adattatore, è possibile attaccare il controller agli occhiali VR per utilizzare i gesti delle dita come input per le applicazioni VR. Eye Tracking / Gaze Registration Si riferisce al tracciamento dei movimenti dell'occhio umano per registrare ed valutare il percorso dello sguardo di una persona. Si hanno procedure: - Invasive richiedono un intervento diretto sul corpo dell’utente (es. con elettrodi) - Non invasive seguono lo sguardo dell'utente senza contatto tramite tecniche basate su video, in cui l'occhio è catturato da una telecamera e la direzione dello sguardo è determinata da algoritmi di elaborazione delle immagini. Si hanno metodi: - Passivi, che utilizzano la luce ambientale per irradiare la scena dell’occhio - Attivi, che irradiano la scena con una sorgente di luce infrarossa La valutazione della direzione dello sguardo viene fatta tramite metodi basati su: 1. Caratteristiche, che rilevano i contorni, come la geometria della pupilla, e calcolano il punto centrale e le coordinate relative dello sguardo 22 of 45 2. Modelli, che confrontano l'immagine della scena dell'occhio registrata con un modello di un occhio ottenuto con approcci di machine learning (più precise ma complesse) 3. Combinazione dei due - In HMD: L’immagine catturata della scena dell’occhio, tramite una telecamera interna, viene trasmessa al computer o all'elettronica del HMD per VR. Un algoritmo di Eye-Tracking calcola la direzione di entrambi gli occhi contemporaneamente, e in seguito anche il punto di vista 3D dell’utente intersecando entrambi i vettori. Viene fatta una calibrazione del HMD in seguito a ogni movimento, se leggero allora potrebbe non dover essere necessaria. - Con remote: L’utente si siede di fronte a un monitor con telecamera, che si concentra sulla testa dell’utente. La telecamera cattura un’area: - Vasta dove si trova la testa dell’utente e l'elaborazione delle immagini individua l'area dell'occhio e calcola la posizione della pupilla in questa sezione. Poiché dispone di pochi pixel per il calcolo della posizione, questa può essere poco accurata - Piccola con alta risoluzione, poiché la telecamera si allinea automaticamente in modo che la posizione attuale dell'occhio venga registrata (più difficile, ma più accurata) Spesso devono essere ricalibrati durante il funzionamento perché l'utente cambia la propria posizione seduta rispetto al monitor e alla telecamera. Futuri dispositivi input Si stanno progettando dispositivi diversi da un controller VR o un joystick: 1. 3D Mouse, consente la navigazione diretta 6DOF con alta precisione e l'interazione tramite pulsanti liberamente assegnabili. Di solito viene posizionato su un tavolo, e quindi più adatto per VR desktop. A volte viene utilizzato come unità di controllo permanentemente montata su una colonna limitando però il campo di lavoro dell’utente 2. Treadmills, consentono agli utenti di “camminare” all’interno del mondo virtuale. La velocità può essere controllata dal sistema VR fornendo feedback, come le vibrazioni. Tramite un meccanismo di inclinazione, è possibile camminare in salita o in discesa. Esistono anche quelli omnidirezionali, che consentono una direzione a 360°. Sono molto costosi ma si hanno anche approcci più economici basati sull'idea di trattenere l'utente in posizione con un anello sull’idea di camminare su un pavimento liscio o scivoloso Virtual World E’ un contenitore composto da: - Oggetti 3D che mostrano comportamenti dinamici e possono reagire agli input degli utenti - Fonti di luce - Fonti audio - Sfondi - Telecamere virtuali - Oggetti proxy per controlli efficienti delle collisioni o calcoli fisici Requisiti fondamentali, di solito più importanti della qualità visiva ad alta risoluzione, sono: - In tempo reale, il mondo virtuale viene aggiornato e visualizzato immediatamente, senza alcun ritardo percettibile 23 of 45 - Interattività, il sistema risponde a qualsiasi attività dell'utente, come muoversi nel mondo virtuale o influenzare il comportamento degli oggetti 3D contenuti al suo interno Creazione del modello 3D 1. Manuale tramite strumenti di modellazione 3D, che supportano anche la creazione di animazioni, integrando dati di motion capture per animare oggetti virtuali (con CAD si ottengono modelli troppo complessi perché reali e tecnici) 2. Tecniche di Modellazione Procedurale per la generazione automatica di oggetti molto grandi o complessi, la cui modellazione a mano sarebbe troppo dispendiosa in termini di tempo. Vengono fatte delle scansioni 3D di oggetti o ambienti reali tramite: - Uso di scanner laser, che forniscono informazioni sulla profondità, in combinazione con telecamere a colori per ottenere le texture dell’oggetto - Metodi fotogrammetrici, in cui la creazione dei modelli avviene solo sulla base di immagini di oggetti provenienti da multiple telecamere Preparazione Gli oggetti 3D richiedono una post-elaborazione per poter essere inclusi nei mondi virtuali: - Semplificazione della geometria dell'oggetto per ridurre il numero di poligoni - Adattamento dei dettagli visivi - Convertiti in formati di file adatti al sistema VR/AR corrispondente - Utile fornire diverse varianti con diverse risoluzioni, tra cui è possibile passare durante l’esecuzione, in base alla distanza dallo spettatore o al campo visivo coperto ottenendo livelli di dettaglio Integrazione in Runtime Gli oggetti 3D individuali vengono caricati in un editor di mondi di un motore di gioco per creare la Scene Graph. Per semplificare la rilevazione e la gestione delle collisioni nella simulazione del mondo, è consigliabile dotare gli oggetti 3D di geometrie di collisione semplificate. Vengono importati anche gli oggetti speciali come telecamere virtuali, fonti audio e luminose e sfondi. Scene Graph E’ una struttura gerarchica in cui gli elementi del mondo virtuale sono spazialmente e logicamente disposti e descritti 1. Scena renderizzata dal punto di vista dell’utente, quindi convertita in un'unica o due rappresentazioni nel caso dei stereo display 2. Grafiche raster renderizzate, quindi visualizzate su dispositivi adatti 3. Informazioni audio contenute nella scena vengono riprodotte tramite altoparlanti o cuffie - Animata, cambia dinamicamente durante l’esecuzione (le posizioni degli oggetti 3D) - Interattiva, in cui gli oggetti 3D reagiscono all’interazione con altri oggetti e all'input dell’utente. Il loro comportamento è dato dalla loro capacità di reagire agli eventi modificando il suo stato I DAG consentono di riutilizzare i nodi (oggetti) per risparmiare memoria, ma i grafi possono assumere una struttura ad albero e sfruttano meccanismi come l’istanziazione. I nodi sono: 24 of 45 - Foglia rappresentano gli effettivi oggetti 3D visualizzati visivamente o udibilmente - Di gruppo servono per strutturare la scena - Di trasformazione modellano gruppi con informazioni su come scalarli rispetto alle coordinate globali Transformation Groups I nodi interni hanno una funzione di Raggruppamento e il nodo radice rappresenta l'intera scena poiché comprende tutti gli oggetti. Un gruppo di trasformazione modella la relazione gerarchica con nodi figli definendo un sistema di coordinate locale per essi mediante una Matrice di Trasformazione, in cui i figli sono rappresentate come attributo del nodo genitore. Ciò permette di descrive lo spostamento, la rotazione e la scalatura del sistema di coordinate locale rispetto a quella del nodo genitore. Global position of an object Per determinare la posizione, l'orientamento e la scala globali di un oggetto, è necessario attraversare il percorso dalla radice all'oggetto. Per tutti i nodi di trasformazione presenti sul percorso, le corrispondenti matrici di trasformazione devono essere concatenate nell'ordine del percorso mediante moltiplicazione a destra. La matrice risultante deve essere moltiplicata per le coordinate dei vertici dell’oggetto. Oggetti 3D I modelli 3D devono definire la geometria dell'oggetto il più preciso possibile e in una forma che possa essere elaborata efficientemente da un computer. Possono essere: - Superficiali, descrivono superfici che possono o meno racchiudere un volume 3D. Catturano solo l'aspetto esterno degli oggetti ma non il loro interno. Sufficienti per scopi di rendering - Solidi, descrivono oggetti che racchiudono un volume Surface Models Rappresentano dei poligoni, costituiti da una forma geometrica con vertici collegati da spigoli. Le facce sono i poligoni che fanno parte di una superficie dell’oggetto. Vengono utilizzati nella Computer Graphics per modellare forme arbitrarie e per rese efficienti. Svantaggi: La geometria delle superfici curve può essere riprodotta solo approssimativamente, e sono necessari molti poligoni per una resa dettagliata. L'efficienza della memoria diventa un problema quando si sceglie una struttura dati appropriata per le rappresentazioni poligonali. - Poligoni planari, i cui vertici giacciono su un piano (triangoli o quadrilateri) - N-goni, poligoni con n vertici Polygon Mesh E’ una struttura dati adottata in presenza di una serie di poligoni connessi per descrivere una superficie. I vertici in un poligono mesh sono condivisi da diverse facce. Si hanno due liste separate per i vertici e le facce, definite dai vertici. 25 of 45 Triangle Strips E’ una struttura dati adottata in presenza di soli triangoli. Solo il primo triangolo è definito specificando esplicitamente tutti e tre i vertici. Ogni vertice crea un nuovo triangolo riutilizzando due dei vertici definiti precedentemente in modo che i due triangoli non si intersechino. Per N triangoli, è necessario definire solo N + 2 vertici anziché 3 * N vertici. Il rapido processo delle strisce di triangoli è supportato dall'hardware grafico. Solid Models and B-Rep Viene utilizzato quando si ha un oggetto solido: - In una simulazione fisica per calcolare il volume o il centro di massa di un oggetto - Per il rilevamento delle collisioni approssimando gli oggetti con bouding volume, ovvero dei corpi solidi semplici che racchiudono completamente gli oggetti effettivi B-Rep Una boundary representation B-Rep definisce un solido come un insieme di superfici che definiscono il confine tra l'interno e l'esterno dell'oggetto. Sono richieste strutture dati che forniscono informazioni sulla topologia della superficie dell'oggetto. Deve essere possibile distinguere l'interno e l'esterno (o il retro e il fronte) di una faccia di confine. Il disegno dei lati posteriori dei poligoni (retro) può essere omesso. Un osservatore guarda il lato anteriore di un poligono quando il suo vettore normale punta approssimativamente nella direzione dell'osservatore. Perciò è necessario identificare la direzione del vettore normale della faccia definendo: - Vertici o bordi della faccia in un certo ordine (in senso antiorario). L'ordine dei vertici determina la direzione del vettore normale, perpendicolare alla faccia frontale del poligono - Esplicitamente il vettore normale Il vettore normale del poligono n e la direzione della vista v formano un angolo. Se è compreso tra 90° e 270°, l'osservatore sta guardando il fronte del poligono. Primitive Instancing Sono oggetti solidi predefiniti, come sfere, cilindri o oggetti più complessi. Le proprietà di un'istanza primitiva (es. raggio di una sfera) possono essere impostate tramite parametri. Si hanno librerie di grafi di scene offrono supporto per oggetti primitivi semplici. Appearance I Material Systems vengono utilizzati per modellare l'aspetto degli oggetti 3D. Possono essere utilizzati diversi tipi di texture per ottenere l'aspetto desiderato. L'aspetto visivo degli oggetti è principalmente caratterizzato dalle loro proprietà materiali riguardanti la riflessione e la trasmissione (trasparenza e traslucenza) della luce incidente. - Rendering basato sulla fisica PBR, offre una qualità dell'immagine fotorealistica ma complesso da ottenere (motori di gioco) 26 of 45 - Modello di Phong, ben adatto per applicazioni nei browser web e sui dispositivi mobili grazie alla sua semplicità e ai suoi bassi requisiti di potenza di calcolo, ma non garantisce l’effetto garantito dagli approcci PBR in termini di realismo visivo Phong’s illumination model La luce riflessa da una superficie è composta da tre componenti di riflessione da specificare separatamente per ogni materiale: - Ambientale modella l'influenza della luce ambientale senza direzione e fornisce la luminosità di base dell’oggetto - Diffusa (o colore) si verifica su superfici opache e dipende dall'orientamento della superficie dell'oggetto rispetto alla sorgente luminosa - Speculare crea riflessi lucidi sulle superfici lisce Le specifiche dei materiali sono di solito integrate da proprietà di emissione per modellare gli oggetti che emettono luce. Physically based rendering PBR È un metodo non standardizzato con molte variazioni, con l’obiettivo comune di ottenere rendering più fotorealistici possibili implementando concetti che sono vicini alla fisica. Assicurano la conservazione dell'energia, garantendo che non venga riflessa più luce di quella che incide su una superficie. Effettua una distinzione fisicamente ben fondata tra metalli e non rispetto ai tipi di materiale. Considera le superfici come composte da micro-facettoni, e il loro orientamento modella superfici lisce o ruvide, in direzioni simili o varie lungo la superficie. PBR material system Un tipico sistema minimo contiene i seguenti parametri: - Albedo, colore base dell'oggetto - Metalness, indica se il materiale è un metallo o meno (valore compreso tra 0 e 1) - Roughness/smoothness, indica se il materiale è ruvido o liscio (valore compreso tra 0 e 1) Questi parametri possono essere specificati per un intero oggetto per pixel utilizzando texture. La trasmissione della luce degli oggetti si basa sul fatto che se gli oggetti dietro all'oggetto considerato sono ancora chiaramente visibili, ciò è chiamato trasparenza (vetro trasparente), altrimenti è detto traslucenza (vetro satinato). Textures Sono immagini raster posizionate sulle superfici degli oggetti. Per rappresentare strutture finemente granulate o dettagli molto fini, i dettagli vengono dipinti anziché modellati geometricamente. Si hanno verse modalità per creare strutture superficiali più realistiche: - Displacement mapping, manipola la geometria delle superfici dell’oggetto, anche perfezionando la mesh poligonale - Bump mapping, i colori dei pixel della superficie dell'oggetto vengono modificati in base a un'immagine in scala di grigi. Rappresenta il profilo in altezza della superficie dell'oggetto, con valori piccoli (scuri) che corrispondono alle aree abbassate e valori grandi (chiari) alle aree rialzate della superficie dell'oggetto. Viene posizionata sulla superficie dell'oggetto come una texture convenzionale. Tali valori non vengono interpretati come colori, ma modificano le normali nei punti corrispondenti sulla superficie dell’oggetto 27 of 45 - Normal mapping, variante del bump mapping a differenza che i vettori normali sono memorizzati direttamente in una mappa normale. Sono trucchi visivi che creano l'effetto visivo di superfici ruvide anche su modelli poligonali grossolanamente risolti senza cambiare effettivamente la geometria dell’oggetto Le mappe di occlusione ambientale sono abbastanza comuni, modellano quanto luce ambientale arriva alle diverse parti di una superficie Shaders Sono piccoli programmi eseguiti sull'hardware grafico GPU. Gli shader sono scritti in un linguaggio di shader speciale come OpenGL GLSL. Consentono un design ancora più vario delle superfici degli oggetti. Le moderne GPU contengono migliaia di unità di elaborazione, che consentono l'esecuzione altamente parallela dei programmi shader. Animation Oggetti animati presentano proprietà che cambiano nel tempo rispetto alla posizione, orientamento, dimensione, colore e geometria. Si hanno tipi di animazione: - Keyframe, definizione manuale dei momenti in cui una proprietà deve cambiare - Basato sulla fisica, generazione di movimenti degli oggetti in modo approssimativamente realistico seguendo le leggi fisiche Keyframe Animation Vengono definiti i valori di una proprietà da animare ad intervalli di tempo selezionati di una sequenza di animazione, detti keyframe. Tali valori sono determinati automaticamente tramite interpolazione dei valori chiave, che può essere lineare o spline cubica. Keyframe ai tempi t1 e t2 con frame interpolati in mezzo per rappresentare l’animazione dell’angolo di rotazione dell'oggetto Physics-based Simulation 1. Oggetti 3D vengono trattati come corpi rigidi non deformabili 2. Simulazione del loro comportamento in base alle leggi fisiche, eseguita da un motore fisico dedicato Si modellano e calcolano diverse proprietà fisiche dell’oggetto: - Massa, per determinare le accelerazioni, quando sono applicate forze e coppie (da definire) all’oggetto o banalmente la forza di gravità - Velocità lineare e angolare - Parametri di smorzamento legati al materiale dell’oggetto a causa dell’attrito - Valori di elasticità per simulare la riduzione della velocità dovuta alla perdita di energia cinetica dopo una collisione Collision Detection La geometria effettiva del corpo è di solito approssimata da un volume di contenimento. La Collision Proxy, è un oggetto assegnato al volume di contenimento, che non viene renderizzato e quindi rimane invisibile. I volumi di contenimento possono essere: - Semplici (sfere, cuboidi o capsule) 28 of 45 - Complesse andando a rappresentare il suo guscio convesso dell’oggetto, maglia poligonale come un solido b-rep La geometria dettagliata di un oggetto è approssimata da due volumi di contenimento diversi, una capsula e una scatola. La simulazione del corpo rigido viene di solito eseguita all'interno di un motore fisico, che gestisce il proprio "mondo fisico" separato al "mondo della geometria”, scenario degli oggetti renderizzabili. Si hanno Vincoli di movimento, in quanto gli oggetti sono collegati da giunti. Sono considerati e garantiti dai motori fisici durante la simulazione. I calcoli di rilevamento delle collisioni vengono talvolta eseguiti in un motore di collisione speciale, ma quando è presente un motore fisico quest'ultimo solitamente rileva e gestisce le collisioni. Alla fine di ogni passaggio di simulazione, i valori di posizione e orientamento calcolati vengono trasferiti nei campi di proprietà corrispondenti degli oggetti geometrici nella scena visiva. Corpi morbidi e fluidi Per loro natura non hanno una struttura rigida, quindi deformabili, che devono essere modellati in maniera differente. Viene fatta un’animazione naturale, non più basata sul keyframe, ma sui Fenomeni Fuzzy di forma instabile e confini non definiti. Vengono creati da altri tool grafici moderni per poi essere importati su Unity già strutturati. Tuttavia, richiedono strumenti di editing speciali e sforzi nella fase di modellazione con costi computazionali elevati durante l’esecuzione. Comportamento degli oggetti Un metodo di controllo ad alto livello per l’animazione degli oggetti reattivi è la specifica del loro comportamento in seguito a certi eventi. Tali oggetti possono trovarsi in diversi stati predefiniti e effettuare Cambiamenti di Stato, che possono influenzare tutte le proprietà dell'oggetto 3D, come colore, forma, posizione o orientamento. Possono essere realizzati con l'aiuto di un nodo di commutazione nel Graph Schene. In caso di comportamenti complessi si utilizzano estensioni o alternative con tramite macchine a stati finiti gerarchiche, alberi decisionali e alberi comportamentali. Macchina a stati finiti (FSM) Sono utilizzate per modellare comportamenti cambiando lo stato del nodo di commutazione quando l'evento rilevante si verifica nel mondo virtuale. Una transizione di stato può attivare anche l'esecuzione di un’animazione, che può anche essere ripetuta fino a quando la successiva transizione di stato viene attivata da un altro evento. Trigger nelle FSM E’ un evento che causa un cambiamento di stato in una FSM, e può essere: - Timer event, dopo che è trascorso un periodo di tempo definito - Touch event, la selezione di un oggetto da parte dell’utente - Proximity event, l'utente si avvicina a un oggetto e la distanza si riduce sotto una certa soglia - Visibility event, un oggetto entra nel campo visivo dell'utente 29 of 45 Comportamento e animazione nei grafi di scena Per implementare animazioni e comportamenti, il Graph Scene deve essere aggiornato dinamicamente in ogni frame prima del rendering. Ci sono due approcci principali: 1. Modificare la scena dall'esterno, quindi dal motore fisico esterno 2. Alcune architetture di grafi di scena forniscono supporto nativo per le animazioni keyframe mediante tipi di nodi speciali Esempio: X3D presenta nodi che generano determinati eventi e animazioni keyframe in combinazione con timer e nodi di interpolazione. Ciò consente specifiche eleganti di animazioni e comportamenti semplici, ma coinvolge generalmente una moltitudine di nodi e comporta costi di runtime relativamente elevati Light, Sound, Background Le architetture dei Graph Scene forniscono nodi speciali per integrare la luce, il suono e lo sfondo nella scena. Sorgenti di Luce Il Rendering dei mondi virtuali si basa sui calcoli di quanta luce incidente viene riflessa dietro le superfici degli oggetti 3D. E’ un aspetto fondamentale in quanto senza illuminazione gli oggetti apparirebbero completamente neri, perciò i mondi virtuali dovrebbero includere almeno una sorgente luminosa. Diversi tipi di luce vengono combinati, e sono: 1. Direzionale, modella una sorgente di luce molto lontana, i cui raggi arrivano nel mondo virtuale in direzioni parallele (Sole) 2. Point o Omni Light, emette luce sfericamente in tutte le direzioni (Lampadina) 3. Spot Light, produce un cono di luce (Torcia) 4. Area Light, emette una luce da un'area rettangolare 2D, in una sola direzione (Finestra) 5. Headlight, si sposta insieme all’osservatore, quindi è una sorgente di luce direzionale con direzione allineato a quella della visione Attenuazione della luce E’ l'intensità della luce, che diminuisce con l'aumentare della distanza dalla sorgente luminosa, e riguarda le Point Light e le Spot Light. Non riguarda quella direzionale in quanto la distanza dalla sorgente di luce è talmente grande che è indefinita. In generale, è possibile definire e regolare una funzione di attenuazione in base alle esigenze: se si considerano la polvere e dalle particelle nell’aria allora si parla di Attenuazione Atmosferica. Inoltre per le Spot Light l'intensità della luce diminuisce anche verso il bordo del cono di luce, che può essere regolata. Le Area Light producono ombre molto più realistiche, ma i costi computazionali sono elevati. Sorgenti di suono Si hanno tipi di sorgenti: 1. Background Sound, non è legato a una posizione spaziale definita e quindi udito ovunque 2. Spartial audio source, sono emettitori di suoni puntiformi con una posizione definita nel mondo 3D, che possono essere udite entro un certo raggio, oppure emettono onde sonore all'interno di un volume conico 30 of 45 Attenuazione acustico Il volume della maggior parte delle sorgenti audio diminuisce all'aumentare della distanza dall’ascoltatore, e può essere modellato approssimativamente da una funzione decrescente monotonica lineare. Mentre non ha senso per il Background Sound, poiché la posizione della sorgente audio non è definita e quindi non può essere calcolata alcuna distanza dall'ascoltatore. Background Lo sfondo della scena deve anche essere visualizzato e può essere: - Immagine statica - Volume tridimensionale, come una grande sfera o box, con il centro corrispondente sempre al punto di vista della telecamera corrente. Le diverse parti del volume sono visibili ruotando la telecamera senza cambiare la distanza dalla superficie del volume. Inoltre possono essere inserite simulazioni di oggetti in movimento (nuvole) Tipicamente, contribuiscono anche all’illuminazione della scena. Oggetti 3D Speciali Rendono i mondi virtuali più interessanti, ma la loro modellazione e animazione rappresentano sfide complesse. Vengono creati da tool grafici specifici per poi essere importati già strutturati. Virtual Human VH Gli avatar sono figure virtuali che agiscono come rappresentanti o proxy di un utente VR in un mondo virtuale. Spesso hanno un aspetto simile all'essere umano.Si distinguono dai personaggi non giocanti NPC o dai bot il cui comportamento è generato dall’AI, quindi fuori dal controllo dell’utente. E’ fondamentale ottenere figure virtuali realistici nel loro aspetto, comportamento e movimento. Ciò può essere realizzato con: 1. Composizione di primitive geometriche, non realistico soprattutto per le giunture tra le diversi parti del corpo 2. Skeleton-based animation, distingue la struttura dello scheletro sottostante con il modello di superficie deformabile, che durante l’animazione viene deformato automaticamente in base alla posa dello scheletro - Rigging, processo di configurazione di una struttura di scheletro adeguata per un dato modello di superficie. Gli scheletri degli umani virtuali sono notevolmente semplificati - Skinning, processo di accoppiamento dei vertici della pelle alle ossa appropriate dello scheletro, in quanto una rotazione d’articolazione può influire la posizione di ossa specifiche realizzando un movimento fluido. La struttura dello scheletro definisce la struttura gerarchica delle ossa astratte del modello umano virtuale. L'espressione facciale degli esseri umani virtuali può essere animata definendo idonee "ossature facciali" Animation of Virtual Human - Di Base come camminare o correre sono tipicamente create mediante acquisizione del movimento, Motion Capture - Orientate agli obiettivi, come afferrare un oggetto, devono essere calcolate al momento dell’esecuzione 31 of 45 Si utilizzano algoritmi di Inverse Kinematics per calcolare posture scheletriche in modo che le estremità siano posizionate nella posizione desiderata con l'orientamento corretto. Gli esseri umani virtuali dovrebbero essere in grado di reagire agli eventi nel mondo virtuale o alle interazioni dell’utente, e ciò viene realizzato mediante programmi di controllo complessi, chiamati Game AI nei videogiochi. Gli esseri umani virtuali realistici sono ancora oggetto di ricerca sulle capacità di comprendere e generare linguaggio naturale, le capacità di comunicazione non verbale, le emozioni e la personalità. Particle Systems PS Presenta una moltitudine di particelle individuali, rappresentanti fenomeni fuzzy, che si muovono e si evolvono in maniera non predefinita. Viene modellata diversamente rispetto a quella basata sulla geometria dei corpi solidi e in modo più flessibile (fuoco, fumo, esplosioni, gocce d'acqua o fiocchi di neve). Ogni particella è considerata come una massa puntiforme, senza un’estensione spaziale, la cui posizione nello spazio tridimensionale viene aggiornata in ogni passo temporale basandosi su semplici simulazioni fisiche delle forze che agiscono sulla particella: - Nuove particelle inserite nel sistema di particelle tramite un emettitore. Si hanno vari tipi di emettitori che differiscono nelle posizioni iniziali delle particelle emesse, i cui parametri vengono variati casualmente entro intervalli predefiniti per ottenere l'aspetto irregolare e sfumato desiderato dei fenomeni simulati - Vecchie particelle rimosse dal sistema di particelle se il loro tempo di vita è scaduto o se escono da un'area predefinita - Per ogni particella, le forze che agiscono su di essa, come gravità, vento e smorzamento, vengono calcolate e accumulate per aggiornare la sua posizione e velocità - Per ogni particella, gli attributi come colore e texture vengono aggiornati e le particelle vengono visualizzate visivamente Rendering Visuale di PS Le particelle vengono visualizzate come: - Poligoni semplici con texture (quadrilateri) allineati alla direzione di visualizzazione dell’utente - Segmenti di linea - Geometrie come sfere, cilindri o mesh poligonali statiche complesse, ma maggiore sarà lo sforzo di rendering in tempo reale Terreni Vengono realizzati tramite una semplice struttura dati, Campo di altezze, o Griglia di Elevazione, una griglia bidimensionale in cui ogni punto è assegnato un valore di altezza. Per aggiungere una maggiore componente realista vengono inserite delle texture con strumenti 3D automatizzati. L'utente può assegnare valori di altezza per le aree selezionate in modo da ottenere paesaggi collinari o meno. Tiling è una tecnica di ottimizzazione per aree molto estese è la suddivisione spaziale in tiles: quando l'utente si muove attraverso il terreno, viene caricata in memoria solo una piccola sezione delle tiles del terreno. 32 of 45 Vegetazione Gli alberi e altre piante in natura assumono forme molto complesse e frattali, per questo motivo vengono realizzati con il Graphic Computer utilizzando tecniche di modellazione procedurale: 1. Generazione delle parti lignee 2. Aggiunta delle foglie dai rami 3. Modellazione delle singole foglie come geometrie semplificate (quadrilateri), non più mesh poligonali, e Rendering con texture semi-trasparenti mappate su di esse Interazione nel Mondo Virtuale Tipi di interazioni: 1. Controllo di sistema, interagire con il sistema stesso per eseguire funzioni al di fuori dell'ambiente virtuale 2. Selezione, selezionare un oggetto virtuale 3. Manipolazione, modificare gli oggetti virtuali 4. Navigazione, controllare la posizione e la direzione di visualizzazione nell'ambiente virtuale È essenziale ottenere una buona usabilità per garantire un'esperienza utente soddisfacente. Fondamenti del Human–Computer Interaction HCI Si occupa della comunicazione tra esseri umani e computer, e riguarda la progettazione, valutazione e implementazione di sistemi informatici interattivi e dei fenomeni coinvolti. Un concetto centrale è l’usabilità, ovvero l’idoneità all’uso, definita come l'estensione in cui un prodotto può essere utilizzato da utenti specifici per raggiungere obiettivi specifici: - Efficacia, raggiungimento degli obiettivi, evitando errori - Efficienza, sforzo in relazione al raggiungimento dell’obiettivo - Soddisfazione soggettiva in un contesto d'uso specifico - Utilità - Apprendibilità - Esperienza utente: eleganza ed estetica dell'interfaccia (piacere d’uso) User Interfaces for VR/AR systems Il paradigma standard WIMP non è adatto per i sistemi VR/AR e uno simile per tali sistemi non esiste. L'approccio comune dell'HCI nel progettare interfacce utente indipendenti dall'hardware, attraverso l'astrazione dell'hardware disponibile alle sue funzioni è di utilità limitata non questi sistemi, in quanto si hanno molteplici dispositivi molto specifici. Vengono adottate interfacce utente basate su comandi vocali o sul tocco. Un'interazione 3D può essere: - Naturale in un ambiente virtuale cercando di simulare l'interazione conosciuta dal mondo reale il più fedelmente possibile con le limitazioni presenti nella realtà - Magica consente più possibilità e nuove funzionalità Direct Manipulation E’ supportato dalle interfacce utente: - In VR, se l'utente può modificare una rappresentazione grafica di un oggetto con dispositivi di input e riceve un feedback visibile immediato e continuo su queste azioni - In AR, consente un trattamento paritario dell'interazione con oggetti reali e virtuali 33 of 45 System Control in VR/AR Systems Attiva azioni che cambiano la modalità di interazione o lo stato del sistema. Alcune tecniche delle interfacce utente 2D possono essere trasferite in ambienti virtuali in maniera limitata. Le interfacce utente grafiche convenzionali utilizzano principalmente elementi come menu, pulsanti, barre degli strumenti per eseguire tali comandi, e si affidano a drag & drop e doppio clic. C'è un conflitto intrinseco con l'intenzionale "sospensione volontaria dell'incredulità" perché i comandi spesso non hanno un equivalente nel mondo reale o un'implementazione realistica 1:1 non è praticabile. 1. Menu Possono essere strutturati in modo sistematico e utilizzate diverse tecniche per selezionare una voce di menu in base alla loro posizione o sistema di riferimento spaziale (fissa, collegata alla posizione di un oggetto virtuale, all’utente o a oggetti reali), al modo in cui sono presentati e alla tecnica di selezione utilizzata 2. 3D Widget Sono oggetti tridimensionali nell'ambiente virtuale associati a comportamenti di interazione, aggiunti per controllare il sistema VR, e possono essere ispirati da oggetti reali o essere oggetti astratti il cui funzionamento l'utente deve apprendere. La loro geometria tridimensionale: - Rende visibile la funzionalità interattiva per l’utente - Fornisce spunti per utilizzare la funzionalità sottostante 3. Tangible, o Props Sono oggetti reali che l'utente può utilizzare come strumenti nell'ambiente virtuale: se l’utente lo tocca, viene scelto un n