ambiente virtuale

Transcript

ambiente virtuale
Programma del corso
Immersione
Realtà
Virtuale
Interazione
Presenza
Interazione
Interazione
Interazione
Flusso di dati in Ambienti Virtuali
AMBIENTE VIRTUALE
Informazioni
efferenti
INTERFACCIA
Informazioni
afferenti
UTENTE
Interazione
Moduli logici di un Ambiente Virtuale
Campionamento
Sintesi
Modellazione
Comportamenti
Proprietà
AMBIENTE VIRTUALE
Management
Rendering
Interazione
UTENTE
Interazione
Interazione in Ambienti Virtuali

Tipi di interazione:
– Diretta: l’utente interagisce direttamente con
l’ambiente virtuale
– Mediata: l’utente interagisce con l’AV mediante un
avatar



Prima persona (“Quake(“Quake-like”)
Terza persona (“Tomb Raider – like”)
L’interazione può essere “imposta”
dall’hardware:
– CAVE: diretta
– HMD: mediata, prima persona
– Monitor: mediata, terza persona
Interazione
Interazione diretta
Interazione
Interazione indiretta
Interazione
AV collaborativi
Interazione
Interazione: informazioni
AMBIENTE VIRTUALE
CANALE
CANALE
CANALE
CANALE
Informazioni
di
posizioni/orientazione
INERZIALE
ACUSTICO
VISIVO
APTICO
UTENTE
Interazione
Interazione: info per canale visivo
AMBIENTE VIRTUALE
Aggiornamento punto di vista
- Posizione/orientazione della testa
CANALE
VISIVO
CANALE
CANALE
Aggiornamento
ambiente
grafico CANALE
INERZIALE
ACUSTICO
APTICO
(Avatar
+ VE)
- Angoli giunti – Posizione/orientazione EE
UTENTE
Interazione
Interazione: info per canale audio
AMBIENTE VIRTUALE
CANALE
VISIVO
CANALE
ACUSTICO
Aggiornamento ascoltatore
- Posizione/orientazione della testa
Aggiornamento ambiente acustico
CANALE
CANALE
- Angoli giunti
INERZIALE
APTICO
– Posizione/orientazione EE
Interazione vocale
- Parlato
UTENTE
Interazione
Interazione: info per canale aptico
AMBIENTE VIRTUALE
Aggiornamento punti di contatto
Aggiornamento ambiente aptico:
CANALE
- AngoliCANALE
giunti
ACUSTICO
VISIVO
– Posizione/orientazione
EE
CANALE
APTICO
CANALE
INERZIALE
UTENTE
Interazione
Interazione: info per canale inerziale
AMBIENTE VIRTUALE
Informazioni vestibolari:
CANALE
CANALE
-Posizione/orientazione testa
ACUSTICO
VISIVO
(opzionali)
CANALE
APTICO
CANALE
INERZIALE
UTENTE
Interazione
Interazione: componenti
AMBIENTE VIRTUALE
SW modules of tracking
and data acquisition
CANALE
CANALE
CANALE
Interaction
ACUSTICO Tracking
VISIVO
APTICO
and
CANALE
INERZIALE
motion capture
devices
UTENTE
Interazione
Tracker
Abbiamo già parlato della necessità di “inseguire” (to
(to
track)) la locazione spaziale dell’utente affinchè possa
track
interagire con il VE.
 Ad esempio bisogna conoscerne la posizione/orientazione
della testa per aggiornare coerentemente il punto di vista
all’interno del VE, o la posizione degli end effector (es.
mani) perchè possa avvenire l’interazione con gli oggetti
virtuali.
 I valori di posizione e degli angoli dei giunti del corpo sono
invece necessari per animare un avatar (motion
(motion capture
capture).
).
 E’ importante notare che, nonostante si tratti di problemi
simili affrontati con metodi e tecnologie simili, il problema
del tracking e quello del motion capture sono ben
distinti.

Interazione
Tracker

I tracker sono composti, solitamente, da:
Componenti di acquisizione (sensori
(sensori)) che registrano in tempo reale alcuni
valori di interesse
– Componenti di elaborazione che ricevono i dati dei sensori e li processano
per fornire i valori in un formato utilizzabile dai programmi
–
Volt
Posizione della testa
(reale)
Posizione della testa
(calcolata)
[x,y,z]
Interazione
Tracker per HMD

I valori necessari per calcolare correttamente le viste sugli
schermi dell’HMD sono:
Posizione della testa: per calcolare la posizione del punto di vista
 Orientazione della testa: per calcolare la direzione di vista (FRONT
vector)) e la direzione di offset degli occhi (RIGHT VECTOR)
vector

POSIZIONE e DIREZIONE di vista
vengono usate per il calcolo del
volume di vista, quindi per aggiornare
dinamicamente la prospettiva
La DIREZIONE di offset degli occhi
serve per sapere lungo quale asse
devono essere separate le immagini
stereoscopiche
Analogo audio per CUFFIE.
Interazione
Tracker per CAVE

I valori necessari per calcolare correttamente le viste sugli
schermi del CAVE sono:


Posizione della testa: per calcolare la posizione del punto di vista
Orientazione della testa: per calcolare la direzione di offset degli occhi
(RIGHT VECTOR)
In questo caso serve solo la
POSIZIONE per determinare i
volumi di vista e le relative
proiezioni (il CAVE è un
volume che circonda l’utente e
dunque le immagini “sono già lì”).
L’orientazione serve solo per
determinare la direzione di sepa
sepa-razione delle immagini stereo.
Analogo audio per ALTOPARLANTI.
Interazione
Ambienti immersivi multiuser




I tracker sono solitamente in grado di acquisire i valori di posizione e
orientazione di punti MULTIPLI
Questo consentirebbe, in linea di principio, di poter applicare
correttamente la prospettiva dinamica, in un’installazione immersiva
immersiva,,
a più utenti che condividono lo stesso spazio fisico
Nessun problema per gli HMD, per i CAVE (e i Powerwall
Powerwall)) invece il
problema si pone
Possibili soluzioni:
Mixare stereo attivo e passivo (luminosità
ridotta dai multipli livelli di filtraggio)
 Utilizzare proiettori per stereo attivo ad
altissima frequenza (es. 120Hz necessari per un
utente -> 240 Hz per due utenti etc.) ->
Conseguenza: occhi aperti solo per una frazione
del tempo -> energia luminosa ridotta ->
luminosità delle immagini ridotta

6 view projector – 360 Hz
Digital Image
L1 R1 L2 R2 L3 R3 L1 R1 …

Adottare prospettive “medie”, pesate sui valori
di più utenti (rischio: scontentare tutti!)
Interazione
Tracker: requisiti

Il tracker ideale deve possedere i seguenti requisiti:
–
–
–
–
–
–
–
–
Precisione
Ripetibilità
Alta frequenza di rilevazione
Bassa latenza
Leggerezza / Scarso ingombro (sensori)
6-DoF* (laddove richiesto): 3 posizione + 3 orientazione
Robustezza
No shadowing (tutti i punti devono essere rilevabili)
(*) Degree of Freedom (Grado di Libertà): Coordinata di moto relativo fra due corpi. Ogni DoF è libero solo se
può rispondere, senza vincoli o moto imposto, a forze o momenti applicati dall’esterno. Per movimenti di
traslazione, un DoF è una coordinata lineare lungo una certa direzione. Per movimenti rotazionali, un DoF è
una coordinata angolare attorno a un asse fisso singolo.
Interazione
Tracker: tipologie

I tracker possono essere classificati a
seconda delle tecnologie utilizzate:
–
–
–
–
–
–
–
Magnetici
Meccanici
Acustici
Ottici
Inerziali
Misti
Radio
Interazione
Tracker magnetici




Usano una configurazione emettitore/rilevatore
L’emettitore è fisso ed emette campi magnetici ortogonali, il
rilevatore contiene bobine che rilevano tali campi. I campi
elettrici indotti nelle bobine permettono di ricavare
informazioni su posizione e orientazione
V: non costoso, poco shadowing
shadowing,, accurato,
multi target, molto usato, dimensioni
S: sensibile a perturbazioni del campo
magnetico,a interferenze di oggetti metalmetallici,, accuratezza dipendente dalla distanza
lici
emettitore – ricevitore
ricevitore,, WS limitato dalla
potenza dell’
emettitore
Interazione
Tracker magnetici
Emettitore
BodyPack
Sensore
(rilevatore)
Interazione
Razer Hydra
 Joystick analogico per il pollice
 4 pulsanti d’azione
 Rilevamento magnetico del movimento a sei gradi di libertà
(precisione:1mm traslazione, 1 grado rotazione)
 Ordine di grandezza del prezzo: 100-150 euro (in bundle)
Interazione
Tracker meccanici




I tracker meccanici misurano i valori tramite link
meccanici disposti in catena (catena
(catena cinematica
cinematica).
).
Possono essere indossabili (per motion capture
capture)) o meno
Solitamente misurano angoli ai giunti.
I valori di posizione vengono calcolati
con cinematica diretta.
Possono essere “integrati” nelle
interfacce aptiche
Interazione
Tracker meccanici
(xo,yo)
Interazione
Tracker meccanici: V & S

Vantaggi:
– Miglior approccio per un interfaccia aptica
– Nessuno “shadowing”, nessuna interferenza
– Molto accurati, bassa latenza

Svantaggi:
– Ingombranti, necessità di dover “aderire” al corpo se
–
–
–
–
–
indossabili. TradeTrade-off precisione/comodità
Adattabili con difficoltà a tipologie varie di utenti
Workspace abbastanza limitato
Errori cinematici causati dalla non perfetta aderenza
Necessità di calibrazione
Inerzia dei link
Interazione
Tracker ottici
Sono basati sull’acquisizione delle
proprietà della scena attraverso
un sistema di telecamera.
Possono essere:
• Attivi
(effettuano uno scan
sfruttando led, laser o
infrarossi)
• Passivi
(ricavano info direttamente
dalla luce dell’ambiente)
Interazione
Tracker ottici

Camere Stereo (passivo):
– Registrano le immagini dell’ambiente e le
elaborano per ricavarne informazioni 3D per
trilaterazione
– V: nessun componente addizionale, rilevano
figure e non punti
– S: scarsa precisione, WS limitato, lento, costoso,
shadowing
Punto 3D
Punti focali
delle camere
Punti rilevati
nelle immagini 2D
Interazione
Tracker ottici

Rilevamento di marker (attivo/passivo):
Le camere rilevano marker posti sull’utente.
I marker possono essere attivi (LED etc.)
o passivi (punti colorati, pattern).
– V: Accurati, multitarget
multitarget,, poco intrusivi
– S: Shadowing
Shadowing,, scarso WS, costoso, sensibile a riflessioni
–
Interazione
Tracker ottici

Camera--based markerless
Camera
Le camere rilevano features dell’immagine che possono essere analizzate con
tecniche di Computer Vision per ricavare informazioni sulla posizione /
orientazione della camera o degli oggetti ripresi
– V: Intrusività quasi nulla, adatti per Augmented Reality, la scena non necessita
di preparazione
– S: Precisione, tempi di calcolo, necessita conoscenza della scena pregressa o
ricavata in tempo reale (SLAM
(
- Simultaneous Localisation and Mapping)
–
Interazione
Tracker ottici

Laser radar – Time of flight (attivo):
– Misurano il tempo di volo di un raggio laser
verso un oggetto e ritorno
– Si ottengono misure di distanza: con 3 di
queste si ricava la posizione.
– V: nessun ingombro, accuratezza estrema per
distanze
– S: scarsa risoluzione, costo, shadowing

Infrarossi (attivo):
– Camere con flash a raggi infrarossi
– Marker di materiale retroretro-riflessivo: con n >= 4
marker si rileva 6-DOF
– Usato oggi da Oculus Rift
– V: Multi target, facile calibrazione, peso
– S: shadowing
shadowing,, costo
Interazione
Tracker ottici

Microsoft Kinect
Usa una combinazione di una camera VGA e di un sistema a infrarossi
(proiettore laser – camera IR) che proietta luce strutturata sulla scena.
Dall’analisi dei pattern di luce proiettati si ricavano informazioni di profondità
(depth map
map))
– V: Intrusività nulla, costo ridottissimo, utilizzabile come scanner 3D (!)
– S: Precisione, risoluzione, ottimizzata per gesture recognition e motion
capture più che per tracking
–
Interazione
Tracker ottici

LightHouse (HTC Vive)
In questo caso gli emettitori sono statici: due “lightbox
“lightbox”
” posti agli angoli di
una stanza emettono luce pulsante da LED a 60 Hz, accoppiata con due laser
rotanti.
– I ricevitori sono il casco o i controller. Sono ricoperti da sensori ottici. Quando
uno di questi sensori riceve un flash da un led misura il tempo che passa finchè
viene rilevato anche il laser da uno qualsiasi dei sensori dello stesso ricevitore.
Dalla relazione SPAZIALE dei sensori colpiti nello stesso momento, e
TEMPORALE (il delta fra il flash del LED e la ricezione del laser), il sistema è in
grado di determinare posizione e orientazione.
–
Interazione
Tracker acustici
Usano una configurazione
emettitore/rilevatore
 L’emettitore produce ultrasuoni che
vengono ricevuti da speciali microfoni: si
ricava distanza da Time of flight
 Per trilaterazione si può ricavare i 66-DOF



V: dimensioni, non costoso, lunghe distanze
S: shadowing
shadowing,, latenza (a
(a distanza),
sensibile a interferenze, temperatura,
rumori, bassa frequenza di rilevazione
Interazione
Tracker inerziali





Misurano accelerazione di masse (accelerometri) o
velocità angolari di masse in rotazione (giroscopi).
E’ necessaria una doppia integrazione per avere info
su posizione (a=d2s/dt2) e un’integrazione semplice
per l’orientazione (w
(w=d
=dQ
Q/dt
dt).
).
L’integrazione porta a problemi di deriva (drift
(drift),
),
ovvero ad accumulo dell’errore
V: dimensione, no shadowing
shadowing,,
no interferenze, alta frequenza
di rilevazione
S: calibrazione, drift
Interazione
Tracker inerziali: accelerometro
Interazione
Tracker misti
Intersense – Fusion Mode
 Sistema misto:

– Inertia Cubes (acc
acc.. + gir.)
– Ultrasuoni

Le misure ad ultrasuoni servono per
correggere il drift dei tracker inerziali
Interazione
Tracker misti
Nintendo WII
 Sistema misto:

– Infrarossi
(rilevano la direzione di puntamento)
– Accelerometri
(rilevano i movimenti)
Emettitori IR
Sensore IR
Interazione
Tracker + feedback

Oculus Touch
Touch,, HTV Vive Controller
Da usarsi in abbinamento con Oculus Rift
Rift/
/ HTC Vive
 Dispositivo 66-DOF
 Joypad analogico e bottoni
 Force feedback con vibrazione
 Finger gesture recognition (Oculus Touch
Touch))

Interazione
Tracker radio
Il meccanismo della triangolazione può essere utilizzato per stime
(più o meno grossolane) di distanza attraverso misure di tempo di
volo delle onde radio, per utilizzo in ambienti grandi o
all’aperto.
Esempi notevoli sono il GPS (per uso outdoor) e il wifi
(prevalentemente indoor) che usano infrastrutture ormai ubique.
L’orientazione va acquisita con altri dispositivi (bussola,
inclinometri, giroscopi etc.)
Interazione
Eye tracker
Utilizzi:
1) Applicazioni (medicali – riabilitazione, fisiologia, psicologia etc.)
2) Tecnologia:
a) Minimizzazione della banda grafica, riducendo le
informazioni periferiche in accordo con I limiti percettivi
(normalmente vengono create due zone: una Region of
Interest (ROI) ad alta risoluzione, ed una periferica
b) Applicazioni avanzate (Depth of Field)
Interazione
Eye tracker
Tipologie:
1) Tracker che usano dispositivi direttamente a contatto con
l’occhio (grande precisione, massima invasività)
2) Tracker che usano elettrodi sulla pelle attorno all’occhio (es.
Starlab ENOBIO) – più precisamente acquisiscono EOG (elettro
oculogramma)
3) Tracker che usano telecamere montate su caschetti solidali alla
testa dell’utente
4) Tracker che usano telecamere montate nello spazio di lavoro
Interazione
Motion Capture
Marker ottici: VICON
Di fatto viene effettuato il tracking ottico (infrarossi) di più marker
che vengono posti in relazione, basandosi su una postura di
partenza, per ricavare i vari angoli ai giunti.
Interazione
Motion Capture
Sensori inerziali: X-Sense
Interazione
Motion Capture
Bend sensors resistivi (strain-gauges): Cybergloves
Interazione
Motion Capture
Markerless ottici: Color gloves
Interazione
Motion Capture
Markerless ottici (camere + infrarossi): Kinect
Interazione
Tracker ottici
Leap Motion
Specializzata per l’acquisizione di posizione e postura delle mani. Usa due
camere a infrarossi.
– Nata come interfaccia “desktop” è stata adattata per HMD. Il supporto a
quest’ultimo migliora NOTEVOLMENTE da Feb 2016 grazie al sw Orion
– V: Intrusività nulla, costo ridottissimo, riconosce semplici gestures
– S: Precisione, risoluzione (molto migliore con Orion
Orion))
–
Interazione
Altri dispositivi di interazione
Interazione
Dispositivi desktop
Dispositivi tradizionali 2-DOF:
- Mouse
- Trackball
- Joystick (ev. con force feedback)
- Tastiera
Dispositivi “meno tradizionali”:
- Touch Screen (ev. Multitouch)
- 3D Mouse (6-DOF)
- Air Mouse
Interazione
Altri dispositivi
Dispositivi non tradizionali:
-
Interfacce aptiche desktop
(es. Sensable Phantom, 6-DOF)
Smartphones
Locomotion Interfaces
Brain Computer interfaces
Interazione
Locomotion interfaces (no feedback)
Virtuix Omni VR Treadmill
 Basato su una superficie a basso attrito
con scanalature radiali.
 Dotato di un gruppo di supporto alla vita
che garantisce sicurezza e di camminare a
mani libere.
 La superficie concava permette al piede
dell'utilizzatore di tornare indietro, per
gravità, dopo ogni passo, mentre una
superficie piana richiederebbe all'utente di
spostare fisicamente i piedi all'indietro,
limitando la naturalezza della passeggiata
Interazione
Brain Computer Interfaces
Possono essere utilizzati come dispositivi di interazione per persone
con diversi gradi di disabilità (es. Domotica, Chat Testuale etc.)
L’utilizzo in Ambienti Virtuali consente di testare questi dispositivi in
ambiente sicuro (es. gVRSys di gTec)
Interazione
Brain Computer Interfaces
Le BCI possono misurare l’attività cerebrale in risposta ad uno stimolo (es.
P300, picco misurabile in un EEG circa 300 ms dopo uno stimolo
infrequente che interrompe una serie frequente di altri stimoli). Il
meccanismo della P300 può essere usato per rilevare la selezione di un
elemento in una matrice le cui righe/colonne lampeggiano secondo
pattern predefiniti.
Le BCI basate su biofeedback misurano cambiamenti dell’attività cerebrali
in risposta ad un atto conscio di pensiero/concentrazione dell’utente
(es. direzionalità destra/sinistra anche solo immaginata!)
Interazione
Metafore di interazione
Interazione
Metafore di interazione
Le metafore riproducono concetti, conosciuti dall’utente in
un contesto, al fine di trasferire questa conoscenza in un
nuovo contesto legato all’esecuzione di un certo task.
Una buona metafora deve essere rappresentativa del task e
compatibile con la conoscenza dell’ utente.
Una buona metafora deve essere
compatibile con i vincoli fisici
dell’interfaccia usata.
I tipici task della VR sono
essenzialmente di tre tipi:
- Navigazione e Movimento
- Selezione di oggetti
- Manipolazione e modifica di oggetti
Interazione
Metafore per la navigazione
Metafore 2DOF o 3DOF
Sono metafore controllate da dispositivi 2/3Dof come mouse
o joystick. Per consentire i normali 6DOF di movimento, se
richiesto, è necessario utilizzare comandi aggiuntivi
(pulsanti del dispositivo o sulla GUI)
Metafore 6DOF
Sono metafore controllate da dispositivi inerentemente
6DOF.
Interazione
Navigazione: Flying Vehicle
 L’utente si sposta all’interno della scena controllando un
veicolo virtuale sul quale è posta la camera
 Non necessita di una fisica del volo accurata
 Prevede per sua natura sei gradi di libertà ma, tipicamente,
alcuni gradi di libertà non sono controllabili dall’utente a causa
di:
• vincoli posti dal task (es. Walking -> 3 DOF)
• necessità di rendere l’interazione più semplice (es. disabilitazione del
rollio -> 5 DOF)
 Varie tecniche di controllo del veicolo
 In ambito desktop il controllo avviene per mezzo di mouse o
joystick. Questi dispositivi permettono di controllare soltanto
2DOF, contro i 3/5 richiesti.
 Soluzione:
• Pulsanti/tasti aggiuntivi
• Utilizzo combinato di mouse e tastiera
Contributo: A.Salvadori
Interazione
Navigazione: Flying Vehicle
Hand directed flying
 La direzione di spostamento è determinata
dalla posizione e dall’orientamento della
mano
 Velocità di spostamento:
• Velocità costante
• Accelerazione costante
• Hand-controlled
 L’utente può muovere la testa liberamente
 Può risultare stancante
Cross-air
 La direzione di spostamento è determinata
dal vettore che, partendo dall’occhio
dominante dell’utente, passa
attraverso un “mirino” situato sulla mano.
Contributo: A.Salvadori
Interazione
Navigazione: Flying Vehicle
Speed coupled flying
 Vengono messe in relazione altezza e inclinazione della camera con
la velocità di navigazione:
 Permette sia una navigazione immersiva a bassa velocità, sia di
percorrere lunghe tratte a velocità sostenuta fornendo al contempo
una visione d’insieme (dall’alto) della scena
 Richiede un device a 2 DOF per essere implementato
 Non è adatta per scene piccole o che modellano ambienti chiusi
Contributo: A.Salvadori
Interazione
Navigazione: Eyeball in Hand
 La scena è visibile esclusivamente per mezzo di un “occhio” tenuto in mano
dall’utente (ovvero un oggetto/punto rilevato da un tracker)
 Corrispondenza biunivoca tra i movimenti del device e quelli dell’occhio: la
navigazione avviene spostandosi all’interno della stanza reale
 Problema: le dimensioni della scena sono limitate sia dal raggio di azione
del dispositivo sia dalla dimensione dell’ambiente di lavoro
 Possibile soluzione: Seven League Boots
 L’utente può attivare una modalità nella quale ogni passo produce uno
spostamento di (ad es.) 7 passi nell’ambiente virtuale
 Problema: camminando l’utente non si sposta soltanto lungo la
direzione “di viaggio”, ma genera anche una oscillazione orizzontale. Una
semplice amplificazione dello spostamento produrrebbe l’amplificazione
dell’oscillazione laterale, disorientando l’utente.
 Possibile soluzione: amplificare solo lungo la direzione di viaggio
 Gaze-directed walking: direzione di viaggio = orientamento della
testa
 Metodo misto: media pesata tra orientamento testa e ultime X
direzioni di viaggio (pesi variabili: es. utente fermo: solo testa)
Contributo: A.Salvadori
Interazione
Navigazione: Orbiting
 L’attività principale dell’utente consiste nel visionare un oggetto di
interesse da varie angolazioni
 La camera si può movere esclusivamente sulla superficie di una sfera
invisibile centrata sull’oggetto ed è sempre orientata verso di esso.
 Zoom (in/out) = variazioni del raggio della sfera
 Modalità di interazione:
• Scene in hand (è l’inverso del flying
vehicle: spostare la camera
all’interno della scena equivale allo
spostare la scena mantenendo fissa la
camera. Richiede un dispositivo 6DOF:
mapping tra rotazioni e traslazioni del
dispositivo e quelle della scena.
• Mouse/touchscreen (multitouch)
• Head tracking
 Possibili problemi di occlusione visiva dovuta ad altri modelli della scena
che si interpongono tra la camera e l’oggetto di interesse
Contributo: A.Salvadori
Interazione
Navigazione: Point of Interest
 Versione tridimensionale ed egocentrica della metafora “point and click”
utilizzata in molti videogames per muovere un personaggio
 Necessita soltanto di un dispositivo a 2 DOF (mouse, touchscreen...):
cliccando su un punto di interesse all’interno della scena tridimensionale la
camera si sposta automaticamente (con una animazione) in modo da fornire
un’inquadratura “ravvicinata” del POI
Varie implementazioni che si differenziano sostanzialmente per:
 Velocità: deve permettere di percorrere qualsiasi distanza in poco
tempo e decelerare in prossimità del POI (es. logaritmica)
 Posizionamento finale della camera rispetto al POI: completamente
hard-coded o guidato dall’utente
Es. Navidget
Contributo: A.Salvadori
Interazione
Navigazione: Camera in Hand
 Viene impiegato un PHANToM (interfaccia aptica desktop 6DOF) per
controllare la navigazione.
 L’orientamento della camera corrisponde all’orientamento della stylus
 Due modalità di spostamento
 Walking: spostamento della stylus su un
piano orizzontale virtuale percepito dall’utente
tramite force-feedback
 Flying vehicle: il piano viene sostituito da un
cubo virtuale. Il veicolo viene messo in movimento
spingendo lo stylus oltre i bordi del cubo. Maggiore
è la forza con cui l’utente si oppone alla resistenza
del device, maggiore sarà la velocità del veicolo
Contributo: A.Salvadori
Interazione
Navigazione: Map based
 Varie metafore prevedono la navigazione all’interno della scena utilizzando
una sorta di mappa. Particolarmente interessanti sono quelle che combinano
un display tradizionale ad un touchscreen:
- il display viene utilizzato per visualizzare la scena
- il touchscreen mostra una mappa della scena e un’icona
della camera
 Camera-Based navigation:
L’utente manipola l’icona l’icona della camera.
Le trasformazioni applicate all’icona vengono
applicate in real-time anche alla camera nella scena
 View-Based navigation technique:
La posizione dell’icona è fissa, centrata nello schermo
e sempre orientata verso il display. Anziché manipolare
l’icona della camera, si manipola l’intera mappa.
Corrispondenza diretta tra l’immagine mostrata sul
touchscreen e quanto visualizzato sul display
Contributo: A.Salvadori
Interazione
Navigazione: World in miniature
 Viene creata una copia in scala ridotta dell’intera scena.
 Tale miniatura è interattiva: è possibile selezionare e manipolare gli
elementi in essa presenti (compresa la camera); ogni modifica apportata alla
miniatura verrà applicata anche al modello originale
 Non è stato pensato per sostituire completamente le altre metafore, ma
per fornire all’utente una modalità di interazione alternativa basata su una
scala differente
Contributo: A.Salvadori
Interazione
Navigazione: Multitouch
Usano sistemi touch e “gesture” spesso già familiari
The DabR (Un.Tubinga)
 Muovendo un dito sullo schermo si cambia
l’orientamento della camera
Avvicinando o allontanando due dita si ottiene uno
zoom (pinch zoom) che preserva la pick correlation
tra le dita e gli elementi della scena sottostanti
Windows on the world
 L’analogia utilizzata in questa metafora è quella di
una finestra sulla scena collegata ad un giunto sferico:
• premendo la finestra in basso la camera
ruota verso l’alto, premendola a destra la camera ruota
a sinistra ecc.; premendo con due dita la camera si
muove lungo la direzione di vista
• ruotando la finestra (con la classica gesture) si provoca
il rollio della camera
• supporto a pinch zoom
Contributo: A.Salvadori
Interazione
Navigazione: Wiimote
Utilizzano il wiimote come dispositivo di interazione o come vero
e proprio tracker
Flying vehicle / Walking:
• Si utilizza il remote per controllare l’orientamento della camera
e lo stick del Nunchuk per effettuare lo spostamento
• Tilt-based control: ruotando il remote si sterza il veicolo.
Inclinandolo in avanti o indietro si può controllare la velocità (in
alternativa ai pulsanti) o il beccheggio
Accelerometer-based:
Sfruttando gli accelerometri incorporati, è possibile imitare attraverso più wiimote il movimento
effettuato dalle gambe nel camminare, correre e
saltare, utilizzarli come fossero “bastoni da sci”
per muoversi e curvare, o legarli direttamente
alle gambe per replicare la camminata reale.
Contributo: A.Salvadori
Interazione
Navigazione: Wii balance board
Dispositivo economico e particolarmente adatto alla navigazione:
permette di spostarsi all’interno dell’ambiente virtuale attraverso
delle “foot gesture”, consentendo così di lasciare libere le mani di
eseguire altri compiti
 È dotata di 4 sensori di pressione
 Facilmente applicabile alle metafore
Orbiting e Walking
Wii Balance Board + Multitouch: Human Transporter vehicle
Metafora ispirata al monopattino elettrico. Il monopattino viene
controllato per mezzo della Balance Board
Sul monopattino è installato uno schermo multitouch
utilizzato per visualizzare e manipolare un World in
Miniature
Il WIM risulta utile sia per il wayfinding che per
implementare spostamenti veloci su lunghe distanze
(teletrasporto)
 La scena viene proiettata su un Powerwall
Contributo: A.Salvadori
Interazione
Altre metafore di navigazione
TREADMILLS: virtual camera segue i movimenti fisici
dell’utente
TELEPORTATION: l’utente è istantaneamente trasportato nel
luogo desiderato (speech commands o selezione da lista)
Interazione
Metafore per la selezione
A differenza delle applicazioni 2D, in cui gli oggetti sono accessibili per
manipolazione diretta, le applicazioni 3D aggiungono un grado di complessità
ulteriore che non sempre è facilmente gestibile (ad es. la valutazione della
profondità, specie con monitor 2D, o i problemi di occlusione).
Sono classificabili in tre grandi categorie:

Selezione diretta (es. da lista, tramite speech recognition, etc.)

Virtual hand

Virtual pointer
Interazione
Selezione: Virtual hand
È presente nella scena una rappresentazione virtuale della mano dell’utente
(può essere anche un semplice cursore)
La selezione di un oggetto avviene muovendo la “mano” in modo da farla
intersecare con l’oggetto scelto
Le varie tecniche che implementano questa metafora si distinguono in base
alla funzione che associa la posizione e l’orientamento della mano reale alla
posizione e all’orientamento della mano virtuale
Nel virtual hand “classico” tale funzione è l’identità: per
selezionare gli oggetti non “a portata di mano”, l’utente
deve spostarsi nella scena.
Nel “go-go” si possono allungare le proprie braccia
interattivamente, in modo da poter raggiungere e
manipolare oggetti distanti. In questo caso il mapping
tra la posizione della mano reale e quella della mano
virtuale è non lineare e a tratti
Interazione
Selezione: Virtual pointer
L’utente seleziona un oggetto semplicemente puntandolo
 Le metafore appartenenti a questa famiglia si differenziano
sostanzialmente in base a:
• come viene determinata la direzione di puntamento
• il tipo di volume di selezione
• eventuali politiche di disambiguazione
Interazione
Selezione: Ray Casting
Il volume di selezione consiste in una sorta di “raggio laser” infinito
 La selezione avviene quindi orientando il raggio in modo da intersecare
l’oggetto scelto
 Nel caso in cui più di un oggetto venga intersecato dal raggio, viene scelto
l’oggetto più vicino all’utente
 L’orientamento del raggio
è controllato tramite:
• mouse
• hand tracking
(virtual hand)
• hand gesture
 Difficoltà nel selezionare
oggetti piccoli o distanti
(sensitività all’angolo)
Interazione
Selezione: Ray Casting e co
co..
Possibile soluzione per oggetti piccoli e distanti:
Deformable Ray Casting:
Si seleziona l’oggetto più vicino al raggio (anche se non è stato
“centrato in pieno”), come se il raggio venisse “curvato” verso
tale oggetto
Cone Casting:
Il raggio viene sostituito da un
cono di lunghezza infinita.
Così facendo si ottiene un vero
e proprio “volume di selezione”,
che consente di selezionare
oggetti piccoli o distanti più
facilmente.
È necessaria una politica
discriminatoria nel caso in cui
più oggetti si trovino dentro
il cono alla stessa distanza
dall’utente.
Interazione
Metafore per la manipolazione
Si distinguono in:
- esocentriche (viste dall’esterno del mondo)
- egocentriche (viste in prima persona)
RAY-CASTING (egocentrica):
Una volta selezionato un oggetto è possibile utilizzare lo stesso raggio
per spostare l’oggetto nello spazio
Per ruotare l’oggetto attorno ad un asse diverso da quello definito dal
raggio o per variare la distanza tra l’utente e l’oggetto sono necessari
pulsanti aggiuntivi
VIRTUAL HAND (egocentrica):
Tutte le metafore basate su virtual hand (Go-Go compreso) offrono buoni
risultati anche per la manipolazione, grazie alla semplicità con cui è
possibile convertire posizione e orientamento della mano in
trasformazioni (traslazioni e rotazioni) da applicare all’oggetto
Interazione
Metafore per la manipolazione
HOMER: (Hand-centered Object Manipulation Extending Ray-casting) (egoc.)
Utilizza il ray-casting per la selezione ma, una volta scelto un oggetto, il
raggio scompare e una mano virtuale legata all’oggetto lo sostituisce
È possibile traslare l’oggetto solo all’interno di un volume sferico di raggio
pari alla massima estensione del braccio dell’utente
Per ovviare a questa limitazione è stato implementato un meccanismo per
variare la distanza tra l’utente e l’oggetto attraverso due pulsanti
WORLDS IN MINIATURE (esocentrica):
Per modificare la posizione o l’orientamento di un oggetto, l’utente
“afferra” il corrispondente proxy nella miniatura e lo sposta o lo ruota come
desidera
Molto efficace per manipolazioni a “grana grossa”, ma presenta serie
limitazioni sia sotto il profilo della precisione degli spostamenti sia nella
manipolazione di piccoli oggetti
Interazione
Metafore per la manipolazione
Fino a questo momento abbiamo considerato come possibili manipolazioni su un
oggetto la sua traslazione o rotazione, azioni che dipendono dal contesto in cui è
inserito l’oggetto
Ci sono però manipolazioni che non dipendono dal contesto in cui è inserito
l’oggetto. Tipici esempi sono la colorazione di un oggetto, il texture painting
ecc..
Per gli esseri umani è naturale effettuare questo tipo di manipolazioni usando
entrambe le mani (la mano dominante lavora rispetto al sistema di riferimento
definito dalla mano non dominante)
OBJECT IN HAND (egocentrica):
Scambio di ruoli tra mano dominante e mano non dominante a seconda dei tempi
dell’interazione:
Mano non dominante portata vicino a mano dominante -> trigger menu
Mano dominante -> Selezione azione da menu
Mano non dominante -> Gestisce trasformazioni “geometriche”
Mano dominante -> Gestisce interazione
CLIP
Interazione