Section: New Results
Keywords : Immersive Interactions, Collaborative Virtual Reality, Collaborative Interactions.
Interactions within 3D Virtual Universes
Our goal is to offer better interaction possibilities to end-users of 3D virtual environments. We first explore the different interaction possibilities in the fields of multi-users collaboration and multi-modal interactions, then try to provide generic tools to enable interactivity with virtual objects: to make virtual objects interactive ; to encapsulate physical virtual reality device drivers in an homogeneous way.
This work uses the OpenMASK environment to validate concepts, to create demonstrators, and to offer interaction solutions for all OpenMASK users.
Interaction distribution between several sites relies upon the distributed mechanisms offered by OpenMASK: referentials and mirrors.
Multi-users and multi-modal interactions use the data-flow communication paradigm supported by OpenMASK, allowing data transfer from outputs towards inputs, and facilitate the fusion of the inputs coming concurrently from several outputs. They also use the sending event communication paradigm of OpenMASK that allows to send events even to objects that are located on distant sites.
During this year, we worked upon:
- The finalization of our architecture for objects interactivity:
we provide adapters to make simulated objects interactive. These adapters are divided into several classes to realize three tasks:
the first task is to teach a simulated object the communication protocol useful to talk with an interactor.
the second task is to dynamically create new inputs in order to use the interaction data provided by an interaction tool.
the third task is to provide a way to connect an interactive object to an interaction tool, in order to be able to dynamically change the interaction behavior of an interactive object during a simulation.
It is possible to combine all these tasks in a modular way to obtain a great number of interaction possibilities.
This work is based on Design Patterns and software architectural models, to allow a good software reuse. These concepts and an associated implementation methodology have been presented this year as a tutorial for the IHM'2005 conference  .
- Migration of virtual objects during collaboration:
We studied the possibility to make the virtual objects migrate from one process to another during a collaborative simulation.
It can be useful when there are network problems, when we want to interact as efficiently as possible with an interactive object, or simply when we want to withdraw a process without losing the objects it handles.
Distant interactions between a local interactor and a distant interactive object (located on another process on another site) can seem strange to a user because there will be allways a small time lag between the evolution of the interactor and the evolution of the object in interaction with it. This divergence will increase with network latency, which can even lead to unusable interactions if the network latency is too high or not stable enough. So it can be useful to be able to make an interactive object migrate (maybe temporarily) to the same process than the interactor that is controlling it. It is also very useful to make some objects migrate to the process of an interactor, when we know that this interactor will have to interact with them and if we can predict that there will be some network problems during the time of these interactions. Of course, it does not solve network problems during simultaneous multi-user interactions with a shared object.
During a collaborative simulation, when we want to withdraw a process on a distant site, we need to be able to make some objects migrate if we want to allow the persistency of the virtual universe.
A first version of migration of virtual objects has been implemented within the OpenMASK kernel, but we are still working to improve it. All this work is detailed in  .
- Evaluation of a new interaction tool for collaborative interactions:
we have proposed a new interaction tool to facilitate 3D manipulations of 3D virtual objects, dedicated to immersive interactions.
The idea is to offer end-users a ``natural'' way to move and rotate collaboratively some virtual objects, allowing several users to grab various parts of an object, and managing their efforts to merge theirs actions to propose new positions and orientations for the interactive object, as illustrated in figure 14 .
First we designed and implemented a new software protocol for interaction, then made some experiments to evaluate the efficiency of our new mechanism, involving 48 users, comparing our mechanism to classical collaborative mechanisms. The task the users had to realize was to move in a collaborative way one interactive object within a labyrinth presented in figure 15 .
Somes snapshots of these experiments in figures 16 and 17 , show the physical environment used: the users are immersed in a Reality Center, they can talk together, each of them has its own viewpoint upon the universe and can not see the other user's viewpoint. As each viewpoint is designed to facilitate the manipulations in a different area of the labyrinth and to make it hard for another area, the two users must absolutely cooperate to manage the task successfully.
Figure 17. (a) Front view of the cooperation (a) Front view of two users (b) The devices used for interaction
The first results have shown that our cooperative paradigm works and is at least as efficient as the more classical collaborative paradigms, we now have to examine more precisely the data collected during the experiments in order to obtain a better validation of its efficiency.