Interfacce per la Realtà Virtuale - ITIA-CNR
Transcript
Interfacce per la Realtà Virtuale - ITIA-CNR
Interfacce per la Realtà Virtuale Analisi e realizzazione di un prototipo di interfaccia utente dinamica inserita in un ambiente virtuale e basata su documenti XML. L’interfaccia utente in un ambiente 3D immersivo è realizzata sotto forma di strumenti 3D, di consolle 3D, di gesti metaforici ed anche di operazioni dirette dell’utente su entità del mondo virtuale (afferrare, spostare, orientare etc.). Interfacce HUD per la Realtà Virtuale Ci sono operazioni più di tipo “astratto”, difficilmente realizzabili (e riusabili) sotto forma di oggetti 3D, ad esempio varie modalità di selezione, comandi relativi all’applicazione che controlla l’ambiente virtuale, navigazione in liste di opzioni e così via. Si rende quindi necessario sperimentare un’interfaccia più di tipo classico bidimensionale, costituita da pulsanti e da operazioni di selezione (non col mouse, ma con una mano virtuale, ad esempio), che sia inserita in sovrimpressione al mondo 3D e che appaia solo quando richiesto. Ispirandosi anche alle interfacce create per i videogiochi verrà progettata ed implementata una interfaccia grafica basata su XML che sia generica (adattabile a qualsiasi ambiente virtuale) e di utilizzo immediato. Parte del lavoro di tesi sarà anche lo sviluppo di un editor visuale che consenta di generare rapidamente i documenti XML che descrivono un’interfaccia. È richiesta la conoscenza di C++, OpenGL e XML. Interfacce immersive per ambienti virtuali Oltre agli oggetti che costituiscono il mondo virtuale (che spesso si presentano essi stessi come “interfacce”), in un ambiente virtuale sono necessari oggetti accessori che rappresentano entità più o meno astratte, come elementi di un database, directory di un file-system, ecc. Si rende quindi necessario sviluppare un “browser 3D” che permetta di organizzare tali elementi in menu a più livelli da esplorare utilizzando metafore di interazione intuitive (come sfogliare le pagine di un libro o scorrere set di oggetti tridimensionali fluttuanti nello spazio). Un’altro aspetto importante è la presenza di strumenti virtuali: oggetti tridimensionali che l’utente può afferrare per selezionare una diversa modalità di interazione con gli oggetti della scena virtuale. Lo scopo del lavoro di tesi è la progettazione e l’implementazione di tali strutture (eventualmente organizzate in documenti XML) in una libreria di classi C++ e del relativo visualizzatore che si appoggi ad un motore di rendering (già esistente) basato su OpenGL. È richiesta la conoscenza di C++ e OpenGL, è gradita la conoscenza di XML. Interfacce utente dinamiche Realizzazione di un modulo software in Java per la creazione e per la visualizzazione di interfacce grafiche (GUI, Graphical User Interface) basate su documenti XML, modificabili e aggiornabili in tempo reale. Il contesto in cui si inserisce il lavoro di tesi è la creazione di un sistema software modulare nel quale varie applicazioni utilizzano lo stesso tipo di interfaccia in due varianti: bidimensionale (GUI2D, con i controlli tipici di un interfaccia a finestre come Windows) o tridimensionale (GUI3D, inserita in un contesto di visualizzazione 3D interattiva basata sullo scene graph di Java3D). Mentre la GUI2D verrà implementata basandosi sulle tecnologie già disponibili, per la GUI3D sarà necessario progettare ex-novo lo schema XML e la relativa implementazione ad oggetti, creando classi Java e utilizzando un motore di simulazione 3D basato su Java3D (già sviluppato). È richiesta una buona conoscenza di Java e di XML, è gradita la conoscenza di Java3D. Occlusione in Augmented Reality Attraverso la realtà aumentata (AR, Augmented Reality) è possibile sovrapporre ad una scena reale oggetti grafici più o meno realistici visualizzati da un computer. Uno dei problemi da affrontare è la sovrapposizione spaziale tra oggetti reali e virtuali. Dopo un’attenta analisi dello stato dell’arte il lavoro di tesi procederà con lo studio e lo sviluppo di una metodologia di elaborazione dei contenuti misti (reali+virtuali) per ottenere una realistica integrazione spaziale tra essi. Configurazione di ambienti virtuali Scene editor Una parte considerevole del lavoro svolto durante la creazione di un’applicazione di Realtà Virtuale è dedicata alla creazione e configurazione dell’ambiente virtuale. Il presente lavoro di tesi prevede lo sviluppo di un tool WYSIWYG (What You See Is What You Get) che consenta di creare in maniera interattiva l’ambiente virtuale avendo un riscontro immediato delle modifiche attraverso l’esplorazione diretta dell’ambiente contemporaneamente alla sua configurazione. È richiesta la conoscenza di C++, OpenGL e XML. Play script editor Il presente lavoro di tesi prevede lo sviluppo di un tool WYSIWYG (What You See Is What You Get) che consenta di definire in modo interattivo il comportamento di oggetti virtuali, (come meccanismi, avatar, osservatori in movimento, ecc.) avendo un riscontro immediato delle modifiche. Questo editor di “copione” (play script editor) dovrà essere in grado di caricare modelli 3D, aggiungere le informazioni sul loro comportamento e salvare le informazioni aggiunte in documenti XML, consentendo la creazione di una libreria di oggetti dal comportamento definito che potranno essere inseriti in un ambiente virtuale. È richiesta la conoscenza di C++, OpenGL e XML. Per informazioni dirette presso ITIA il punto di riferimento è: ITIA – CNR, via Edoardo Bassini 15, Milano Dott. Marco Sacco tel. 02 23699601 email: [email protected]