Etude d'une nouvelle interaction dans le cadre de logiciels 3D

De Ensiwiki
Aller à : navigation, rechercher

Étudiants


Contexte

Nous proposons une interaction alternative à la souris dans le cadre de la manipulation d'objets à 6 degré de liberté. Cette interaction sera a priori moins précise que la souris, mais plus rapide. Elle devrait donc s'adresser à des développeurs recherchant des scènes 3D grandes, relativement opulentes mais ne nécessitant pas de grande précision. Typiquement, placer des bâtiments dans une rue nécessite de la précision pour qu'ils soient alignés: nous ne considérons pas ce genre de besoin, mais plutôt la disposition d'avions dans le ciel, et/ou de nuages, d'objets dont la position relative les uns par rapports aux autres n'est pas soumise à des règles précises. Pour les domaines d'apllication nous pensons plutôt au jeu vidéo, ou au film d'animation. Nous avons pour objectif de donner une solution plus efficace que la souris à la nécessité de bouger et tourner des objets en 3D dans de grands espaces. Pour la comparaison des deux interactions, nous ajoutons en plus une vision 3D stéréoscopique ainsi que du head-tracking, qui permettent donc d'obtenir une vision "fishtank" de la scène. Ceci a pour objectif de percevoir de manière la plus efficace possible les profondeurs.

Statu quo (presque)

Nous comparons notre idée à l'utilisation exclusive de la souris pour la manipulation de la caméra et des objets dans une scène 3D. Nous considérons donc les interactions classiques présents dans de nombreux logiciels: -drag & drop: cliquer sur un objet et maintenir le clic permet de le déplacer selon un plan orthogonal à la caméra

-widgets: les objets possèdent tous des widgets,rendus par dessus leur propre rendu, qui permettent des transformations + précises:

  -axes: cliquer sur l'un des axes et maintenir le clic permet le déplacement le long de cet axe.
  -rotations: cliquer sur l'un des cercles et maintenir le clic permet de tourner selon l'axe du cercle.
Widget de translation représenté par dessus l'objet
Widget de translation activé
Translation de l'objet en bougeant la souris
Widgets de rotation

A noter que les axes restent toujours orientés selon les axes principaux x,y,z, alors que les cercles tournent en même temps que l'objet. De plus, les widgets de rotation peuvent être activer/désactiver à l'aide d'une touche clavier.

Pour ce qui est du déplacement de la caméra: Un clic roulette maintenu permet de translater la caméra sans changer son orientation. La roulette permet de zoomer/dézoomer. Un clic droit maintenu permet d'orienter la caméra sans changer sa position.

Il nous manque donc une interaction importante, qui est un mode orbital (ie la possibilité de tourner la caméra autour d'un objet, en maintenant le focus sur l'objet), ceci par manque de temps. De plus, notre implémentation était moins efficaces et intuitives que les implémentations dans les logiciels courants, nous y reviendrons dans la section "Discussion des résultats".

Notre concept

Nous proposons une interaction bi-manuelle avec pour objectif de placer et déplacer des objets de taille relativement réduite dans une scène en 3 dimensions. L'idée est de découpler le déplacement dans la scène et le positionnement des objets en les répartissants sur les deux mains de l'utilisateur. Pour mener à bien la tâche, l'utilisateur se place à un point de vue qui lui convient (angle, position, proximité aux objets d'intérêt), puis manipule localement les objets à sa portée.

On peut imaginer l'utilisateur comme pilote d'un vaisseau spatial. Il se déplace à sa guise dans son environnement (virtuel), puis une fois à portée d'un objet, peut le manipuler à l'aide d'un rayon tracteur ou d'un bras robot.

Ce dispositif suit les règles de Guiard (Asymmetric Division of Labor in Human Skilled Bimanual Action ) concernant les interactions bi-manuelle. La main non dominante d'un individu sert à placer un référentiel de travail (tache ne necessitant pas grande précision), puis la main dominante interagit relativement à ce référentiel avec plus de minutie.

  • Main non dominante: appareil isotonique permettant 6 degrés d'interaction différentes: 3 rotations, 3 translations. Permet de grand déplacement dans la scène.
  • Main dominante: appareil isométrique dirigeant directement la position et la rotation d'un pointeur (suivi assuré par Optitrack). Permet de positionner avec aisance un objet devant la caméra.


Notre appareil tracké par des caméras infrarouges en main droite. L'appareil à 6 degrés de libertés à gauche.

A l'aide de sa main non dominante, l'utilisateur est capable de faire se déplacer la caméra dans la scène. 5 degrés de liberté lui sont effectivement possible, l'horizon est bloqué en position relative horizontale ce qui interdit l'un des degrés de rotation. Cette limitation à pour but d'empêcher l'utilisateur de se perdre dans la scène (comme un plongeur peut perdre le sens de l'orientation).

Sa main dominante lui sert alors à déplacer un curseur relativement à la caméra. Ce curseur lui sert à attraper les objets, les bouger relativement à la caméra, les tourner et bien sur à les fixer dans la scène. L'intérêt du déplacement relatif à la caméra est que lorsqu'un objet est sélectionné, l'utilisateur peut l'emporter avec lui, et ainsi changer grandement sa position dans la scène.

Une vidéo illustrant le fonctionnement est présente dans la section 'Experience". On y voit qu'en l'état, l'utilisateur doit appuyer sur une touche clavier pour activer le mode de saisie, ou pour lâcher un objet. Ceci pourrait être améliorer en créant un bouton directement sur l'un des deux appareils utilisés, ce qui n'a pas été fait pour des raisons techniques.


Experience

Les sujets de test ont été soumis à l'expérience suivante:

  • les sujets doivent déplacer un dé objet (opaque, points noirs) dans un autre dé cible de même couleur (transparent, points blancs)
  • le dé objet doit avoir la même orientation que le dé cible
  • le dé objet doit être à l'intérieur du dé cible
  • le dé cible est plus large que le dé objet, ce qui laisse une certaine marge de manoeuvre
  • le positionnement est validé manuellement par les expérimentateurs
  • l'expérience est répétée 8 fois avec notre système (sans repos), et 8 fois à la souris uniquement (de nouveau sans repos)
  • le mesure est: le temps pour acquérir un dé objet, se déplacer vers le dé cible et positionner le dé objet dans le dé cible

Nous n'avons pas mesuré l'erreur de positionnement, d'une part pour des raisons techniques, d'autre part parce que nous ne sommes pas intéressé par la précision. Notre système ne peut garantir une précision chirurgicale et n'a pas été pensé dans ce but.


Un dé objet hors de son dé cible, et mal orienté

Une vidéo du fonctionnement de l'expérience ainsi que de notre interaction est disponible ici Fichier:ExperimentHCI3D.mp4 (désolé, on n'a pas réussi à l'intégrer directement à la page).

Résultats

Nos résultats sont représentés sur les graphiques présenté dans les figures ci-dessous. Ils portent sur les temps d'execution (en seconde) de chaque tâche sur les deux expériences pour différents utilisateurs: 8 tâches et deux expériences soit 16 données par utilisateur. Nous avons pu tester notre dispositif avec 12 participants différents.

Le premier graphique montre les intervalles de confiance à 95% autour des moyennes du temps d'execution. Le second présente la répartition des résultats en boîtes à moustaches. Les résultats sont triées de bas en haut selon l'experience: d'abord les 8 valeurs de l'experience "état de l'art" à la souris, ensuite les 8 valeurs de l'expérience avec notre système, et dans l'ordre chronologique (le premier essai en bas).

Valeurs moyennes et intervalles de confiance pour chaque test. Notre interaction est désigné comme "system" , l'interaction à la souris est "souris". Le temps d’exécution en abscisse


Medianes (barre noire), quartile (bord des rectangles) et valeurs extrêmes pour chaque itération

Globalement, les sujets sont plus efficace avec notre interaction qu'avec la souris exclusivement. Les différences entre les intervalles de confiance laissent à penser que les performance de notre système sont significativement meilleures.

De plus, les intervalles de confiances et la distribution des temps sont moins étendus dans le cas de notre interaction, que dans le cas d'une utilisation de la souris. Cela peut nous conforter dans l'idée que notre interface bi-manuelle est plus intuitive et que la marge d'apprentissage est plus restreinte.

Nous avons également noté que les utilisateurs adeptes de jeux vidéos, ou déjà accoutumé aux logiciels d'edition 3D, sont les plus performants avec notre système.


D'autres remarques qualitatives

Nous avons noté chez nos utilisateurs certains comportements intéressant:

  • La plupart des utilisateurs ne bougent pas la tête pour regarder sur les côtés et apprécier la profondeur.
  • Les utilisateurs ne reposent pas leur bras droit lorsqu'ils se déplacent dans l'espace, mais tiennent la position du cube
  • La 3D stéréo est vraiment gênante, certains utilisateurs demandent de la retirer (maux de têtes). Moins gênante pendant la manipulation avec notre système. Le "ghosting effect" n'était pas négligeable.
  • Les utilisateurs habitués aux jeux vidéos ont une bonne prise en main du système. Ils le trouvent plaisant à utiliser.
  • Souvent les utilisateurs lâchent le Space Navigator pour effectuer les rotations sur le pointeur Optitrack avec leurs deux mains
  • Les utilisateurs n'éprouvaient pas de fatigue due à l'Optipointeur

Ces comportements nous montrent deux choses concernant l'usage prévu à la base: Premièrement les gens ont du mal à combiner toutes les modalités proposées. L'usage est plutôt séquentiel que parallèle et la redondance encourage l'utilisateur à se limiter au strict nécessaire (Space Navigator et Optipointeur seulement). D'autre part les utilisateurs détournent certains usages. Par exemple: prendre l'Optipointeur à deux mains pour la rotation.

Globalement les retours qualitatifs des utilisateurs sur l'usage du système étaient positifs. Les difficultés venaient de l'adaptation au Space Navigator et à l'occlusion des capteurs Optitrack. Hors ces remarques, les utilisateurs ont aimé utiliser notre système, ils le trouvent beaucoup plus intuitif que la souris.

Discussion des résultats

Ce projet a tout de même compris son lot de facteurs apportant un biais certain à nos résultats. Premièrement, notre implémentation des controles à la souris n'était pas aussi efficace ou intuitive que l'implémentation des logiciels 3D usuels. Par exemple, le manque de mode orbital pour la caméra, ou des widgets de rotation au comportement douteux. Ceci a pu résulter en des temps significativement plus élevés que réellement pour les tests à la souris. Cependant, certains sujets de test étaient habitués à des logiciels comme Blender, et nous ont assurés que bien que les contrôles ne semblent pas vraiment fini, ils restaient utilisable, et que notre interaction leur semblait plus agréable à utiliser et plus efficace tout de même. De plus, notre prototype contenait lui aussi des défauts pour des raisons de limitations techniques. Par exemple, le tracking optique de l'appareil en main droite nécéssite la vision constante des 3 trackers par au moins deux caméras. or les sujets ont eu tendance à saisir la boule à pleine main et a souvent cacher l'un des trackers dans le creux de leur paume. Ce défaut pourrait être supprimé en considérant plutôt un ensemble d'accéléromètre plutôt qu'un tracking optique.

Deuxièmement, l'ordre d'éxécution des taches au moment de l'expérience. Nous aurions du faire commencer la moitié de nos sujets par notre interaction et les faire finir par l'interaction classique à la souris. En l'état, tous les sujets commencent à tester notre interaction en ayant déjà une connaissance globale de la tache qu'ils auront à effectuer. Certains sujets ont aussi assistés aux tests de sujets avant que eux-même ne viennent tester, résultant de la même façon en une connaissance a priori des difficultés qu'ils pourraient rencontrer.

Conclusion

Nous pensons que nos résultats sont plutôt prometteurs d'un point de vue qualitatif. Cependant, il faudrait remmener une expérience plus ciblé vers des personnes déjà à l'aise à la souris, et avec une implémentation plus fidèle des contrôles qui leur sont familiers pour s'assurer d'une réelle plus-value quantitative. Ceci-dit, il reste aussi des améliorations techniques à apporter à notre prototype, comme s'assurer que l'optipointeur en main dominante soit toujours bien détecté (ce qui n'était pas le cas à cause de l'occlusion par la main de l'utilisateur), ou encore l'ajout de boutons pour la saisie et le lâcher d'objet.