Design des environnements virtuels

51
1 Design des environnements virtuels A. Branzan-Albu et D. Laurendeau Dép. de génie électrique et de génie informatique Université Laval

description

Design des environnements virtuels. A. Branzan-Albu et D. Laurendeau Dép. de génie électrique et de génie informatique Université Laval. Aujourd’hui :. Techniques de sélection et de manipulation. Manipulation des objets virtuels en 3D. Manipulation spatiale des objets rigides - PowerPoint PPT Presentation

Transcript of Design des environnements virtuels

Page 1: Design des environnements virtuels

1

Design des environnements virtuels

A. Branzan-Albu et D. Laurendeau

Dép. de génie électriqueet de génie informatique

Université Laval

Page 2: Design des environnements virtuels

2

Aujourd’hui : Techniques de sélection et de

manipulation

Page 3: Design des environnements virtuels

3

Manipulation des objets virtuels en 3D

Manipulation spatiale des objets rigidesInclut des tâches complexes de manipulation (ex. sculpture virtuelle)Chaque tâche complexe peut être décomposée en tâches canoniques

Tâches canoniques de manipulation 3Dsélection, positionnement et rotation

La sélection peut exister indépendamment du contexte de manipulation ex : sélectionner pour effacer

Page 4: Design des environnements virtuels

4

Manipulation des objets virtuels en 3D

Variables qui affectent le processus de manipulation distance à l’object taille de l’objet, densité de l’objet angle de rotation requis par la tâche niveau de précision requis

Le design des techniques de manipulation dépend des tâches spécifiques d’intéraction et des variables du processus.

Page 5: Design des environnements virtuels

5

Techniques de sélection - Implantation Comment signaler l’évènement de sélection? à l’aide d’une liste d’objets : menu 2D Automatique : détection de l’intersection des

objets Rétroaction vers l’utilisateur

Graphique Auditive Tactile

Avatar de la main virtuelle Liste des objets sélectables

Page 6: Design des environnements virtuels

6

Techniques usuelles de sélection

Simple virtual hand Ray-casting Sticky finger (occultation) Go-go (extension du bras)

Page 7: Design des environnements virtuels

7

Simple virtual hand Correspondance entre la main

physique et la main virtuelle L’object peut être sélectionné

en le ‘touchant’ or par intersection entre la main virtuelle et l’objet

Avantage : métaphore naturelle

Désavantage : région limitée de manipulation

Page 8: Design des environnements virtuels

8

Technique de ‘ray-casting’(Bolt, 1980)

“pointeur laser ” attaché à la main virtuelle

Le premier objet intersecté peut être sélectionné

L’utilisateur a besoin de contrôler seulement 2 DOF

Technique simple, qui fonctionne généralement bien.

Page 9: Design des environnements virtuels

9

Implantation du ‘Ray-casting’

Naïve: intersecter le rayon avec chaque polygone Équations paramétriques du rayon : Orientation dans le SC de la main: [0,0,-1] Trouver l’équivalent dans le SC du monde

virtuel (x0, y0, z0)

x(t) = xh + xdt y(t) = yh + ydt z(t) = zh + zdtIntersection calculée seulement pour t>o

Page 10: Design des environnements virtuels

10

Implantation du ‘Ray-casting’

Alternative: transformer les sommets de l’objet virtuel dans la SC de la main

Plus efficace : une seule main, mais plusieurs polygones

Trouver la nouvelle coordonnée en z pour chaque sommet.

Projection d’un polygone 3D dans un plan 2D.

Le rayon intersecte cette projection si (0,0) se trouve à l’intérieur de la projection.

Compter le nombre d’intersections entre les arêtes et l’axe OX. Si nombre pair, alors l’origine se trouve à l’intérieur.

Page 11: Design des environnements virtuels

11

Ray-casting : Avantages et désavantages

Avantages Désavantages

- En théorie, les objets peuvent être sélectionnés à une distance quelconque.

- Technique naturelle d’intéraction

- Inefficace pour la sélection des objets de petite taille ou éloignés

- Inefficace pour le positionnement des objets et pour la rotation.

-Rotation permise seulement autour de l’axe propre du rayon

Page 12: Design des environnements virtuels

12

Améliorations pour le ‘ray-casting’

Flashlight (Liang, 1994) : volume conique de sélection

Sélection plus facile des objets de petite taille à n’importe quelle distance

Avantages

-Plusieurs objets sont éclairés en même temps : ambiguïté

- Positionnement/rotation inefficaces

Désavantages

Page 13: Design des environnements virtuels

13

Améliorations pour le ‘ray-casting’

Aperture (Forsberg, 1996) : volume conique de sélection+contrôle intéractif du volume de sélection

-Positionnement/rotation inefficaces

- deux systèmes de tracking sont nécessaires:

- l’axe principal du cône est défini par la position de la tête et le contrôle de l’aire de la section transversale se fait avec la main

Page 14: Design des environnements virtuels

14

Technique de sélection par occlusion‘sticky finger technique’

2D : travaille dans le plan de l’image

Occulter/couvrir l’objet ciblé avec un objet sélecteur (ex. doigt virtuel)

L’objet proximal le long de la droite définie par l’oeil et le doigt sera sélectionné

Manipulation des objets éloignés impossible

Page 15: Design des environnements virtuels

15

Implantation de la sélection par occultation

Cas particulier du «ray-casting»

Il faut considérer la position des yeux

Peut utiliser la 2ème implantation du ray-casting: demande un objet supplémentaire pour définir le SC du rayon

ß

ß

Exemple 2D : l’angle β peut être déterminé en utilisant les positions de l’oeil et de la main, et quelques notions de base de trigonométrie.

Page 16: Design des environnements virtuels

16

Technique Go-Go (Poupyrev et al., 1996)

‘Extension’ du bras Les objets doivent

être touchés pour être sélectionnés

Mapping non-linéaire entre la position de la main réelle et la position de la main virtuelle

Manipulation locale et à distance

Page 17: Design des environnements virtuels

17

Go-Go : implantation Données d’entrée : position du torse

(trackée ou calculée) Pour chaque trame:

lire la position de la main ‘physique’ h dans le SC du monde virtuel

calculer la distance entre le torse et la main dp = dist(h, t) calculer la position de la main virtuelle dv = gogo(dp) Normaliser le vecteur torse-main

Position de la main virtuelle v = t + dv*th (dans le SC du monde virtuel)

th

thth

Page 18: Design des environnements virtuels

18

Go-Go : Performances et limites Permet la sélection et la manipulation

des objets proches et à distance. La distance maximale de manipulation

reste quand même limitée. Quand la distance augmente, les

mouvements de faible amplitude de la main physique se traduisent en mouvements de grande amplitude de la main virtuelle. La manipulation précise à grande distance devient compliquée.

Page 19: Design des environnements virtuels

19

Implantation des techniques de manipulation Intégration avec les techniques de sélection

(processus préliminaire obligatoire). ex de techniques de sélection et manipulation intégrées : virtual hand, ray-casting, go-go, etc.

Pendant la manipulation, ne pas permettre le processus de sélection (respecter la cohérence séquentielle des actions de l’utilisateur)

Qu’est-ce qui se passe après le relâchement? (l’objet virtuel doit obéir aux lois de l’EV, ex : gravité)

Page 20: Design des environnements virtuels

20

Techniques usuelles de manipulation Simple virtual hand HOMER Scaled-world grab World-in-miniature Voodoo dolls

Page 21: Design des environnements virtuels

21

Manipulation par la technique ‘Simple virtual hand’

Implantation basée sur un arbre de rendu (scene-graph) :

- attacher l’objet sélectionné à la main virtuelle (changement de l’arbre de rendu). Les mouvements de la main virtuelle (translation, rotation) seront hérités par l’objet.

- après le relâchement, l’objet est rattaché au monde virtuel.

- L’objet virtuel ne doit pas bouger au début et à la fin de la manipulation (transformation de coordonnées entre le SC du monde et la SC de la main)

- Implantation similaire pour les autres techniques qui attachent l’objet au sélecteur (GO-GO, ray-casting)

Root

head hand building

Root

head hand

building

Page 22: Design des environnements virtuels

22

HOMER Hand-Centered Object ManipulationExtending Ray-Casting

• Sélection : ray-casting

• La main virtuelle est déplacée vers l’objet pour une manipulation centrée sur la main

• Mapping linéaire des distances : la distance initiale torse-main physique est proportionnelle à la distance initiale torse-objet. Déplacer la main physique deux fois plus loin implique le déplacement de l’objet virtuel deux fois plus loin

Time

1.0 m

0.3 m

2.0 m

0.6 m

torso physicalhand

torso physicalhand

Page 23: Design des environnements virtuels

23

HOMER: Implantation (1) calculer la position du torse t : la main

virtuelle se trouve sur la droite définie par le torse et la main réelle.

pour la selection, détacher la main virtuelle du tracker, déplacer la main v. vers la position de l’objet dans la SC du monde, et attacher l’objet à la main v.

Pour le mapping linéaire, obtenir la position de la main physique h et la distance dh = dist(h, t)

Obtenir la position de l’objet o et la distance do = dist(o, t)

Le facteur d’échelle : do/dh

Page 24: Design des environnements virtuels

24

HOMER: Implantation (2) À chaque trame, établir la position et l’orientation de la main

virtuelle. L’objet v. est attaché à la main v., donc il aura la même position et orientation.

Orientation : la main physique et la main virtuelle ont la même orientation

matrice de suivi de la main physique = matrice de la main virtuelle

Positionnement Calculer la distance torse - main physique dh-curr = dist(hcurr, t) Calculer la distance torse - main virtuelle

normaliser le vecteur torse – main physique

Calculer la position de la main virtuelle vh = t + dvh*(thcurr)

th

thth

curr

currcurr

h

ocurrhvh d

ddd

Page 25: Design des environnements virtuels

25

Scaled-world grab Technique de

manipulation combinée souvent avec la technique de sélection par occlusion

Après la sélection, augmenter l’échelle de l’utilisateur (ou diminuer l’échelle du monde virtuel) en sorte que la main virtuelle touche l’objet sélectionné.

Page 26: Design des environnements virtuels

26

Scaled-world grab: Implantation Après la sélection:

calculer dans le SC du monde la distance yeux - main physique deh

Calculer dans le Sc du monde la distance yeux - objet deo

Cadrage de l’utilisateur (le sous-arbre correspondant à l’utilisateur) avec deo / deh

Vérifier la conservation du point de vue attacher l’objet sélectionné à la main virtuelle

Au relâchement: Re-attacher l’objet au monde virtuel Cadrage uniforme de l’utilisateur avec deh / deo

Vérifier la conservation du point de vue

Page 27: Design des environnements virtuels

27

World-in-miniature (WIM) technique

“maison de poupées” à une échelle comparable à la main de l’utilisateur

Les objets en miniature peuvent être manipulés directement.

Le déplacement des objets en miniature affecte leurs correspondants dans le monde virtuel.

Cette représentation de l’EV peut être aussi utilisée pour la navigation : l’utilisateur déplace son avatar dans l’EV.

Page 28: Design des environnements virtuels

28

WIM : Implantation (1)

Root

head hand room

table

Root

head hand room

tableWIM room(scaled)

table copy

La table ne doit pas subir un cadrage individuel, à cause de l’héritage.

Page 29: Design des environnements virtuels

29

WIM: Implantation (2) Après la sélection:

Déterminer quel objet à pleine échelle correspond à l’objet en miniature qui vient d’être sélectionné.

Attacher l’objet en miniature à la main virtuelle

Pour chaque trame: Copier la matrice de position/orientation

locale de l’objet en miniature pour l’objet à pleine échelle correspondant.

Page 30: Design des environnements virtuels

30

WIM : Performances et limites Le cadrage d’un EV de complexité

moyenne ou élevée a comme résultat des miniatures de taille trop petite.

La manipulation de ces miniatures ne peut pas être très précise.

Amélioration possible : cadrage partiel de l’EV (choix préalable de la partie de l’EV à être représentée par WIM).

Page 31: Design des environnements virtuels

31

Voodoo Dolls (1) Technique d’interaction utilisant deux

mains (pinch gloves) pour la manipulation des objets à distance dans un EV immersif.

Quelques principes de base… Pour commencer la manipulation

d’objets l’utilisateur crée dynamiquement des ‘poupées’ (copies temporaires et miniaturisées des objets virtuels).

De façon similaire à WIM, l’utilisateur interagit avec les objets virtuels en manipulant leurs copies.

Page 32: Design des environnements virtuels

32

Voodoo Dolls (2) La sélection est effectuée généralement

avec une technique d’occultation. L’utilisateur peut spécifier explicitement

la trame de référence pour la manipulation: la poupée tenue dans la main non dominante représente la trame stationnaire de référence, et l’objet correspondant virtuel est immobile.

La spécification explicite d’une trame de référence : changement d’échelle ajustable, donc plus avantageux que WIM.

Page 33: Design des environnements virtuels

33

Voodoo Dolls : Performances et limites

Technique de manipulation sophistiquée, permettant la manipulation des objets articulés en mouvement libre dans l’environnement.

Manipulation complexe, moins naturelle que ‘virtual hand’, demande deux niveaux d’abstraction supplémentaires, donc plus difficile à apprendre.

Page 34: Design des environnements virtuels

34

Techniques de manipulation avancées (1) Rotation 3D non-isomorphe Représente une alternative plus convenable au

techniques de rotation 3D imposant une correspondance biunivoque entre le déplacement des objets virtuels et le dispositif d’entrée (6DOF)

Approche isomorphe : la rotation d’un objet à 360° est impossible en un seul mouvement (le bras à une amplitude de rotation limitée autour du coude).

Alternative non-isomorphe : correpondance entre l’espace limité de mouvement de l’utilisateur et l’espace virtuel de rotation (3DOF, 360°).

Page 35: Design des environnements virtuels

35A. Branzan-Albu & D. Laurendeau GIF-66800

Techniques de manipulation avancées (2) La rotation dans un espace 3D ne vérifie pas

les lois de la géométrie euclidienne. Par rotation itérative d’un objet dans le même sens, on obtient à un moment donné la pose initiale de l’objet.

L’espace des rotations n’est pas un espace vectoriel, mais un espace fermé et courbé (sphère 4D). Description mathématique basée sur les quaternions.

Page 36: Design des environnements virtuels

36

Classification des techniques de manipulation par métaphore

Page 37: Design des environnements virtuels

37

Classification des techniques de manipulation par composante

Page 38: Design des environnements virtuels

38

Tâches universelles d’interaction dans un EV Navigation : - déplacement (‘travel’) – composante motrice,

mouvement - orientation spatiale (‘wayfinding’) – composante

cognitive, prise de décision Sélection des objets virtuels Manipulation - spécification des propriétés de l’objet (position,

orientation, forme etc.) Contrôle du système - changement de l’état du système ou du mode

d’interaction

Page 39: Design des environnements virtuels

39

Techniques de contrôle Définition : Le contrôle du système

est l’action par laquelle une commande est appliquée pour changer le mode d’intéraction ou l’état du système.

implique toujours la sélection d’un élément parmi une liste d’options

est supporté par un certain style d’interaction.

Page 40: Design des environnements virtuels

40A. Branzan-Albu & D. Laurendeau GIF-66800

CategorisationTechniqueSystem control method

G raph ica l m enus

H and orien ted m enu

C onverted 2D m enus

3D w idgets

V o ice com m andS peech recogn ition

G estura l In te raction

G estures, posturesToo l

P hysica l too lV irtua l too l

TechniqueSystem control method

G raphica l m enus

H and orien ted m enu

C onverted 2D m enus

3D w idgets

V oice com m andS peech recognition

G estura l In teraction

G estures, posturesToo l

P hysica l too lV irtua l too l

Technique de contrôle - classification

Page 41: Design des environnements virtuels

41

Menus graphiques • L’équivalent 3D des menus 2D

• Placement– Par rapport au monde virtuel– Par rapport à un certain objet

(centré sur l’objet virtuel)– centré sur le point de vue de

l’utilisateur (trame égocentrique)– Centré sur le dispositif

d’interaction (trame de référence physique)

Ex : le placement des menus sur un ‘responsive workbench’ est toujours périphérique

Page 42: Design des environnements virtuels

42

Exemple : contrôle des objets

Page 43: Design des environnements virtuels

43

Menus graphiques (2) Exemples : Menus orientés vers

l’interaction manuelle

Liang et Green : ‘the ring menu’

Technique conçue spécifiquement pour un dispositif de contrôle 3D tenu en main. Les items disponibles pour sélection sont placés sur un anneau circulaire semi-transparent. 1DOF

Page 44: Design des environnements virtuels

44

Intéraction à deux mains : l’information additionnelle est affichée comme texte

Page 45: Design des environnements virtuels

45

Menus graphiques (3) Conversion des menus 2D –

fonctionnement similaire à un environnement ‘desktop’;

Plusieurs DOF sont disponibles pour la sélection

Exemples classiques : menus pop-up, pull-down, barres d’outils, curseurs etc.

Page 46: Design des environnements virtuels

46

Exemple : TULIP – Three Up Labels in Palm

Menu 3D utilisant les Pinch gloves

La main non dominante contient les différentes options

La main dominante contient des choix correspondant à l’option sélectionnée.

Métaphore égocentrique

Page 47: Design des environnements virtuels

47

Menus graphiques

Widgets 3D = combinaison de géométrie et de comportement

La fonctionnalité de contrôle est déplacée dans le monde virtuel

Généralement, contenue dans un seul objet virtuel.

Page 48: Design des environnements virtuels

48A. Branzan-Albu & D. Laurendeau GIF-66800

Techniques de contrôle basées sur des commandes vocales· Interaction ‘hands-off’ utilisant le

langage naturel· Initialisation, sélection et commande

intégrées· Performances des algorithmes de

reconnaissance de la parole variables, dépendant de la méthode implantée (dépendante ou indépendante du sujet)

· Implantation souvent difficile

Also see: Joseph J. LaViola “Input and output for 3D interaction”

Page 49: Design des environnements virtuels

49

Commandes vocales –performances

Technique naturelle d’interaction, facile à combiner avec d’autres techniques

Pas d’occultation avec le champ d’attention visuelle

Apprentissage facile des commandes vocales

Page 50: Design des environnements virtuels

50

Commandes vocales - limites Le système de reconnaissance de la

voix peut reconnaître une quantité limitée de mots; problèmes syntactiques et sémantiques Le contrôle continu de la voix est une

source de fatigue Contrôle en ligne de la voix très

difficile à réaliser Artefacts : bruit de l’arrière-plan

Page 51: Design des environnements virtuels

51

Gestural interaction Gestures and postures

Hand-as-a-tool metaphor: using hand-gesture for mode change

One should make a division between postures (static movement) or gestures (posture with change of position and/or orientation hand, or moving fingers)

Glove-based and computer-vision based interaction Requires thorough feedback to reduce user's cognitive load Robust glove-based interaction is expensive

Also see: Joseph J. LaViola “Input and output for 3D interaction”