510 likes | 656 Views
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
E N D
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 • Inclut 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 3D sélection, positionnement et rotation • La sélection peut exister indépendamment du contexte de manipulation ex : sélectionner pour effacer
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.
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
Techniques usuelles de sélection • Simple virtual hand • Ray-casting • Sticky finger (occultation) • Go-go (extension du bras)
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
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.
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 + zdt Intersection calculée seulement pour t>o
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.
Avantages Désavantages Ray-casting : Avantages et désavantages • - 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 - En théorie, les objets peuvent être sélectionnés à une distance quelconque. - Technique naturelle d’intéraction
Avantages Désavantages Améliorations pour le ‘ray-casting’ Flashlight (Liang, 1994) : volume conique de sélection • Plusieurs objets sont éclairés en même temps : ambiguïté • Positionnement/rotation inefficaces Sélection plus facile des objets de petite taille à n’importe quelle distance
Améliorations pour le ‘ray-casting’ Aperture (Forsberg, 1996) : volume conique de sélection+contrôle intéractif du volume de sélection • 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 • Positionnement/rotation inefficaces
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
ß ß 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.
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
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)
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.
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é)
Techniques usuelles de manipulation • Simple virtual hand • HOMER • Scaled-world grab • World-in-miniature • Voodoo dolls
Manipulation par la technique ‘Simple virtual hand’ Root • 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) head hand building Root head hand building
2.0 m 1.0 m 0.6 m 0.3 m torso torso physical hand physical hand 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
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
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)
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é.
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
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.
Root head hand room Root table head hand room WIM room (scaled) table table copy WIM : Implantation (1) La table ne doit pas subir un cadrage individuel, à cause de l’héritage.
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.
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).
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.
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.
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.
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°).
A. 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.
Classification des techniques de manipulation par composante
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
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.
A. Branzan-Albu & D. Laurendeau GIF-66800 Technique de contrôle - classification Categorisation
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
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
Intéraction à deux mains : l’information additionnelle est affichée comme texte
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.
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
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.
A. 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”
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
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