• Aucun résultat trouvé

Nous allons présenter ici le cas où tous les degrés de liberté disponibles sont donnés à chaque interacteur suivant le classement déjà employé avec les techniques d’interaction égocentriques.

Main virtuelle. Une première méthode permettant à la fois d’effectuer des inter-actions collaboratives tout en conservant l’usage de la métaphore de la main virtuelle traditionnelle pourrait être d’afficher une main virtuelle dont le contrôle résulte des ac-tions des interacteurs. Elle agirait sur le centre d’inertie de l’objet virtuel manipulé. La littérature ne présente toutefois pas cette technique, probablement parce que l’affichage d’une seule main ne donne que le résultat des actions et n’indique pas les actions en cours : il manque des retours d’informations aux interacteurs. Les auteurs s’emploient à montrer les mains virtuelles agissant sur l’objet virtuel.

L’article [NM97] décrit une méthode où plusieurs utilisateurs peuvent interagir sur un même objet au travers de bras à retour d’efforts. Chaque utilisateur actionne son propre bras à retour d’efforts et bouge ainsi la main virtuelle qui correspond à un bras. Le mouvement de l’objet est alors le résultat de l’équilibre des forces appliquées par les utilisateurs. Pour éviter des à-coups brusques suite à des délais par exemple, un système de ressort20 est utilisé entre la main de l’utilisateur et le point d’application

20

La coopération 31

sur l’objet. La figure 1.15 montre l’application de ces mains sur un objet dont l’axe de rotation, au point C, est perpendiculaire au support et évolue avec les déplacements de l’objet virtuel. Cette technique entraîne des incohérences entre la position des mains virtuelles et celle des mains réelles mais, d’après ses auteurs, si l’écart des positions est faible, il ne devrait pas gêner les utilisateurs parce que le retour visuel influence plus l’utilisateur que le retour haptique.

Fig. 1.15 – Application d’une force sur un objet virtuel au travers de ressorts vir-tuels [NM97].

Il est cependant important de noter que l’utilisation d’une main virtuelle pour le coopératif demande l’utilisation d’un retour haptique ou le recours à une métaphore. En effet, si un deuxième interacteur agit sur un objet, la main virtuelle du premier utilisateur qui a été posée dessus devra se déplacer pour suivre l’objet. Or, autant le déplacement de la main peut être ressenti par un retour d’effort, autant un simple retour visuel pourrait être difficile à utiliser pour ressentir correctement les actions de l’autre interacteur et agir rapidement en conséquence. De plus, comment un utilisateur qui se serait absenté pourrait-il comprendre que sa main virtuelle a bougé pendant qu’il n’était pas là ? Est-ce que la main doit être déformée, le bras allongé, etc. ? Dans le cas de la construction d’un belvédère virtuel [GMMG08], la saisie de chaque poutre virtuelle peut se faire par une main virtuelle d’un interacteur, l’objet est donc, dans ce cas, manipulé par deux mains virtuelles. Pour indiquer un éloignement entre la poutre et la main virtuelle, parce que les positions ne seraient pas cohérentes, des lignes rouges apparaissent (cf. figure 1.16). Si l’éloignement est trop important, la poutre devient figée jusqu’à ce que les positions des mains redeviennent vraisemblables.

Il semble que les techniques de manipulations collaboratives s’appuyant sur des mains virtuelles se limitent à l’usage d’une seule main par personne. À l’exemple donné de la construction d’un belvédère en manipulant des poutres virtuelles [GMMG08] — l’idée d’une telle construction provient de Roberts et al. [RWOS03a] —, nous ajoutons la manipulation d’un pare-brise virtuel par Salzmann et al. [SJF09] qui est aussi limitée à une main par personne.

(a) (b)

Fig. 1.16 – (a) La co-manipulation d’une poutre pour construire un belvédère vir-tuel [GMMG08]. Il n’y a qu’une main par interacteur. (b) Illustration des lignes rouges apparaissant entre la poutre et deux mains virtuelles.

Curseur 3D. Du fait de son attachement à représenter la réalité, la main virtuelle présente des difficultés pour représenter les effets d’actions collaboratives. Ces pro-blèmes peuvent être en partie résolus par l’utilisation de pointeurs virtuels, au niveau d’abstraction plus élevé, comme les curseurs 3D que nous allons voir à présent.

D’une façon générale, un curseur 3D est un objet 3D déplaçable dans l’espace et qui permet de sélectionner des objets (par proximité, par contact, etc.). L’article [DLT06] présente le SkeweR où le déplacement d’objets virtuels s’effectue par les positions de curseurs 3D. Un utilisateur approche son curseur près d’un point de contrôle pour ma-nipuler l’objet. S’il n’y a qu’un utilisateur, seuls des mouvements de rotations autour du centre géométrique de l’objet peuvent lui être imprimés. À partir de deux utili-sateurs, l’objet se manipule tel une brochette sur laquelle les utilisateurs appliquent des translations ou des rotations. Cela a l’avantage de ne pas limiter la préhension d’un objet uniquement en son centre géométrique, mais elle rend inaccessible l’emploi d’un degré de liberté induit par le « SkeweR » lui-même : la rotation autour de l’axe formé par les deux extrémités. Cette limitation disparaît avec trois utilisateurs ayant des points de contrôle formant un plan. Au-delà des trois interactions, les mouvements d’un « SkeweR » deviennent sur-contraints et nécessitent un arbitrage.

Rayon virtuel. Les rayons classiques explicités précédemment ne permettent pas d’interactions simultanées sur des objets même s’il est facile d’imaginer plusieurs rayons reliés à un même objet. En effet, si un interacteur bouge son rayon, l’objet bouge également et, soit les autres rayons vont le suivre mais ils ne vont alors pas rester cohérents avec la position imprimée par leur utilisateur, sauf s’il est possible de bouger ces rayons avec un retour d’effort, soit les autres rayons ne vont pas pouvoir suivre l’objet car ils vont rester dans la position imprimée par leur utilisateur. En l’absence de retour d’efforts, on place généralement l’objet à une position qui est le barycentre des positions proposées par les rayons et il va donc falloir montrer sur chaque rayon les contraintes résultantes de l’interaction coopérative. Une façon de traiter ce problème

La coopération 33

est de courber les rayons en fonction des forces appliquées sur ceux-ci. L’article [DF02] propose trois types de rayons (cf. figure 1.17) :

– l’élastique qui, si un objet ne suit pas une trajectoire imposée par l’interacteur à cause d’une contrainte, force un élastique à s’étirer entre l’interacteur et l’objet ; – le rayon coudé qui se plie vers l’objet manipulé ;

– le rayon déformable qui se dédouble avec une partie qui reste raide (celle qui a permis la sélection) et une autre qui se plie pour conserver un contact avec l’objet dont les mouvements sont contraints par la coopération ; la courbure montre l’écart entre la position que l’objet devrait avoir et celle qu’il a réellement. Nous noterons que, parallèlement, [RHWF06] ont eux aussi proposé une métaphore basée sur des rayons coudés appelée Bent Pick Ray.

(a) (b) (c)

Fig. 1.17 – De (a) à (c), des rayons élastiques, des rayons coudés et des rayons défor-mables [DF02].

1.4.2.3 Bilan intermédiaire

Les techniques d’interaction coopératives peuvent diminuer les temps d’exécution de tâches et rendre des interactions plus naturelles parce que plusieurs utilisateurs peuvent interagir simultanément sur des parties communes d’objets. Mais ces tech-niques entraînent le problème du passage d’un utilisateur à plusieurs et vice versa qui doit se faire de la façon la plus transparente possible. Par ailleurs, il faut montrer en permanence à l’utilisateur que l’action résultante est le fruit de sa propre action com-binée à celles des autres utilisateurs. La différence entre l’action qu’il souhaite et celle réellement obtenue doit donc être montrée via des métaphores. Enfin, il est important de rappeler qu’une plate-forme logicielle doit limiter le plus possible les latences réseau pour permettre à des interacteurs de se coordonner.

1.4.3 La conscience de soi et des autres

Dans un environnement peuplé par plusieurs utilisateurs, il faut informer chacun des actions que les autres effectuent pour :

– qu’il puisse comprendre grâce à quel moyen des éléments de l’environnement virtuel ont évolué ;

Ces informations sont encore plus importantes lors d’actions coopératives puisque toute action d’un utilisateur est issue de l’observation de celles des autres.