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]