Design des environnements virtuels
Embed Size (px)
description
Transcript of 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

2
Aujourd’hui : Techniques de sélection et de
manipulation

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

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.

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

6
Techniques usuelles de sélection
Simple virtual hand Ray-casting Sticky finger (occultation) Go-go (extension du bras)

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

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.

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

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.

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

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

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

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

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.

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

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

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.

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é)

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

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

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

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

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

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é.

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

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.

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.

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.

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).

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.

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.

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.

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°).

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.

36
Classification des techniques de manipulation par métaphore

37
Classification des techniques de manipulation par composante

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

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.

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

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

42
Exemple : contrôle des objets

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

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

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.

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

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.

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”

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

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

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”