Jacek Jankowski

Martin Hachet

A Survey of Interaction Techniques for Interactive 3D Environments

Keywords: Descriptors (according to ACM CCS): I, 3, 6 [Computer Graphics]: Methodology and Techniques-Interaction Techniques

Various interaction techniques have been developed for interactive 3D environments. This paper presents an upto-date and comprehensive review of the state of the art of non-immersive interaction techniques for Navigation, Selection & Manipulation, and System Control, including a basic introduction to the topic, the challenges, and an examination of a number of popular approaches. We hope that this survey can aid both researchers and developers of interactive 3D applications in having a clearer overview of the topic and in particular can be useful for practitioners and researchers that are new to the field of interactive 3D graphics.

Introduction

People spend all their lives in a 3D world and they develop skills for manipulating 3D objects, navigating around the 3D world, and interpreting 3D spatial relationships. However, they often find it difficult to interact in interactive 3D environments. Quite often, this is the result of a not properly designed user interface or due to inappropriate selection of interaction techniques. Therefore, in this paper we present a comprehensive review of the state of the art of mouse and touch based interaction techniques for interactive 3D environments. We hope that this survey can aid both researchers and developers of interactive 3D applications in having a clearer overview of the topic and in particular can be useful for practitioners and researchers that are new to the field of interactive 3D graphics.

We define interactive 3D environments as computer representations of real world or imaginary spaces through which users can navigate and in which they can interact with objects in real time. Unlike immersive virtual environments [START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF], which use specialized displays and interaction devices such as head-mounted displays to create a sense of presence for the users within the virtual world, interactive 3D environments are not limited to immersive context and exploit common, general-purpose hardware for interaction, i.e., mouse and keyboard as well as the multi-touch input.

Interaction in 3D

Navigation The interaction in an interactive 3D environment can be characterized in terms of three universal interaction tasks [Han97, [START_REF] Bowman | An introduction to 3-d user interface design[END_REF][START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF]: Navigation -refers to the motor task of moving user's viewpoint through an environment; includes a cognitive component -wayfinding; Selection and Manipulation -refers to techniques of choosing an object and specifying its position, orientation, and scale; System Control -refers to communication between user and system which is not part of the virtual environment. The problem of providing a user with an interface for exploring 3D environments is strongly related to all above listed problems.

The research devoted to the interaction techniques for 3D environments is broad, but it still lacks of a formal structural organization. In light of this consideration, the main contributions of this STAR can be summarized as follows:

• In this State-of-the-Art Report we cover the important past 16 years of work on interaction techniques for interactive 3D since the last STAR [Han97] on the subject.

• All major interaction techniques for Navigation, Selection & Manipulation, and System Control are thoroughly analysed, formally organised and reviewed in Sections 2-4.

• We use a task-centric classification of the techniques in this field, in order to help users, in particular practitioners and researchers that are new to the field of 3D interactive graphics, to choose the ones that best suit their needs.

• As implementation of an interaction technique is usually followed (or at least should be) by its evaluation, in Section 5 we describe methodologies that may help in the process of evaluating such techniques.

• As most of our STAR focuses on the specific tasks that occur in 3D applications, which are independent of the input device, in Section 6 we describe some VR and 3D UI research that can have an impact on interaction techniques for non-immersive 3D environments.

• Finally, based on our experience with developing interaction techniques for the Web-based 3D environments, we summarize what we consider to be the main 3D Web design guidelines in Section 7.

Related Work

A great deal of research interest has been devoted to the 3D computer graphics; however, most of this research effort has focused on the technical and application aspects. Our concern, however, is with how users interact with 3D environments and there are only few works related to classification approaches in the field of 3D interaction techniques. Chris Hand's survey (published in EG Computer Graphics Forum) was published 16 years ago [Han97] and is significantly outdated; it also mixes immersive and non-immersive techniques. A comprehensive overview of interaction techniques, but focused on immersive virtual environments is given by Bowman et al. [START_REF] Bowman | An introduction to 3-d user interface design[END_REF][START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF]. Christie et al. [START_REF] Christie | Camera control in computer graphics[END_REF] quite recently presented the an overview of camera control in computer graphics, focusing mainly on semi and fully automatic camera systems. Their analysis draws on insights from cinematic and photographic practice. In contrast, our work will be guided by the interaction tasks. Moreover, we provide a review of all three universal 3D interaction tasks. Finally, in [START_REF] Jankowski | A taskonomy of 3d web use[END_REF] we aimed to clarify some of the foundations of 3D Web user interface design. We focused on an understanding of the fundamental tasks users may engage in while exploring Web-based 3D virtual environments and included a review of mouse-based 3D interaction techniques useful in the context of 3D Web. This review formed the foundation for this State-of-the-Art Report.

Navigation

Interactive 3D environments usually represent more space than can be viewed from a single point. Users have to be able to get around within the environment in order to obtain different views of the scene. This process of getting around a virtual environment while keeping track of one's whereabouts and task objectives is the subject of a number of techniques often referred to by such names as wayfinding, locomotion, navigation, and camera/viewpoint control.

Developing an effective technique for navigation for interactive 3D environments is difficult. First of all, viewpoint control involves six degrees of freedom (6DOF): three dimensions for positional placement (translation) and three for angular placement (rotation). The problem is the number of parameters to be controlled by the user -the major limitation inherent in using 2D devices is that at least one change of state is required to cover all transitions and rotations. Another problem is the type of viewpoint control required by a given task that can be as different as simply exploring large scale 3D environment to high-precision inspection of some 3D object. In addition to the difficulties of controlling the viewpoint, there is a problem of wayfinding, especially in large virtual worlds. It is related to how people build up an understanding (mental model) of a virtual environment and it is significantly affected by technological constraints among which are small Field of View and the lack of vestibular information. At last, effective techniques for 3D navigation should satisfy general interface requirements (e.g., is easy to use, prevents user disorientation, etc.) Mackinlay et al. [START_REF] Mackinlay | Rapid controlled movement through a virtual 3d workspace[END_REF] distinguish four types of viewpoint movement for interactive 3D workspaces (we provide corresponding Bowman In recent years many types of viewpoint movement techniques for interactive 3D environments have been implemented or proposed. In the following we will classify them into four categories proposed by Mackinlay et al. [START_REF] Mackinlay | Rapid controlled movement through a virtual 3d workspace[END_REF].

General Movement (Exploration)

As we already mentioned, in an exploratory movement (such as walking through a simulation of an architectural design), the user does not have any specific goal. Its purpose is to rather gain knowledge of the environment. We classify it into the following groups:

2.1.1. Rotate-Pan-Zoom

Rotating, panning, and zooming are the primary camera movements used in almost every 3D modelling environments (from Jack [START_REF] Phillips | Jack: A toolkit for manipulating articulated figures[END_REF] to Autodesk's 3ds Max, Maya, or Blender). They are standard ways to inspect objects, and work well with a pointing device such as a mouse since all of them are at most 2-dimensional operations.

• Rotate (also referred to as Tumble or Sweep) -refers to orbiting the camera around a central point in any direction -the sweep operation sweeps the camera around horizontally and vertically on a virtual spherical track, keeping it focused at the same reference point (see Figure 2 (a)).

• Pan -in the context of 3D interaction, Pan refers to translation of the camera along x and y axes (see Figure 2 (b));

• Zoom (also referred to as Dolly) -refers to translation of the camera along its line of sight (see Figure 2 (c)).

For example, to navigate in the viewport in Blender, the user needs to drag the mouse while holding the Middle Mouse Button (MMB) pressed to rotate, additionally pressing the Shift button on the keyboard to pan (Shift MMB), and holding the Ctrl button to zoom (Ctrl MMB). It is worth to mention that some applications (including e.g., VRML/X3D viewers) additionally implement Look Around technique that changes the orientation of the camera but keeps it at a fixed position.

Current 3D rotation interaction techniques are generally based on the Chen et al.'s work on Virtual Sphere [CMS88] and Shoemake's ArcBall [START_REF] Shoemake | Arcball: a user interface for specifying three-dimensional orientation using a mouse[END_REF], the techniques designed for 3D navigation around 3D objects. Both techniques are based on a concept of a virtual ball that contains the object to manipulate. They utilize the projection of the mouse location onto a sphere to calculate rotation axis and angle. Comparison of mouse-based interaction techniques for 3D rotation can be found in [HTP * 97, BRP05].

Rotate-Pan-Zoom technique requires the user to accomplish a movement by shifting back and forth among simple navigation modes (assigning the mouse to "Rotate", "Pan", or "Zoom" operations) [START_REF] Phillips | Jack: A toolkit for manipulating articulated figures[END_REF]. Such interaction model can be not optimal if the menu has to be used frequently. To solve this problem, Zeleznik and Forsberg [START_REF] Zeleznik R | Unicam-2d gestural camera controls for 3d environments[END_REF] proposed gestural interaction for invoking camera functionality. Their approach, called UniCam, requires only a single-button mouse to directly invoke specific camera operations within a single 3D view; remaining mouse buttons can be used for other application functionality.

Zeleznik et al.

[ZFS97] explored a range of interaction techniques that use two hands to control two independent cursors to perform operations in 3D desktop applications. The authors presented both how to navigate (Rotate-Pan-Zoom and flying techniques) and manipulate (Rotate-Scale-Translate) 3D objects using two pointer input. Balakrishnan and Kurtenbach [BK99] also investigated bimanual camera control; they explored the use of the non-dominant hand to control a virtual camera while the dominant hand performs other tasks in a virtual 3D scene.

Screen-Space Methods

Gleicher and Witkin [START_REF] Gleicher | Through-the-lens camera control[END_REF] describe a body of techniques for controlling the movement of a camera based on the screen-space projection of an object, where the user indicates the desired position of the object on the screen. In the other words, the presented through-the-lens techniques permit the user to control the virtual camera by directly manipulating the image as seen through the lens.

Inspired by Gleicher and Witkin's work [START_REF] Gleicher | Through-the-lens camera control[END_REF] and 3D navigation with multiple inputs [ZFS97, BK99], Reisman et al. [START_REF] Reisman | A screen-space formulation for 2d and 3d direct manipulation[END_REF] describe a screen-space method for multitouch 3D interaction. Just like 2D multi-touch interfaces allow users to directly manipulate 2D contexts with two or more points, their method allow the user to directly manipulate 3D objects with three or more points (see Figure 3). The idea is that each contact point defines a constraint which ensures the screen-space projection of the object-space point "touched" always remains underneath the user's fingertip. Walther-Franks et al. [START_REF] Herrlich | A multi-touch system for 3d modelling and animation[END_REF] addressed the same problem and designed and implemented multi-finger mappings c The Eurographics Association 200x. for unimanual manipulation of view, objects, and time; they also showed how the technique can be extended for efficient bimanual control [ZFS97, BK99].

Singh et al. [START_REF] Singh | The ibar: a perspective-based camera widget[END_REF] proposed a screen-space camera widgets called IBar for navigation and inspection tasks. It was designed to provide an interface for controlling scene perspective based on the artistic concept of vanishing points. Compared to Rotate-Pan-Zoom, most of the participants of the authors' evaluation found the IBar more intuitive.

Walking/Driving/Flying

The other way of allowing users to navigate in a 3D environment is simply to let them walk along the ground, drive a vehicle or fly a plane [START_REF] Bowman | Travel in immersive virtual environments: An evaluation of viewpoint motion control techniques[END_REF][START_REF] Ware | Exploration and virtual camera control in virtual three dimensional environments[END_REF]. This technique requires the user to continuously modify the camera position using e.g., arrow keys or controls (button widgets) superimposed on the screen and controlled by the mouse.

In the video game world this technique corresponds to first person perspective (FPP) game navigation, where a graphical perspective is rendered from the viewpoint of the player character (this may be also the viewpoint from the cockpit of a vehicle). Many different genres have made use of FPP navigation, ranging from adventure games to flight simulators. Perhaps the most notable genre to make use of this technique is the first-person shooter (FPS). Wolfenstein 3D and Doom are video games that are generally regarded as having popularized this genre and helped to shape the overall direction of the gaming industry.

Lecuyer et al. [START_REF] Lecuyer | Camera motions the sensation of walking in virtual environments[END_REF] studied walking metaphor and suggested that oscillating camera motion together with compensation motion which changes the orientation of the camera and simulate oculomotor compensation to keep a constant focal point can improve the sensation of walking in VEs. Furthermore, Terziman et al. [START_REF] Terziman | Can camera motions improve the perception of traveled distance in virtual environments?[END_REF] results suggest that oscillating camera motions allow a more accurate distance perception for short traveled distances in VEs.

As the multi-touch technology is becoming more and more available, some research has been made on how to use this new input device also for the "Walking" metaphor. Kim et al. [START_REF] Gra Čanin D | Finger walking in place (fwip): A traveling technique in virtual environments[END_REF] introduce a Finger Walking in Place (FWIP), a scaled-down walking-in-place [SUS95, TDS99] locomotion technique, that allows a user to travel in a virtual world as her/his bare fingers (representing human legs) slide on a multi-touch sensitive surface. The user can move forward and backward, and rotate in a virtual world. While the authors apply the technique to immersive settings, we believe that it is also applicable to non-immersive applications.

Targeted Movement (Search)

A targeted movement is a movement with respect to a specific target (such as moving in to examine a detail of an engineering model). Its purpose is to gain knowledge of specified by the user part of the environment. We classify it into the following subcategories:

2.2.1. Point of Interest Movement (Go-To/Fly-To)

Mackinlay et al. [MCR90] describe Point of Interest (POI)

Logarithmic Flight, a technique that supports rapid controlled movement through a virtual 3D workspace. POI movement requires the user to simply choose a target "point of interest" (POI) on an object in the scene by using the mouse, and the virtual camera moves logarithmically towards this target (the camera jumps to the goal position that the user had specified). The viewpoint is automatically oriented during the flight to face the surface being approached by using the surface normal at the POI. Due of the logarithmic nature of this navigation technique, rapid motion is achieved when the distance to the target object is large and controlled movement is achieved as this distance gets shorter. Already mentioned UniCam [ZFS97] implemented also a technique called click-to-focus that aimed at automatically choosing the endpoint of the camera trajectory according to the proximity of the edges of some object.

In the Depth Modulated Flying (DMF) interface, Ware and Fleet [START_REF] Ware | Context sensitive flying interface[END_REF] combine a flying interface with the idea of making velocity proportional to distance. Their idea is to sample the Z buffer in order to obtain information about the depth distribution in the environment and modulate flying speed accordingly so that it is always comfortable when operating over a range of scales. Their experiment shows that scaling the velocity control by the near point in the scene and by the average point in the scene are equally effective.

Tan et al. [TRC01] describe Speed-coupled Flying with

Orbiting -technique that allows users to not only transition between local environment-views and global overviews of the world, but to also orbit around an object of interest in order to examine it. To separate the intention to freely navigate from that of constrained object inspection the technique determines where the user first starts dragging the mouse.

Figure 4: Navidget can be used on various systems, from small hand-held devices to large interactive displays [START_REF] Hachet | Navidget for easy 3d camera positioning from 2d inputs[END_REF].

If the user drags on free space (i.e. the sky or the ground), the system assumes that the user is trying to freely navigate. If, however, the user starts dragging the mouse on an object, the system assumes that the user is trying to examine it (changing the cursor indicates changes of modes). The technique couples speed control to height (position) and tilt (viewpoint) control to give the user the ability to transition seamlessly between and navigate within local as well as global views of the world. The authors suggest that this allows the user to acquire landmark, procedural, and survey knowledge and to effectively perform exploration and search tasks. They also showed that that this technique was generally superior in performance and preferred by users in comparison to several other techniques.

We have also proposed the extension to the aforementioned work. Firstly, we proposed the z-goto technique for mobile devices, where the endpoint is directly selected in depth by means of simple keystrokes [HDG06]. Secondly, partially influenced by UniCam's region zooming [ZFS97], we developed a 3D widget called Navidget [START_REF] Hachet | Navidget for easy 3d camera positioning from 2d inputs[END_REF][START_REF] Hachet | Navidget for 3d interaction: Camera positioning and further uses[END_REF], where the endpoint of a trajectory is selected for smooth camera motions. Compared to the existing POI movement techniques, it does not automatically estimate how the viewpoint is oriented. Instead, it provides visual feedback for fast and easy interactive camera positioning: a 3D widget coupled with a preview window is used in order to let the user control the viewing direction at destination. As our technique is based on 2D inputs, it is appropriate for a wide variety of visualization systems, from small hand-held devices to large interactive displays (see Figure 4). A user study shows that the usability of Navidget is more than satisfactory for both expert and novice users.

Path Drawing

Igarashi et al. [START_REF] Igarashi | Path drawing for 3d walkthrough[END_REF] propose a Path Drawing technique for walkthrough in 3D environments, which is an extension of the POI technique. The technique uses user-drawn strokes to control the virtual camera. A stroke is projected onto the walking surface and used as a path for the camera. The path can be updated at any time by drawing a new stroke. The evaluation showed that the technique was slightly slower on average than walking/driving and POI techniques. However, the drawing technique was preferred by most users. The authors also point out that the technique is most suitable for pen-based or touch panel systems. Hagedorn and Döllner [HD08] present another navigation method based on sketching navigation commands (see Figure 5). Their system interprets the sketches according to their geometry, spatial context, and temporal context. The authors state that unlike other sketchy navigation techniques, their approach identifies the hit objects of the underlying 3D scene and takes advantage of their semantics and inherent navigation affordances.

Hyperlinks and Bookmarked Views

Hyperlinks in VEs allow fast (or even instantaneous) direct movement between places that are far apart and therefore can greatly reduce navigation time and allow for the design of flexible layouts compared to conventional techniques. These are the same advantages that hypertext has over conventional texts. Accordingly, the disadvantage of such hyperlinks is that they are likely to cause some cognitive difficulties such as disorientation. Some effects of hyperlinks on navigation in virtual environments were studied by Ruddle c The Eurographics Association 200x. et al. [START_REF] Ruddle R | The effects of hyperlinks on navigation in virtual environments[END_REF]. In order to study linking behavior in a current 3D environment, Eno et al. [START_REF] Eno | Linking behavior in a virtual world environment[END_REF] examined explicit landmark links as well as implicit avatar pick links in Second Life. The authors found that although the virtual world link graph is more sparse than the flat Web, the underlying structure is quite similar. Moreover, they point out that linking is valued by users, and making linking easier would likely result in a richer user experience.

We have also studied the use of hyperlinks for navigation. In our Dual-Mode User Interface [START_REF] Jankowski | A dual-mode user interface for accessing 3d content on the world wide web[END_REF] designed for accessing integrated information spaces, where hypertext and 3D graphics data are simultaneously available and linked, embedded in text hyperlinks may constitute not only a mechanism for navigation between hypertext documents, but also for navigation within 3D scenes. Some 3D viewing applications (e.g., VRML/X3D browsers) provide a viewpoint menu offering a choice of viewpoints, usually denoted by a brief textual description that helps make clear the intended purpose of each view. Authors of 3D scenes can place several viewpoints (typically for each point of interest) in order to allow easy navigation for users, who can then easily navigate from viewpoint to viewpoint just by selecting a menu item. The process is analogous to the creation of a set of custom hyperlinks to specific HTML document positions.

The viewpoint menu plays an important role in 3D interaction; it turned out to be an important navigation tool in our recent study on accessing 3D content on the Web [START_REF] Jankowski | A dual-mode user interface for accessing 3d content on the world wide web[END_REF]. Such viewpoints are usually static -a viewpoint is simply a specific camera position and orientation defined by a pair of x, y, z coordinates, that is, a specific view of a 3D scene. While very useful, we believe that static viewpoints often do not show "3D-ness" of virtual objects -as Andy van Dam mentioned: "if it ain't moving, it ain't 3D". Therefore, inspired by [START_REF] Todd | The visual perception of 3d shape[END_REF]BKFK06], we performed an evaluation of static vs. animated views in 3D Web user interfaces [START_REF] Jankowski | Evaluation of static vs. animated views in 3d web user interfaces[END_REF]. We found out that all users clearly preferred navigating in 3D using a menu with animated viewpoints than with static ones (there was not even a single user that disabled animated views during the study).

An interesting way to assist users in navigation was developed by Elvins et al. [START_REF] Elvins | Worldlets-3d thumbnails for wayfinding in virtual environments[END_REF][START_REF] Elvins | Worldlets: 3d thumbnails for 3d browsing[END_REF]. They introduced a new technique that captures a 3D representation of a virtual environment landmark into a 3D thumbnail, which they call a worldlet. The worldlets are miniature virtual world subparts that may be interactively viewed (one could manipulate them to obtain a variety of views) to enable users getting familiar with a travel destination. In the evaluation conducted by the authors to compare textual, image, and worldlet landmark representations within a wayfinding task, subjects who had been shown the worldlets performed significantly better than subjects who had been given pictures of landmarks or verbal instructions.

Navigation by query

Van Ballegooij and Eliens [START_REF] Van Ballegooij | Navigation by query in virtual worlds[END_REF] propose navigation by query, an interesting navigation technique based on Information Retrieval. This technique augments interface of virtual environment by allowing users to navigate a virtual world by means of querying its content. The authors' experiments indicate that this type of navigation may help users to find locations and objects that would otherwise be hard to find without prior knowledge of the world. However, the authors make an assumption that the world is sufficiently annotated. Using the same assumption, McNeill et al. [MSWM] report on work on exploiting speech input and natural language processing (NLP) technology to support both general and targeted navigation in virtual environments. According to the authors, spoken dialogue interaction is an effective alternative to mouse and keyboard interaction for many tasks and conclude that multi-modal interaction, combining technologies such as NLP with mouse and keyboard may offer the most effective interaction with Virtual Environments.

Specified Coordinate Movement

Specified coordinate movement is a movement to a precise position and orientation, such as to a specific viewing position relative to a car model -the user has to supply the exact position and orientation of his destination. This type of camera positioning is used in CAD and 3D editing software. The users can simply enter a pair of x, y, z coordinates (for position and orientation) using a keyboard. It is important to stress that this technique can be used efficiently only by the designers who are familiar with the 3D model/environment being under development.

Specified Trajectory Movement

Specified trajectory movement is a movement along a position and orientation trajectory, such as a cinematographic camera movement. Compared to previous techniques, where the users are free to roam and explore, the techniques of this category empower the author to bring structure to the experience. Such viewpoint control limits the user's freedom while travelling through a virtual world. It constrains the audience's movement to (among other things):

• present relevant, interesting and compelling locations or objects;

• provide the best overview of the scene;

• create paths that are easy to learn and avoid the disorientation of the user;

• avoids the problem of users getting "lost-in-cyberspace". paths as the rivers flowing through a landscape, and the user as a metaphorical boat floating down the river with some control while also being pushed and pulled by the predefined current of the water. Since the boat flows continuously down the river regardless of whether or not there is input, the river metaphor guarantees an uninterrupted flow. Elmqvist et al. [START_REF] Elmqvist | Evaluating motion constraints for 3d wayfinding in immersive and desktop virtual environments[END_REF] have presented a similar method that uses motion constraints to guide the user on a pre-defined tour through the environment while still allowing users to control their speed as well as to deviate locally from the tour. The authors also include an empirical evaluation of the effectiveness of such a guidance method for real user tasks.

Hanson and Wernert [START_REF] Hanson | Constrained 3d navigation with 2d controllers[END_REF] propose a navigation technique that, rather than controlling an unconstrained vehicle in 3D space, uses the 2D control device to move the user on a constrained subspace, the "guide manifold", a kind of virtual 2D sidewalk. "Virtual sidewalks" can be authored by constructing virtual constraint surfaces and specifying gaze direction, vistas, and procedural events (e.g., fog and spotlights) along the sidewalk. Burtnyk et al. [BKF * 02] describe StyleCam, a system that builds upon the aforementioned navigation ideas, but differs by providing authoring elements that enable a more stylized experience. It is an approach for authoring 3D viewing experiences that seamlessly integrates spatial camera control with the temporal control of animation playback. StyleCam allows the author to significantly tailor what and when the users see. Its aim is to create a viewing experience that can approach the visual richness of sophisticated visual content such as television commercials or feature films and at the same time, allow for a satisfying level of interactivity. StyleCam uses camera surfaces which spatially constrain the viewing camera, animation clips that allow for visually appealing transitions between different camera surfaces, and a simple interaction technique that permits the user to seamlessly and continuously move between spatial-control of the camera and temporal-control of the animated transitions (see Figure 6). Burtnyk et al. also describe ShowMotion [BKFK06], an interactive system for 3D design review of CAD models. Their system replaces traditional "bookmarked" static views with moving "shots" interspersed with cinematic visual transitions. As we have already mentioned in Section 2.2.3, we performed an evaluation of static vs. animated views in 3D Web user interfaces [START_REF] Jankowski | Evaluation of static vs. animated views in 3d web user interfaces[END_REF].

During inspection of an object, the navigation above its surface can become complex. Khan et al. [KKS * 05] describe HoverCam, a technique for navigating around 3D objects at close proximity. It allows users to move around the object while maintaining a fixed distance from the surface and while keeping the object centred in the field of view. Hov-erCam integrates tumbling, panning, and zooming camera controls so the users can focus on the task at hand instead of continuously managing the camera position and orientation.

McCrae et al.'s cubemap [MMGK09] extends the work on

HoverCam with the support for multiscale navigation. The authors present an additional interaction technique for navigation "look-and-fly". They also claim that their approach to the navigation of multiscale 3D environments offers greater flexibility and ease of use than mainstream applications such as Google Earth and Microsoft Virtual Earth.

Cinematographic Techniques for Camera Control

Many problems with camera control have been faced by cinematographers for over a century and over the years filmmakers have developed a good understanding of how to communicate comprehensibly and effectively. Therefore, some researchers exploited established cinematographic techniques for virtual camera control. For example, Christianson et al. [CAH * 96] describe several of the useful principles of cinematography and show how they can be formalized into a declarative language, called the Declarative Camera Control Language (dccl), for specifying camera shots in terms of the desired positions and movements of actors across the screen. During their work on the virtual cinematographer, He et al. [START_REF] Cohen | The virtual cinematographer: a paradigm for automatic real-time camera control and directing[END_REF] introduce the concept of the idiom, a sub-unit of cinematographic expertise, as a means of capturing the essence of a scene; the authors focus on filming dialogues between multiple animated characters. Tomlinson et al. [START_REF] Tomlinson | Expressive autonomous cinematography for interactive virtual environments[END_REF] created another automatic cinematography system for interactive virtual environments. Their system controls a virtual camera and lights in a 3D virtual world inhabited by both autonomous and usercontrolled characters. When deciding where to put the camera, similarly to cinematographers, the authors consider the movements, relationships and emotions of the characters; the arrangement of the set; the ambient light and opportunities for adding or subtracting light. Li and Cheng [LC08] de- For more information about cinematographic techniques for camera control, please refer to the Christie et al.'s survey [START_REF] Christie | Camera control in computer graphics[END_REF] that focuses mainly on semi and fully automatic camera systems and that draws on insights from cinematic and photographic practice.

Automatic Viewpoint/Path/Motion Planning

Automatic viewpoint selection and path as well as motion planning methods can be useful as a way to augment CAD interaction, automatically create visits of virtual environments representing e.g. historical monuments or create engaging presentations of architectural visualization. They can also be useful in the context of interactive systems to create a first constrained path to help the user navigate a 3D environment.

To our knowledge, Phillips et al. [PBG92] were first to describe a semi-automatic navigation technique; it was designed for augmenting the process of 3D manipulation by automatically finding an effective placement for the virtual camera. Their human figure modelling system called Jack provided automatic features for maintaining smooth visual transitions and avoiding viewing obstructions (based on the hemicube approach).

Building upon the CINEMA testbed system [DGZ92] that provides users with the ability to experiment with various camera movement paradigms, Drucker and Zeltzer focused on an intelligent camera control in a 3D virtual environment [START_REF] Drucker | Intelligent camera control in a virtual environment[END_REF]. They present a methodology for designing the underlying camera controls based on an analysis of what tasks are to be required in a specific environment. They presented the first approach for automatic navigation in 3D environment using path planning: the plan is computed using a well known graph searching technique called A*. In their further work, Drucker et al. introduced a method of encapsulating camera tasks into well defined units called "camera modules" [START_REF] Drucker | Camdroid: a system for implementing intelligent camera control[END_REF]. The authors argue that through this encapsulation along with constrained optimization techniques, can aid a user in a wide range of interaction with 3D graphical environments and greatly ease the development of 3D interfaces.

Li et al. [START_REF] Chiu S.-Y | Automatically generating virtual guided tours[END_REF] present a technique that allows a user to specify locations of interests on a 2D-layout map and let the system automatically generate the animation of guided tours in virtual architectural environments; the technique is based on several path planning algorithms adapted from robotics [START_REF]Robot Motion Planning[END_REF]. Marchand and Courty [START_REF] Marchand | Controlling a camera in a virtual environment[END_REF] chose to use techniques widely considered in the robotic vision community. The basic tool that they considered is visual servoing [START_REF] Hutchinson | A tutorial on visual servo control[END_REF], which consists of positioning a camera according to the information perceived in the image.

Bares et al. [BGL98, BL99

, BTM00] studied constraintbased approach to camera planning in virtual environments that is built upon the assumption that camera shots are composed to communicate a specified visual message expressed in the form of constraints on how subjects appear in the frame. The authors present a prototype, where one can specify constraints in a text script which can then be processed by the constraint solver that attempts to find a solution camera shot. Halper et al. [START_REF] Halper | A camera engine for computer games: Managing the trade-off between constraint satisfaction and frame coherence[END_REF] emphasize guiding camera control by constraints. However, the authors stress that we should also pay particular attention to a trade-off between constraint satisfaction and frame coherence and present an algorithm for dynamic consideration of the visibility of objects that works for arbitrary dynamic scenes and spatial complexities of environments. Some authors focused on automatic camera control techniques based on information theory. The most notably, Vázquez et al. [START_REF] Vázquez P.-P | Viewpoint selection using viewpoint entropy[END_REF] proposed viewpoint entropy to expresses the amount of information in a selected view. The authors define their metric as the ratio of the projected area of each surface to the total area of all the surfaces projected to the view sphere. Turkay at al. extend this work to crowded scenes [START_REF] Turkay | An information theoretic approach to camera control for crowded scenes[END_REF]. [START_REF] Nieuwenhuisen | Motion Planning for Camera Movements in Virtual Environments[END_REF] present similar approaches for interactive navigation in complex 3D environments. Their techniques are based on an algorithm that precomputes a global roadmap of the environment by using a variant of a randomized motion planning algorithm along with a reachability-based analysis. At runtime, the algorithm can automatically compute a collision-free and constrained path between two user specified locations. Oskam et al. [START_REF] Oskam | Visibility transition planning for dynamic camera control[END_REF] extend the idea and present an approach for computing visibility-aware paths. Andujar et al. [START_REF] Andujar | Way-finder: Guided tours through complex walkthrough models[END_REF] present Way-finder, another automatic system for generation of walkthroughs in 3D environments that can be segmented using a cell-and-portal approach. The approach splits the environment into cells (e.g., rooms), and portals (e.g., doors or windows) that connect the cells. The decomposition of the scene together with an entropy-based measure of the relevance of a view-point can be used to determine a path which traverses all the relevant cells (see Figure 8 to learn more about this approach). The tour generation algorithm presented by Elmqvist et al.

Salomon et al. [SGLM03] and Nieuwenhuisen and Overmars

[ETT07], like the Way-finder system's algorithm, is based on a voxelized version of the 3D world. However, Elmqvist et al. employ an algorithm that builds disjoint visibility subsets and performs Traveling Salesman Problem (TSP) computations on the resulting connectivity graph. Sokolov and Plemenos [START_REF] Sokolov | Virtual world explorations by using topological and semantic knowledge[END_REF] propose a semi-automatic method for virtual world explorations that use both topological (based on scene geometry) and semantic knowledge (formalized by the scene's author) about the scene.

Xiao and Hubbold [START_REF] Hubbold R | Navigation guided by artificial force fields[END_REF] describes the approach which uses artificial force fields that act upon the user's virtual body such that he is guided around obstacles, rather than penetrating or colliding with them. The authors use a linear force field, in which the repulsive force is inversely proportional to the shortest distance between the user's virtual body and the object in question.

Assisted Navigation

Assisted navigation also referred to as guided tours technique, is based on guided navigation, and was developed to support (especially novice) users in navigating the virtual world, finding points of interests, and learning how to inter-act with them by exploiting an animated character that leads the user on a guided tour of the virtual environment. [START_REF] Wernert | A framework for assisted exploration with collaboration[END_REF] propose a design that incorporates a personal "guide" that serves two important functions: keeping the user oriented in the navigation space, and pointing to interesting objects/places as they are approached. The design has some interesting features:

Wernert and Hanson

• If the user is active, these cues may be ignored. However, if the user stops, the gaze shifts automatically toward whatever the guide was interested in;

• This design allows any given viewer to be seen as the guide of one or more viewers following behind;

• The leading virtual guide (the authors selected a guide dog for this avatar) can remind the leading live human guide of interesting sites to point out.

For the 3D Web context, Chittaro et al. [START_REF] Chittaro | Guiding visitors of web3d worlds through automatically generated tours[END_REF] propose the adoption of a humanoid animated character to lead the user on a guided tour of the world. The authors suggest that introduction of an animated character has the additional advantage of making the virtual world more lively and attractive for the user. Currently, guided tours are very often used in games (e.g., Star Wars: Knights of the Old Republic) to help players learn the game's user interface.

Adaptive Navigation

Adaptive hypermedia systems build a model of the goals, preferences and knowledge of each individual user, and use this model throughout the interaction with the user, in order to adapt to the needs of that user [START_REF] Brusilovsky | Adaptive hypermedia. User Modeling and User-Adapted Interaction[END_REF]. Such design approach is widely used on the Web, where users are recognized through their login/password or cookies, and receive customized versions of web sites. Similarly, some works propose adaptive architectures for generating dynamically personalized 3D worlds [START_REF] Chittaro | Dynamic generation of personalized vrml content: a general approach and its application to 3d e-commerce[END_REF][START_REF] Walczak | Building database applications of virtual reality with x-vrml[END_REF]. Several works have also focused on adaptive navigation support for virtual environments. Russo Dos Santos et al. [RDSGA * 00] believe that navigation can be improved by adapting the navigation schemes to the virtual world and to the user's tasks. This belief led the authors to the concept of metaphor-aware navigation, the navigation that is tightly bound to the used visual metaphor and where the way the user moves in the virtual world is determined by the metaphor that the same world is based upon. Russo Dos Santos et al. note that navigation may also take different modes in the same world, depending on the hierarchical level of the metaphor in which the user is moving; e.g., flying at district level and walking at street level in a metaphoric city. Hughes et al. [START_REF] Hughes | Adaptive navigation support in 3d ecommerce activities[END_REF] proposed to develop navigation techniques based on established methods from adaptive hypermedia: direct guidance (a strict linear order through the navigation space), hiding (restricting the number of navigation options to a limited subset), sorting (altering the order in which navigation decision are presented to the user), annotation (displaying additional information on navigation options). Celentano et al. [START_REF] Celentano | Adaptive interaction in web3d virtual worlds[END_REF] have also focused on interaction adaptivity; their agent based approach is used for monitoring the user activity and for proactively adapting interaction. Much broader discussion of the concepts, issues and techniques of adaptive 3D Web sites is presented in [CR07].

Wayfinding

In addition to the difficulties of controlling the viewpoint, there is a problem of wayfinding, especially in large virtual worlds. It is related to how people build up an understanding (mental model) of a virtual environment. This problem, also known as a problem of users getting "lost-in-space", may manifest itself in a number of ways [START_REF] Darken | Wayfinding strategies and behaviors in large virtual worlds[END_REF]:

• Users may wander without direction when attempting to find a place for the first time.

• They may then have difficulty relocating recently visited places.

• They are often unable to grasp the overall topological structure of the space.

Efficient wayfinding is based on the navigator's ability to conceptualize the space. This type of knowledge, as defined by Thorndyke [START_REF] Thorndyke | Differences in spatial knowledge acquired from maps and navigation[END_REF], who studied the differences in spatial knowledge acquired from maps and exploration, is based on: survey knowledge (knowledge about object locations, inter-object distances, and spatial relations) and procedural knowledge (the sequence of actions required to follow a particular route). Based on the role of spatial knowledge in wayfinding tasks, designers have concerned themselves with developing design methodologies that aid navigation. Maps proved to be an invaluable tool for acquiring and maintaining orientation and position in a real environment. According to some studies [DS96,RM99,RPJ99], this is also the case in a virtual environment. Mini-maps are now very popular interface components in computer games. These miniature maps, typically placed in a corner of a user interface, display terrain, important locations and objects and dynamically update the current position of the user with respect to the surrounding environment. Chittaro and Venkataraman [START_REF] Chittaro | Navigation aids for multi-floor virtual buildings: a comparative evaluation of two approaches[END_REF] proposed and evaluated 2D and 3D maps as navigation aids for multi-floor virtual buildings and found that while the 2D navigation aid outperformed the 3D one for the search task, there were no significant differences between the two aids for the direction estimation task. The study of three wayfinding aids (a view-in-view map, animation guide, and human system collaboration) [START_REF] Wu | Evaluation of wayfinding aids interface in virtual environment[END_REF] show that although these three aids all can effectively help participants find targets quicker and easier, their usefulness is different, with the view-in-view map being the best and human system collaboration the worst.

Darken and Sibert [START_REF] Darken | Wayfinding strategies and behaviors in large virtual worlds[END_REF] present a toolset of techniques based on principles of navigation derived from real-world analogs. Their evaluation shows that subjects' wayfinding strategies and behaviours were strongly influenced by the environmental cues. Vinson [START_REF] Vinson | Design guidelines for landmarks to support navigation in virtual environments[END_REF] proposes design guidelines for landmarks to support navigation in Virtual Environments; he focuses on the design and placement of such navigation aids. Some of these guidelines are:

• It is essential that the VE contain several landmarks.

• Include different types of landmarks such as paths, fences, statues.

• Landmarks should be distinctive, not abstract, visible at all navigable scales.

• Landmarks should be placed on major paths. Another technique for supporting interaction and navigation is augmenting virtual environments with interactive personal marks [START_REF] Grammenos | Virtual prints: Augmenting virtual environments with interactive personal marks[END_REF]. Darken 9). Their experimental study has shown a positive effect of semi-transparency on user navigation performance and awareness of the VE structure (although not as significant as bird's-eye views). The results of more recent study [START_REF] Elmqvist | Employing dynamic transparency for 3d occlusion management: design issues and evaluation[END_REF] also show that dynamic transparency results in significantly more efficient object discovery. For similar purpose we created a sketch-based system for creating illustrative cutaway renderings (see Figure 10).

Chittaro and Burigat [CB04, BC07

] propose 3D arrows as a navigation aid that aims at allowing users to easily locate objects and places inside large-scale VEs. The authors asses the usefulness of the proposed solution, contrasting it with more traditional 2D navigation aids (2D arrows, radar/map). The results of the experiment showed that the proposed 3D navigation aid is at least as effective as 2D navigation aids in helping users during "walk" mode navigation, while it outperforms them in "fly" mode. [START_REF] Smith | Evaluating distributed cognitive resources for wayfinding in a desktop virtual environment[END_REF] presented a user study that evaluated how the different wayfinding aids reduced or increased the cognitive load, measured as usability problems, on the user while they navigated around an environment searching for landmarks. The measured cognitive loads of each wayfinding aid: distance only (simply given the distance to a selected landmark) -Medium, graphical compass -High, dead reckoning (a simple text message to indicate the required movement to the highlighted landmark) -Low, mapbased route planning -High, graphical plan following (inserting a path into the virtual environment) -High.

Smith and Hart

Frequent Wayfinding-Sequence (FWS) methodology [START_REF] Sadeghian | The frequent wayfinding-sequence (fws) methodology: Finding preferred routes in complex virtual environments[END_REF] uses a modified sequence mining technique to discover a model of routes taken by experienced users of a VE that can be later used to provide navigation assistance to novice users by recommending routes. The study of the FWS approach suggest that it has the potential to improve the user's navigation performance and the quality of the humancomputer interaction To help address the problem of disorientation of CAD users that occur while developing new 3D scenes, Khan et al. [KMF * 08] present an in-scene 3D widget called the ViewCube as a 3D orientation indicator and controller (see Figure 11). The ViewCube is a cube-shaped widget placed in a corner of the window. When acting as an orientation indicator, the ViewCube turns to reflect the current view direction as the user re-orients the scene using other tools. When used as an orientation controller, the ViewCube can be dragged, or the faces, edges, or corners can be clicked on, to easily orient the scene to the corresponding view.

Selection and Manipulation

Another typical task performed in a 3D virtual environment is object selection and its direct manipulation [Han97, BKLP01]. Interaction techniques for the 3D manipulation include three fundamental tasks: object translation (positioning), object rotation, and object scaling.

Object Selection

The most common way to select objects in Desktop VEs is position a mouse cursor over given object and clicking a mouse button. The technique is based on ray casting [START_REF] Bolt R | put-that-there": Voice and gesture at the graphics interface[END_REF][START_REF] Möller | Fast, minimum storage ray-triangle intersection[END_REF]; it uses the ray from the eye point through the pixel currently selected by the mouse pointer to find the first intersection point with the scene (the surface of the target or to its approximated surface, e.g., bounding box). If the virtual ray intersects an object, it can be selected for further manipulation. Looser et al. [START_REF] Looser | On the validity of using first-person shooters for fitts' law studies[END_REF] examined target acquisition in 3D first-person computer games. They verified that Fitts' Law, which is widely used for modeling human performance for pointing in 2D user interfaces [START_REF] Fitts | The information capacity of the human motor system in controlling the amplitude of movement[END_REF][START_REF] Lynch | Fitts' law as a research and design tool in human-computer interaction[END_REF], accurately models this type of target selection. With a similar goal, Teather and Stürzlinger [START_REF] Teather R | Pointing at 3d targets in a stereo head-tracked virtual environment[END_REF] investigated means of comparing 2D and 3D pointing techniques. Balakrishnan [START_REF] Balakrishnan R | beating" fitts' law: virtual enhancements for pointing facilitation[END_REF] survey the research on developing, analysing and evaluating new techniques for artificially improving target acquisition in 2D, but this work can also be useful in the 3D context.

Elmqvist and Fekete [START_REF] Elmqvist | Semantic pointing for object picking in complex 3d environments[END_REF] adapt the concept of semantic pointing to a 3D context for improving object picking performance. The adaptation works by shrinking empty space and expanding target sizes in motor space. The authors also present a user study comparing the performance of object selection in two different game-like 3D environments with and without semantic 3D pointing. The reported study indicates that accuracy is improved by semantic 3D pointing, but not task completion time.

Silk Cursor [START_REF] Zhai | The silk cursor: investigating transparency for 3d target acquisition[END_REF] is another interesting selection technique, where in contrast to normal practice, the tracking symbol is a volume rather than a point. Moreover, the surface of this volume is semi-transparent, thereby affording occlusion cues during target acquisition. The experiment presented by the authors shows that the volume occlusion cues were effective in both monocular and stereoscopic conditions. Another technique, often used in CAD and 3D editing software, is indirect selection of objects from a list. For more information about selection (also in immersive VEs) see the work of Argelaguet and Andujar [START_REF] Argelaguet | Efficient 3d pointing selection in cluttered virtual environments[END_REF].

Object Manipulation

Manipulating objects is another basic task performed in a 3D virtual environment, especially during scene construction. When designing a scene with multiple objects, users have to repeatedly realign and adjust different parts. It is important to provide an efficient object manipulation technique.

The mouse, an excellent input device for 2D user interfaces, is commonly used to position objects in 3D environments. This causes the problem of how to map a fundamentally 2D input device into different operations with different degrees of freedom. One solution to the problem is to provide users with a set of tools, dialog boxes, menu items, or other kinds of 2D UI elements for changing between manipulation modes, where mode is a mapping of an input to a possible output (see Figure 12 (left)). Much simpler and more efficient solution is to provide users with manipulators (see Figure 12 (the pyramid)) for explicit and more direct manipulation [NO87, Bie87, SC92, CSH * 92].

Manipulators

Strauss et al. [START_REF] Strauss | The design and implementation of direct manipulation in 3d[END_REF] define manipulators as visible graphic representations of an operation on, or state of, an object, that is displayed together with that object. This state or operation can be controlled by clicking and dragging on the graphic elements (handles) of the manipulator. Straus et al. also list some of the advantages of manipulators:

Figure 12: The same functions presented with tools and with a dialog box (left)), and with a manipulator (here controlling the green pyramid).

• Manipulators are located in the scene with the objects they control. When the users edit these objects, their locus of attention stays with the object, not off to the side with the tools. This reduces the amount of mouse traffic, and reduces mode error.

• The users have a number of different controls available at the same time, so they can perform any one of several related operations at any time without an extra click to change tools. This cuts the number of clicks significantly and reduces memory load, since all the possible controls are displayed where they are needed.

• This solution allows the users to separate the desired 3D movement into simpler 1D or 2D components.

• Manipulators can graphically show what they are operating on and how they will work. They also show what operations are possible, in a given context, and can give the users additional feedback about intermediate states.

• Manipulators invite experimentation. They make using the software more enjoyable.

In Straus et al.'s notes from SIGGRAPH 2002 course on "The Design and Implementation of Direct Manipulation in 3D", there are also useful recommendations for manipulator behaviour and look.

Manipulators, which currently are adopted by most CAD and 3D editing software applications, evolved initially from ideas associated with interactive manipulation using 2D control devices. Positioning manipulators originate from the work carried out by Nielson and Olsen on direct manipulation techniques for 3D objects using 2D locator devices [START_REF] Nielson | Direct manipulation techniques for 3d objects using 2d locator devices[END_REF] and by Bier [START_REF] Bier | Skitters and jacks: interactive 3d positioning tools[END_REF] on skitters and jacks tools for interactive 3D positioning. Bier's technique aimed to reduce the complexity of the traditional scene composition by restricting the user to translate, rotate, and scale about one kind of feature, namely an orthogonal Cartesian coordinate frame. Bier also developed a very useful technique for snapdragging in 3D [START_REF] Bier | Snap-dragging in three dimensions[END_REF]. Rotation manipulators are also built c The Eurographics Association 200x. upon Nielson's and Olsen's [START_REF] Nielson | Direct manipulation techniques for 3d objects using 2d locator devices[END_REF] and by Bier's [START_REF] Bier | Skitters and jacks: interactive 3d positioning tools[END_REF] work, which was later extended by Chen et al.'s work on Virtual Sphere [CMS88] and Shoemake's ArcBall [START_REF] Shoemake | Arcball: a user interface for specifying three-dimensional orientation using a mouse[END_REF], the techniques designed for 3D navigation (rotation) around 3D objects. As we have already mentioned, both techniques are based on a concept of a virtual ball that contains the object to manipulate. They utilize the projection of the mouse location onto a sphere to calculate rotation axis and angle. Comparison of mouse-based interaction techniques for 3d rotation can be found in [START_REF] Bade R | Usability comparison of mouse-based techniques for predictable 3d rotation[END_REF].

Since the introduction of Skitters and Jacks [START_REF] Bier | Skitters and jacks: interactive 3d positioning tools[END_REF], 3D transformation widgets used in the manipulation of 3D objects have little evolved. These 3D user interface components have been mainly designed for mouse-based systems, where the user benefits from accurate pointing, distant interaction, an unobstructed view of the screen, and direct access to numerous buttons and keyboard shortcuts. Touch-screens have none of these qualities [Mos09]. Consequently, 3D transformation widgets need to be reinvented to adapt to the tactile paradigm.

Touch-based Manipulation

An example of new 3D transformation widgets has been proposed by Schmidt et al. [START_REF] Schmidt R | Sketching and composing widgets for 3d manipulation[END_REF], who present a set of sketch-centric techniques for precisely positioning and orienting 3D objects in free-form sketch-based interfaces, such as SKETCH [START_REF] Zeleznik R | Sketch: an interface for sketching 3d scenes[END_REF] or ShapeShop [START_REF] Schmidt R | Shapeshop: Sketch-based solid modeling with blobtrees[END_REF] that supports buttonless, imprecise touch-based input without sacrificing usability. The authors report on a pilot user evaluation that provides preliminary evidence that the techniques are intuitive and easy to learn as well as efficient enough to be competitive with the "standard" manipulator-based interface.

Others have explored multi-touch controls where several degrees-of-freedom (DOF) can be manipulated at the same time. In particular, the already mentioned work of Reisman et al. [START_REF] Reisman | A screen-space formulation for 2d and 3d direct manipulation[END_REF] extend the Rotate-Scale-Translate (RST) multi-touch technique to 3D that can be used for both navigation and manipulation. We conducted a user study to better understand the impact of directness on user performance for a RST docking task, for both 2D and 3D visualization conditions [START_REF] Knoedel | Multi-touch rst in 2d and 3d spaces: Studying the impact of directness on user performance[END_REF]. This study showed that direct-touch shortens completion times, but indirect interaction (see Figure 13) improves efficiency and precision, and this is particularly true for 3D visualizations. The study also showed that users' trajectories are comparable for all conditions (2D/3D and direct/indirect). This tends to show that indirect RST control may be valuable for interactive visualization of 3D content.

Hancock et al. propose techniques where users manipulate 3D objects with one, two, or three fingers in shallow depth [START_REF] Hancock | Shallow-depth 3d interaction: design and evaluation of one-, twoand three-touch techniques[END_REF]. Their study revealed that users are fastest and most accurate when using the three-touch technique and that their preferences were also strongly in favour of the expressive power available from three-touch. In their following In our own work, we studied how manipulators [NO87, Bie87, SC92, CSH * 92] can be adapted to the tactile paradigm. We have explored an approach where users apply rotations by means of physically plausible gestures, and we have extended successful 2D tactile principles to the context of 3D interaction. These investigations led to the design of a new 3D transformation widget, tBox [START_REF] Cohé | tbox: a 3d transformation widget designed for touch-screens[END_REF], that can been operated easily and efficiently from gestures on touch-screens (see Figure 14). Preliminary experiments (assembling a "Mr. Potato Head" character) have shown that tBox can be used easily both by 3D expert and novice users for 3D manipulation tasks on a touch-screen.

Au et al. [ATF12]

presents a set of multi-touch gestures which offers a seamless control of manipulation constraints (i.e., axis or plane) and modes (i.e., translation, rotation or scaling). Their technique does not require complex manipulation widgets but uses candidate axes, which are for visualization rather than direct manipulation. The authors state that such design minimizes visual clutter and tolerates imprecise c The Eurographics Association 200x. touch-based inputs. The reported evaluation shows that the technique is more effective than a direct adaption of standard transformation widgets to the tactile paradigm. The same research group introduced two-finger gestures for 6DOF manipulation of 3D objects [START_REF] Liu | Two-finger gestures for 6dof manipulation of 3d objects[END_REF], as single-hand, twofinger operations are often preferred for currently most popular multi-touch devices, i.e. smartphones, to cause less hand occlusion and relieve the other hand for necessary tasks like holding the device. Docking task study revealed that with fewer fingers and fewer hands, the technique outperforms the Screen-Space and DS3 methods and is comparable to the Sticky Tools method. * 92] propose to use shadows to view and to interact with objects in 3D virtual environments. These interactive shadows allow users to translate, rotate and scale objects in a constrained manner. For example, by dragging the shadow of an object, the object itself is translated by the same amount in a plane parallel to the shadow plane.

Herndon et al. [HZR

Pseudo-physical Manipulation

Some research has been done to exploit knowledge about real world (e.g., gravity) and natural behaviour of objects (e.g., solidity) to provide simple and intuitive interaction techniques for object manipulation [Hou92, BS95, GS99, SSS01].

Bukowski and Séquin [START_REF] Bukowski R | Object associations: a simple and practical approach to virtual 3d manipulation[END_REF] employ a combination of pseudo-physical behaviour and goal-oriented properties called "Object Associations" to position objects in a 3D scene. In their approach objects selected for relocation actively look for nearby objects to associate and align themselves with; an automated implicit grouping mechanism also falls out from this process. They summarize some of the desirable paradigms of this kind of manipulation and some of the behavioural aspects of objects:

• Selected objects should follow the mouse pointer, so that "point and place" becomes an integral, intuitive operation. • Objects typically should not float in mid-air but rest on some supporting surface. If the cursor points to the surface of a desk, it can be implied that the user wants to move the selected object to that particular surface.

• Associations of objects with reference objects should be maintained even when the reference object moves or is changed in other ways; however, they must also be breakable so that objects can be lifted off a surface easily and moved somewhere else.

Bukowski and Séquin have found that mixing the "magical" capabilities of 3D editing systems with some simulations of real behaviour reduces the degrees of freedom the user has to deal with explicitly and results in a very attractive and easy-to-use 3D manipulation technique.

Goesele and Stuerzlinger [START_REF] Goesele | constraints for scene manipulation[END_REF] built upon the work of Bukowski and Séquin on Object Associations and Bier's technique for snap-dragging and introduced Semantic Constraints. They noticed that in addition to the physical properties people expect objects in a natural environment to behave according to their experience: "People know that a chair will be standing on a floor and a painting will be hung on a wall. Hanging the chair on the wall and placing the painting on the floor is against common sense." The authors' system builds scenes based on a predefined library of objects, where each object is given predefined offer and binding areas. These areas are used to define surface constraints between objects. Offer areas are places on the object surface where other objects can connect to the object. Binding areas are their counterpart and mark areas on the object surface where it can connect to other objects. (see Figure 15).

Smith et al. [SSS01] presented the evaluation of Bukowski and Séquin's Object Associations [BS95] and Goesele and

Stuerzlinger's Semantic Constraints [START_REF] Goesele | constraints for scene manipulation[END_REF]. They showed that in most cases constraints provide more than a factor of two speed-up combined with a significant increase in accuracy. Oh and Stuerzlinger [START_REF] Stuerzlinger | Moving objects with 2d input devices in cad systems and desktop virtual environments[END_REF] present a technique to manipulate objects in CAD/DVE using 2D input devices that utilizes the fact that people easily recognize the depth-order of shapes based on occlusions. In their technique, the object position follows the mouse cursor position, while the object slides on various surfaces in the scene. The evaluation of the new technique showed that it compares very favorably to conventional technique using positioning manipulators.

Figure 15: Table, lamp and floor with offer areas (dashed) and binding areas (dotted). Orientation vectors are perpendicular to the offer or binding areas and define their binding direction [GS99].

c The Eurographics Association 200x.

Application Control

As we already mentioned, the interaction in a virtual environment systems can be characterized in terms of three universal interaction tasks: Navigation, Selection and Manipulation, along with Application/System control. Application Control describes communication between a user and a system, which is not part of the virtual environment [Han97]. It refers to a task, in which a command is applied to change either the state of the system or the mode of interaction [START_REF] Bowman | An introduction to 3-d user interface design[END_REF]. Hand and Bowman et al. point out that although viewpoint movement and selection/manipulation have been studied extensively, very little research has been done on system control tasks. However, application control techniques have been studied intensively over the past 40 years in 2D "point-and-click" WIMP graphical user interfaces (interfaces based on windows, icons, menus, and a pointing device, typically a mouse).

WIMP Application Control

The HCI and UI communities agree that a good application control technique should be easy to learn for novice users and efficient to use for experts; it has to also provide the means for the novice users to gradually learn new ways of using the interface [Shn83]. WIMP interfaces have proven to support all these characteristic. People using computer applications have become intimately familiar with a particular set of WIMP user interface components: windows, icons, menus, and a mouse. Since the introduction of WIMP interfaces in early 80's, they are still the dominant type of interaction style.

The issuing of command in a WIMP-type interface is simple and it can typically be done through different means, for example, by finding and clicking the command's label in a menu, by finding and clicking the command's icon, or recalling and activating a shortcut. Menus and icon bars are easier to learn as they are self-revealing. The set of available commands is readily visible during the use of the software. These interface components were designed specifically to help users learn and remember how to use the interface without any external help (such as on-line help). Shortcuts address the problem of efficiently accessing the increasing number of functions in applications and limited physical screen space (menu items and toolbar icons must be physically accessible). The most common type of a shortcut is a keyboard shortcut, the sequence of keys which executes a function associated with a menu item or toolbar icon (e.g. Ctrl-C/Ctrl-V -Copy/Paste). To facilitate users learning new keyboard shortcuts, they are usually displayed next to related menu items.

Theoretical models, experimental tools and real applications have resulted in a generally very good understanding of traditional WIMP interfaces for 2D applications (such as word processing and spreadsheets). However, what if the information is represented in three-dimensional space? Currently, computer and video game industry leads the development of 3D interactive graphics and it is where many cutting edge interface ideas arise. From what we can observe, the most of game interfaces are designed in a way, where application control interface components are placed in a screen-space, on a 2D plane called HUD (head-up display) that is displayed side-by-side with a 3D scene or overlays the 3D scene.

World of Warcraft is one of the most successful games of all time. From its release in 2004, its interface evolved only a little and we believe that it is a good example of how to design a game interface properly. World of Warcraft's user interface provides players with a great amount of useful information, while allowing them to easily and intuitively make actions they want. This balance was achieved through an emphasis on the following:

• The controls are clear -their physical appearance tell how they work (Donald A. Norman in his book "The Design of Everyday Things", points out: "Design must convey the essence of a device's operation" [Nor90]);

• At the beginning of the adventure in the Warcraft universe there are only few available UI components (health and mana bars, mini-map, few available capabilities or spells, experience bar, menus to change options and settings, text messages, chat text boxes). As the players gain more experience and more abilities, they can gradually enhance their interfaces and add more functionality to their toolbars. Hotkeys and shortcuts are also available for experienced player. The technique is based on an established design concept described by Ben Shneiderman [Shn83] as a "layered or spiral approach to learning". Figure 16 presents a user interface of an experienced player;

• Help is embedded throughout the interface. It allows players to click on any user interface component for an explanation [START_REF] Shneiderman | Designing the user interface: strategies for effective Human-Computer Interaction[END_REF].

c The Eurographics Association 200x.

We found several works that are dedicated to game design, where the authors include some discussion around creating 3D game's interfaces [START_REF] Rouse R | Game Design -Theory and Practice[END_REF][START_REF] Salen | Rules of Play: Game Design Fundamentals[END_REF]. Richard Rouse, in his book "Game Design: Theory & Practice" [START_REF] Rouse R | Game Design -Theory and Practice[END_REF], while analyzing the Sims game, pointed out that the best interface is the one that is difficult to notice: "The best a game's interface can hope to do is to not ruin the players' experience. The interface's job is to communicate to players the state of the world and to receive input from players as to what they want to change in that game-world. The act of using this input/output interface is not meant to be fun in and of itself; it is the players' interaction with the world that should be the compelling experience."

Richard Rouse [START_REF] Rouse R | Game Design -Theory and Practice[END_REF] While playing in the game's virtual environment, the most important part of the experience is the sensual immersion in an imaginary 3D space. As the game user interface (e.g., the use of options, text-based chat) reminds the player that the game is a structured experience, it might be treated as an unwanted component. Greg Wilson, in his "Off With Their HUDs!" article in Gamasutra [Wil06], describe the shift of the game user interfaces away from a reliance on traditional heads-up displays.

"Game developers' goal is to achieve a cinemaquality experience in a video game. One of the key ingredients for such an experience is the successful immersion of the player into the game world. Just as a filmmaker doesn't want a viewer to stop and think, 'This is only a movie', a game developer should strive to avoid moments that cause a gamer to think, 'This is just a game'."

Greg Wilson [Wil06] For example, Far Cry 2 has a traditional HUD. However, it only appears in certain situations, and then fades out when it is not needed (the health bar appears when the player is hurt; the ammo shows up when a gun is running low).

Screen-space WIMP application control approach splits the user interface into two parts with very different user interface metaphors. While the navigation and manipulation functionality is accessible through a 3D user interface, the rest of the system's functionality can only be controlled through a conventional 2D GUI. This can lead to a problem with supporting the feeling of immersion and directness. Hand [Han97] points out that this is a general problem with application control, since it may require the user to change from talking directly to the interface objects, to talking about them, thereby stepping outside the frame of reference used when manipulating objects or the viewpoint. If this shift is too great then the engagement of the user may be broken.

Post-WIMP Application Control

WIMP GUIs, with their 2D interface components, were designed for 2D applications (such as word processing and spreadsheets) controlled by a 2D pointing device (such as a mouse). However, when the information is represented in three-dimensional space, the mapping between 3D tasks and 2D control widgets can be much less natural and introduce significant indirection and "cognitive distance" [vD97]. Andries van Dam argues that this new forms of computing necessitate new thinking about user interfaces. He calls for the development of new, what he calls "post-WIMP" user interfaces that rely on, for example, gesture and speech recognition, eye/head/body tracking, etc. Post-WIMP interfaces are also defined by van Dam as interfaces "containing at least one interaction technique not dependent on classical 2D widgets such as menus and icons" [vD97]. In the following we describe some research works on post-WIMP interfaces that are used for application control in 3D Virtual Environments (see also a discussion on emerging post-WIMP reality-based interaction styles in [JGH * 08]).

The ability to specify objects, an operation, and additional parameters with a single intuitive gesture appeals to both novice and experienced users [START_REF] Rubine | Specifying gestures by example[END_REF]. Such gesture based system control was implemented in sketch-based 3D modeling interfaces of SKETCH [START_REF] Zeleznik R | Sketch: an interface for sketching 3d scenes[END_REF] and ShapeShop [START_REF] Schmidt R | Shapeshop: Sketch-based solid modeling with blobtrees[END_REF] that rely purely on gestural sketching of geometry but also commands for application control. Gesture-based interfaces, that offer an interesting alternative to traditional keyboard, menu, and direct manipulation interfaces, found their way also to games. For example, in the Black&White game, to add to the sense of realism, the mouse-controlled hand can perform every function in the game and actions can be invoked by making hand gestures. There are some system control techniques for Virtual Environments that we believe can be classified between WIMP and post-WIMP paradigms. For example, some user interface designers transform WIMP system control techniques used in 2D interfaces, such as buttons and menus, and implement them in 3D environments in object space. Dachselt and Hinz [DH05] propose a classification of existing 3D widgets for system control. The classification is based on interaction purpose/intention of use and it was created for VEs. Dachselt, in his further work on the CONTIGRA project, focused on menu selection subgroup. Together with Hubner [START_REF] Dachselt R | Three-dimensional menus: A survey and taxonomy[END_REF], they provide a comprehensive survey of graphical 3D menu solutions for all areas of the mixed reality continuum. Compared to the screen-space WIMP techniques the object-space WIMP techniques maintain a user interface metaphor supporting the feeling of immersion. However, such adaptation is not straightforward -2D objects that are placed in 3D space may undergo disproportion, disparity, occlusion. Moreover, selection (manipulation of a cursor) in 3D can be difficult to perform; users can have problems with selecting an item in a 3D menu floating in space [Han97].

c The Eurographics Association 200x.

In the seminal work on information visualization using 3D interactive animation, Robertson et al. [START_REF] Robertson | Information visualization using 3d interactive animation[END_REF] use Interactive Objects as a basic input/output mechanisms for the Information Visualizer's user interface. They are used to form the basis for coupling user interaction with application behaviour and build 3D widgets that represent information or information structure. The Web Forager [START_REF] Card | The webbook and the web forager: an information workspace for the world-wide web[END_REF] is an information workspace for the Web built upon the Information Visualizer. Pierce et al. [START_REF] Pierce | Toolspaces and glances: storing, accessing, and retrieving objects in 3d desktop applications[END_REF] present toolspaces and glances to provide a mechanism for storing, accessing, and retrieving 3D widgets and other objects in interactive 3D worlds. Toolspaces are attached to the user's avatar; objects placed in these spaces are always accessible (yet out of the user's view until needed). Users access these toolspaces through a type of lightweight navigation called glances. Robertson et al., during their further work on information workspaces, developed Task Gallery, a window manager that uses interactive 3D graphics to provide direct support for task management and document comparison [RvDR * 00].

Another technique that combines WIMP and post-WIMP to "get the interface out of your face" (as Bill Buxton calls his crusade -quoted from [vD97]) is the use of "marking menus" [START_REF] Kurtenbach | User learning and performance with marking menus[END_REF]. Such menu is designed to allow a user to perform a menu selection by either popping-up a radial/pie menu, or by making a straight mark in the direction of the desired menu item without popping-up the menu. Marking menus have been implemented for example in Autodesk Maya 3D modeling software.

Evaluation Techniques

As we have already mentioned, one of the aims of this paper is to produce a classification of 3D interaction techniques to assist researchers, developers and designers in creating new methods or improving existing ones. Such implementation of a technique is usually followed (or at least should be) by its evaluation. Therefore, in this section we describe methodologies that help in the process of evaluating user interfaces and interaction techniques. We also categorize all major evaluation techniques used by the authors of the referenced here articles.

A growing number of researchers and developers is considering usability as a major focus of interactive system development (e.g., [Nie00,NL06,SP04]). Usability often refers to the elegance and simplicity with which the interaction with applications is designed and it often defined as ease of use plus usefulness. Designing for usability from the very beginning of the development process not only gives developers better user acceptance but also keep interaction designers away from producing user interfaces and techniques for interaction that are unreasonable. In the following we present a list of methods that help in the process of evaluating interfaces and interaction techniques, and that focus on usability.

Usability Inspections

Usability Inspections [START_REF] Nielsen | Usability Inspection Methods[END_REF] are usually performed in the form of Cognitive Walkthrough [START_REF] Wharton | The cognitive walkthrough method: a practitioner's guide[END_REF] (an approach to evaluating user interfaces based on stepping through common tasks that a user would perform and evaluating the interfaces' ability to support each step) and Heuristic Evaluation [START_REF] Nielsen | Heuristic evaluation of user interfaces[END_REF] (a method in which usability experts separately evaluate a user interface design by verifying its compliance with recognized usability principles, "the heuristics"). Usability Inspections, while involve usability specialists, are generally considered to be cheaper and quicker (in terms of generating results), when compared to usability testing. [START_REF] Sutcliffe | Heuristic evaluation of virtual reality applications[END_REF] present a heuristic method for evaluating virtual environment user interfaces. Their method, which consist of twelve heuristics addressing usability and presence issues, is based on Nielsen's usability heuristics [START_REF] Nielsen | Usability Inspection Methods[END_REF], extended by VE-specific principles proposed by Sutcliffe and Kaur [START_REF] Sutcliffe | Evaluating the usability of virtual reality user interfaces[END_REF]. Similarly, Gabbard's taxonomy of usability characteristics in Virtual Environments [START_REF] Gabbard | A Taxonomy of Usability Characteristics in Virtual Environments[END_REF] and the Multi-criteria Assessment of Usability for Virtual Environments (MAUVE) system [SMR * 03] may be utilized similarly to conduct a heuristic walkthrough of a system. Desurvire et al. [START_REF] Desurvire | Using heuristics to evaluate the playability of games[END_REF] describe Heuristic Evaluation for Playability (HEP), a comprehensive set of heuristics for playability. In the assessment of HEP effectiveness compared to more standard user testing methodologies, HEP identified qualitative similarities and differences with user testing. Another finding was that HEP is best suited for evaluating general issues in the early game development phases. To design, evaluate and understand enjoyment in games, Sweetser and Wyeth [SW05] selected the various heuristics from the literature into a concise model of enjoyment in games that is structured by flow. Their model, GameFlow, consists of eight elements: concentration, challenge, skills, control, clear goals, feedback, immersion and social interaction. Each element includes a set of criteria for achieving enjoyment in games. Over time, the model proved to help in understanding of enjoyment in games and in the identification of their strengths and weaknesses.

Sutcliffe and Gault

Usability Testing

Usability Testing is a technique used to evaluate a user interface by testing it on real users. It generally involves measuring how well test subjects perform when interacting with the user interface in terms of efficiency, precision/recall, and subjective satisfaction. A usability test can be made in the form of Formative Evaluation, Post-hoc Questionnaire/Interview, or Summative or Comparative Evaluation (a statistical comparison of two or more configurations of user interface designs, user interface components, or interaction techniques). In the following we describe the usability testing techniques used to evaluate the interaction techniques reported in this State-of-the-Art Report.

Testing Viewpoint Control

Most of the movement techniques reported in this survey were evaluated using comparative studies: Navidget [HDKG08] was compared to fly, pan, look around, goto and orbiting; Z-Goto to go-to [HDG06]; Speed-coupled Flying with Orbiting [TRC01] was studied against driving; Path Drawing [START_REF] Igarashi | Path drawing for 3d walkthrough[END_REF] against drive and fly-to; Worldlets [START_REF] Elvins | Worldlets-3d thumbnails for wayfinding in virtual environments[END_REF] against text and image based bookmarks; Finger Walking in Place [START_REF] Gra Čanin D | Finger walking in place (fwip): A traveling technique in virtual environments[END_REF] against joystick-based traveling technique; iBar [SGS04] against Maya's traditional Rotate-Pan-Zoom camera interface; Ruddle et al. [START_REF] Ruddle R | The effects of hyperlinks on navigation in virtual environments[END_REF] studied hyperlink-based navigation against walking. With regard to the tasks, the authors typically used a variation of a search task [WF97, ENK97, RHPJ00, TRC01, HDG06, HDKG08, KGMQ08] and navigating while avoiding obstacles [START_REF] Igarashi | Path drawing for 3d walkthrough[END_REF][START_REF] Hubbold R | Navigation guided by artificial force fields[END_REF].

Ware and Osborne [START_REF] Ware | Exploration and virtual camera control in virtual three dimensional environments[END_REF] chose different evaluation methodology and used a technique known as intensive "semi-structured" interviewing that involves interviewing a small number of subjects under controlled (structured) conditions, while at the same time providing some scope for the subject to provide creative input to the process. As the authors say, "the goal of intensive interviewing as an evaluation technique is to ask many meaningful questions of a few subjects, rather than asking a single (often trivial) question of many subjects".

Evaluation of existing automatic camera planning systems typically involves measuring runtime performance (e.g., time to precompute the tour or memory usage) of the algorithms [SGLM03, AVG04, ETT07]. Li and Cheng [START_REF] Cheng C.-C | Real-time camera planning for navigation in virtual environments[END_REF] tested their real-time third-person camera control module using a maze-like environment, where the camera needs to track the avatar closely and avoid occlusions (see Figure 7 for the views acquired from the authors' engine).

Studies of Wayfinding Aids

To study wayfinding aids, the authors of the referenced here papers typically compare the performance of the users on some task with different wayfinding aids. Typically the task involves: searching for a target object [EH97, RCvD97, EF08, WZHZ09], finding a number of targets in a specified order [CB04, BC07], exploring the space, finding the target, and returning to the starting point [START_REF] Darken | A toolset for navigation in virtual environments[END_REF], finding a path to a specific object [CS01, CV06], direction estimation [START_REF] Chittaro | Navigation aids for multi-floor virtual buildings: a comparative evaluation of two approaches[END_REF], learning the environment and e.g., sketching its map [DS96, RM99] or placing target objects on the map [START_REF] Elmqvist | Evaluating motion constraints for 3d wayfinding in immersive and desktop virtual environments[END_REF].

Elmqvist et al. [START_REF] Elmqvist | Employing dynamic transparency for 3d occlusion management: design issues and evaluation[END_REF], when evaluating transparency as a navigation aid, used four different tasks that had two different purposes: discovery and relation. These tasks include counting the number of targets in the environment (discovery), identification of the patterns formed by the targets (relation), finding unique targets (discovery), counting the number of targets (discovery, relation). [START_REF] Smith | Evaluating distributed cognitive resources for wayfinding in a desktop virtual environment[END_REF] used a form of the think aloud protocol called cooperative evaluation, where users are encouraged to treat the evaluation as a shared experience with the evaluator and may ask questions at any time. The interactive personal marks technique [START_REF] Grammenos | Virtual prints: Augmenting virtual environments with interactive personal marks[END_REF] was evaluated using the sequential [GHS99] comprehensive evaluation methodology (see Section 5.4 below for more details). ViewCube [KMF * 08] was evaluated using the orientation matching evaluation technique. Authors investigating especially pseudo-physical manipulation techniques, studied the performance in a scene construction task, by e.g., assembling a chair [OS05, SSB08], furnishing and decorating a room [Hou92, SSS01], or assembling a character, which was the task we used for testing tBox transformation widget [START_REF] Cohé | tbox: a 3d transformation widget designed for touch-screens[END_REF] (see Figure 17).

Smith and Hart

Testing Manipulation Techniques

Figure 17: For testing tBox [START_REF] Cohé | tbox: a 3d transformation widget designed for touch-screens[END_REF], we asked participants to assemble a cartoon character.

Most of the reported manipulation techniques, including [BK99, HCC07, MCG10a, MCG10b, KH11, LAFT12, ATF12], were evaluated using a variation of the 3D docking task proposed by Zhai and Milgram [ZM98], where participants are required to scale, translate, or rotate a source object to a target location and orientation in the virtual 3D space as quickly and accurately as possible (Figure 18 shows the setting we used in the study of indirect RST control [START_REF] Knoedel | Multi-touch rst in 2d and 3d spaces: Studying the impact of directness on user performance[END_REF]).

Studies of 3D Web Interaction Techniques

Different possible measures could be used to determine the effectiveness and usability of the 3D Web interfaces. While working on the Dual-Mode User Interface [JD12, JD13], in choosing tasks for the study, we looked for ones that are both valid (resemble a 'real' act of browsing 3D content on the Web) and that are recognized for being able to detect significant differences. We decided to adopt tasks that were introduced by Chen et al. The example tasks come from the study, where we used a virtual museum featuring heroes, races, creatures, and weapons from the fantasy setting of the World of Warcraft.

Informal User Studies

Informal User Studies (Inquiry) is a technique where usability evaluators obtain information about users' likes, dislikes, needs, and understanding of the system by talking to them, observing them using the system in real work (not for the purpose of usability testing), or letting them answer questions verbally or in written form. The methods include: Observations, Focus Groups, Interviews, Questionnaires (e.g., QUIS [START_REF] Shneiderman | Designing the user interface: strategies for effective Human-Computer Interaction[END_REF]), Logging Actual Use (see e.g., VU-Flow [START_REF] Chittaro | A visual tool for tracing users' behavior in virtual environments[END_REF][START_REF] Chittaro | Vu-flow: A visualization tool for analyzing navigation in virtual environments[END_REF]).

Figure 19: Testbed [BJH99,BH99] and sequential [START_REF] Gabbard | User-centered design and evaluation of virtual environments[END_REF] comprehensive evaluation methodologies.

Comprehensive Approaches

Since interaction styles in virtual environments are radically different from standard user interfaces, some researchers proposed more comprehensive approaches for design and evaluation of VE user interaction. Bowman et al. [START_REF] Bowman | Testbed evaluation of virtual environment interaction techniques[END_REF][START_REF] Bowman | Formalizing the design, evaluation, and application of interaction techniques for immersive virtual environments[END_REF] propose testbed evaluation approach, the systematic study of the design, evaluation, and application of VE interaction techniques. In this methodology, design and evaluation are based on a formal task analysis and categorization of techniques, using multiple performance measures. Gabbard et al. [START_REF] Gabbard | User-centered design and evaluation of virtual environments[END_REF] present a sequential methodology for ensuring the usability of virtual environments through usercentered design and evaluation. This approach, which addresses both design and evaluation of VE user interfaces, is based on sequentially performing user task analysis, heuristic (or guidelines-based expert) evaluation, formative evaluation, and summative evaluation, with iteration as appropriate within and among each type of evaluation. It leverages the results of each individual method by systematically defining and refining the VE user interface in a cost-effective progression. Sequential evaluation was designed to be performed in the context of a particular application, while testbed evaluation should be employed in more generic evaluation contexts. Bowman et al., in their survey of usability evaluation in virtual environments [START_REF] Bowman | A survey of usability evaluation in virtual environments: classification and comparison of methods[END_REF], describe and compare the two evaluation approaches in detail.

Novel Input & Output Devices

As most of our State-of-the-Art Report focuses on the specific tasks that occur in 3D applications, which are independent of the input device, in the following we describe some VR and 3D UI research that can have an impact on interaction techniques for non-immersive 3D environments. We believe that novel devices will not replace mouse/keyboard and touchscreens in the following decade. However, we are focusing on 3D applications and in fact, this area is the one that can benefit the most from using novel devices. c The Eurographics Association 200x.

Beyond the Keyboard, Mouse & Touch

The keyboard remain central to human-computer interaction from the dawn of the era of personal computing to the present. Even smartphones and tablets adapt the keyboard as an optional virtual, touchscreen-based means of data entry. However, this input device is not really suitable for manipulation in 3D VEs. Even though sometimes the cursor keys are associated to planar navigation, more often the keyboard is used for additional functions and shortcuts for expert users.

The input device that is most often used for interaction in 3D applications is a mouse. The big advantage of this input device is that most users are very familiar with using it and novice users learn its usage in a few minutes. The main disadvantage is that the mouse is a two dimensional input device and therefore the interaction metaphor must build a relationship between 2D input space and 3D virtual space.

The computer mouse design has remained essentially unchanged for over four decades. This now-familiar device was first demonstrated by Englebart [START_REF] English | A research center for augmenting human intellect[END_REF] to the public in 1968 (the demonstration has become known as "The Mother of All Demos") and sice then some effort has been made to augment the basic mouse functionality including research on developing new types of mice that can better support 3D interaction. For example, the now familiar to everyone scroll wheel, was originally added to support 3D interactions [START_REF] Venolia | Facile 3d direct manipulation[END_REF] and now, in 3D interaction context, is used mainly for zooming in 3D applications. Rockin'Mouse [START_REF] Balakrishnan R | The rockin'mouse: integral 3d manipulation on a plane[END_REF] is a four degree-of-freedom input device that has the same shape as a regular mouse except that its bottom is rounded so that it can be tilted. As tilting gives a user control over two extra degrees of freedom, the device is more suitable for interaction in 3D environments. Balakrishnan et al.'s results indicate that the Rockin'Mouse is 30% faster than the standard mouse in a typical 3D interaction task (simple 3D object positioning). Other interesting designs include VideoMouse [HSH * 99], Cubic Mouse [START_REF] Fröhlich | The cubic mouse: a new device for three-dimensional input[END_REF], and Mouse 2.0 [VIR * 09] that introduces multi-touch capabilities to the standard computer mouse.

More recently, interactive touch-based surface technologies have appeared. In particular, since the commercialization of the iPhone in 2007, an extremely rapid market penetration of multi-touch surface technologies has occurred. This evolution is redefining the way people interact with digital content.

Touch input favors direct and fast interaction with the underlying manipulated content. On the other hand, it also induces new constraints. In particular, with mouse-based systems, users benefit from accurate pointing, distant interaction, unobstructed views of the screen, and direct access to numerous buttons and keyboard shortcuts. Consequently, the standard desktop 3D interaction techniques have been designed from these characteristics. On the contrary, touchscreens have none of these qualities as noted by Moscovitch [Mos09]. Consequently, new interaction techniques have been thought specifically to fit the touch-based paradigm. For example, recently we proposed a system that efficiently combines direct multi-touch interaction and 3D stereoscopic visualization [START_REF] Hachet | Toucheo: multitouch and stereo combined in a seamless workspace[END_REF].

In recent years, more and more affordable hardware can be found that allows the development of user interfaces more tailored for 3D applications. Wiimote, the device that serves as the wireless input for the Nintendo Wii gaming console, can detect motion and rotation through the use of accelerometer technology. Separating the controller from the gaming console, the accelerometer data can be used as input for gesture recognition [START_REF] Schlömer | Gesture recognition with a wii controller[END_REF]. Wiimote can be useful for 3DUI input: Wingrave at al. [WWV * 10] tutorial presents techniques for using this input device in 3D user interfaces and discusses the device's strengths and how to compensate for its limitations. Some research has shown a possible benefits of specialized 3D input devices over traditional desktop settings. For example, Kulik et al. [START_REF] Kulik | The influence of input device characteristics on spatial perception in desktop-based 3d applications[END_REF] compared the keyboard and mouse interface to bi-manual interfaces using the 3D input devices SpaceTraveller and Globefish in a spatial orientation task requiring egocentric and exocentric viewpoint navigation. The presented study revealed that both interface configurations performed similarly with respect to task completion times, but the bi-manual techniques resulted in significantly less errors. Seagull et al. [SMG * 09] compared a 3D twohanded interface iMedic to a keyboard-and-mouse interface for medical 3D image manipulation. Their case study revealed that experienced users can benefit when using iMedic interface.

Head & Human Pose Interaction

Ware, Arthur and Booth [ABW93, WAB93] were first to explore the effects of head pose input on the experience in 3D Virtual Environments. The authors adopted the term "fish tank virtual reality" to describe the use of a stereoscopic monitor supplemented with a mechanical head-tracking device for adjusting the perspective transformation to a user's eye position to simulate the appearance of 3D objects positioned behind or just in front of the screen. Ware et al. used this term because the experience is similar to looking at a fish tank inside which there is a virtual world. Fish tank VR was found to be of significant value compared to standard display techniques, with head coupling being more important than stereo vision [ABW93, WAB93].

Recent advances in face-tracking technology [START_REF] Murphy-Chutorian E | Head pose estimation in computer vision: A survey[END_REF] have made it possible to recognize head movements using a commodity web-camera. In light of these advances, researchers have begun to study head gestures as input to interact in VEs. enhance presence and role-playing. Yim at al. [START_REF] Yim | Experience in the design and development of a game based on head-tracking input[END_REF] had similar results while studying head tracking in a 3D game built upon the popular work of Johnny Lee [START_REF] Lee | Hacking the nintendo wii remote[END_REF]. Sko and Gardner [SG09] also investigated the potential for head gestural input to First Person Shooter games and have developed several diverse interaction techniques. Based on their experience derived from the studies, they draw a set of guidelines for the future development of head interaction techniques for computer games. Silva and Bowman [START_REF] Silva | Body-based interaction for desktop games[END_REF] investigate the benefits of adding body-based interaction to complement keyboard and mouse interaction in desktop gaming. They claim that body-based interaction (they use leaning to control navigation: leaning forward or backward results in moving in the same direction; leaning to the side rotates the character) in addition to keyboard and mouse can help players perform more tasks at the same time and can be especially attractive and helpful to new players. Terziman et al.'s [TME * 10] apply the Walking-In-Place technique to the context of desktop Virtual Reality. With their "Shake-Your-Head" technique, users can navigate using as sole input the head movements of the user. The experiment conducted to compare the technique with classical input devices used for navigating in desktop VR showed that "Shake-Your-Head" could allow for fast navigation when sitting, after a short learning session.

Mine et al. [MBS97]

present a framework for VE interaction based on proprioception, a person's sense of the position and orientation of his body and limbs. The authors proposed several interaction techniques including scaledworld grab for both manipulation and locomotion as well as head-butt zoom and look-at menus involving head tracking. The following enormous advances in computer visionbased human motion capture and analysis (surveyed in [MG01,MHK06,Pop07]) allowed for novel interaction techniques based on tracking, pose estimation, and understanding of human actions and behavior. One of the results of these works was the development of very sophisticated and affordable motion sensing input devices such as Microsoft's Kinect [SFC * 11] capable of full-body motion sensing that truly set a new standard for motion control and opened new exciting possibilities for 3D interaction (e.g., an interface for 3D animation [HGCA12] -see Figure 20).

Gaze-based Interaction

Other interesting approaches include gaze-based interaction using specialized eye tracking equipment. Few research works explored the effects of eye-based input on the experience in 3D Virtual Environments. To our knowledge, Tanriverdi and Jacob first proposed eye movement as an active pointing device for 3D object selection in VEs presented in an HMD [START_REF] Tanriverdi | Interacting with eye movements in virtual environments[END_REF]. Isokoski et al. [START_REF] Isokoski | Eye tracker input in first person shooter games[END_REF] used a first person shooter (FPS) game to assess the performance of eye gaze as an extra input modality to mouse and keyboard. Smith and Graham [START_REF] Smith | Use of eye movements for video game control[END_REF] compared the use of an eye tracker to a desktop mouse for game control. The authors utilized the input in different ways for, among others, an FPS shooter Quake 2, where the user controls orientation with either the mouse or the eyes and a role-playing game Neverwinter Nights, in which an avatar is moved through an interactive environment through pointing. Both Isokoski's and Smith and Graham's study revealed no advantage in performance with gaze. However, the reported subjective results showed that using eye gaze offered a much more immersive experience than using a mouse and keyboard. More recently, Istance et al. [START_REF] Istance | For your eyes only: Controlling 3d online games by eye-gaze[END_REF] used gaze input in different modes for emulating mouse and keyboard events appropriate for interacting with online 3D games. The authors report that it is feasible to carry out tasks representative of game play at a beginners skill level using gaze alone. It is important to stress that these works on gaze-based game interaction are of huge importance for motor impaired users. necessary to explore large and complex 3D VEs. As for our own work, we recently compared the brain-computer interface to the walking interface in VR focusing on the impact of motor activity on spatial transfer [LSA * 12]; the results indicate that BCI is a promising interface for studying spatial cognition. For a detailed survey on using BCI for 3D interaction, see [LFG * 13].

Brain-Computer Interaction

Display Technology

Stereo and autostereoscopic display technology is breaking through in the mass markets of consumer electronics. As a matter of fact, as a result of a big push from the movie industry, currently it is hard to buy a new TV that does not offer some kind of stereo 3D display technology.

With regard to interaction with 3D interactive graphics, compared to traditional 2D displays, stereoscopic displays have shown to enhance performance on a variety of depthrelated tasks including navigation as well as selection and manipulation of objects (e.g., [START_REF] Rosenberg | The effect of interocular distance upon operator performance using stereoscopic displays to perform virtual depth tasks[END_REF]). From a cognitive point of view, stereoscopy also proved to improve the spatial understanding of 3D information and help to conceptualize the space (e.g., [WF96]). As for some more recent works, LaViola and his colleagues, while evaluating the benefits of 3d stereo in modern video games, found out that although participants preferred playing in 3D stereo, it did not provide any significant advantage in overall user performance [START_REF] Laviola | Evaluating the benefits of 3d stereo in modern video games[END_REF]. However, in their next study investigating whether user performance is enhanced when using 3D stereo over a traditional 2D monitor coupled with a 3D spatial interaction device in modern 3D stereo games, they reported a positive effect on gaming performance based on stereoscopic vision, although reserved to isolated tasks and depending on game expertise [START_REF] Kulshreshth | Evaluating user performance in 3d stereo and motion enabled video games[END_REF].

On the other hand, stereoscopic 3D displays can cause problems including the simulator-sickness-type symptoms of eyestrain, headache, fatigue, disorientation, and nausea, which appear to effect large numbers of viewers (perhaps as many as 25% to 50% of the general population) [START_REF] Mcintire | What is 3d good for? a review of human performance on stereoscopic 3d displays[END_REF]. Therefore, in their great review of human performance on stereoscopic 3D displays, McIntire et al. suggest that the technology should be wielded delicately and applied carefully (e.g., when it is necessary to ensure good performance).

Accessing 3D Graphics on the Web

The Web evolved from a text-based system to the current rich and interactive medium that supports images, 2D graphics, audio and video. The major media type that is still missing is 3D graphics. As computer graphics technology has reached the point where high quality 3D content can be rendered in real time on commodity desktop and mobile devices, it should be possible to use 3D models rather than 2D images to represent various objects and ultimately improve user experience on the Web.

There have been a number of approaches over the last years to integrate 3D technologies on the Web and most of these systems and standards disappeared or barely survived. We believe that this is because of the fact that research was focused mostly on 3D graphics and 3D graphics alone. The focus of research did not include the search for user interaction techniques that are optimal for the hypertext-based Web interface. However, what good is a realistic environment if one cannot interact with it? As a result, hypertext (the ultimate product in symbolic communication) and interactive 3D graphics (the ultimate achievement in visual media) are at odds on the Web.

Hypertextualized Virtual Environments

We believe that people can gain a lot from using integrated information spaces where hypertext and 3D graphics data are simultaneously available and linked, spaces we call Hypertextualized Virtual Environments (HiVEs) [START_REF] Jankowski | Hypertextualized Virtual Environments[END_REF]. We focus on user interface design that supports the integrated exploration of HiVEs; the design, where users can browse the text, look through general information and search for more specific information, and where they can also navigate freely through a 3D space, and examine and manipulate virtual 3D objects, to gain a better understanding of the data. Our aim is to pair interactive 3D graphics know-how with well established UI conventions of the Web to support all these user tasks [START_REF] Jankowski | 2lip: Filling the gap between the current and the three-dimensional web[END_REF][START_REF] Jankowski | A taskonomy of 3d web use[END_REF].

Most recently, we introduced a Dual-Mode User Interface that has two modes between which a user can switch anytime [START_REF] Jankowski | A dual-mode user interface for accessing 3d content on the world wide web[END_REF][START_REF] Jankowski | On the design of a dualmode user interface for accessing 3d content on the world wide web (to appear)[END_REF]: the driven by simple hypertext-based interactions "don't-make-me-think" mode, where a 3D scene is embedded in hypertext and the more immersive 3D "takeme-to-the-Wonderland" mode, which immerses the hypertextual annotations into the 3D scene (see Figure 22). The results from the latest competitive user study suggest users performed better with DMUI over alternatives.

The cube (here in blue) is a three-dimensional solid object bounded by six square faces, facets or sides, with three meeting at each vertex.

A sphere is a perfectly round geometrical object (here in green). Like a circle in two dimensions, a perfect sphere is completely symmetrical around its center, with all points on the surface laying the same distance from the center point. This distance is known as the radius of the sphere. The maximum straight distance through the sphere is known as the diameter of the sphere.

A pyramid is a polyhedron formed by connecting a polygonal base and a point, called the apex. Each base edge and apex form a triangle.

+ +

The cube (here in blue) is a three-dimensional solid object bounded by six square faces, facets or sides, with three meeting at each vertex.

A sphere is a perfectly round geometrical object (here in green). Like a circle in two dimensions, a perfect sphere is completely symmetrical around its center, with all points on the surface laying the same distance from the center point. This distance is known as the radius of the sphere. The maximum straight distance through the sphere is known as the diameter of the sphere.

A pyramid is a polyhedron formed by connecting a polygonal base and a point, called the apex. Each base edge and apex form a triangle.

O OR R

Hypertext 3D Graphics Hypertext Mode 3D Mode

A sphere is a perfectly round geometrical object (here in green). Like a circle in two dimensions, a perfect sphere is completely symmetrical around its A pyramid is a polyhedron formed by connecting a polygonal base and a point, called the apex.

P P P y y y r rr a a a m m m i ii d d d Cube

S S S p p p h h h e e e r rr e e e

Figure • 3D Web sites should explain themselves: 3D Web pages should be self-evident. Obvious. Self-explanatory. Users should be able to learn what they are and how to use them without expending any effort thinking about it. Remember: much of the Web use is motivated by the desire to save time, so do not waste people's time.

• Text: The primary goal of Web design is to convey information. Designers should choose typography that communicates. Keep text readable, give users control over explanatory text and let users select for details on demand;

• Navigation: Minimize the number of navigation steps for users to accomplish their tasks, simplify user movement (keep movements planar, use collision detection), allow teleportation (e.g. selecting a destination in an overview);

• Wayfinding: Provide overviews so users can see the big picture (e.g., maps), provide history keeping -people are more comfortable when they know that they can undo or alter their actions; Make it easy to go home (so users can start over); Highlight current location in navigational UI components; Allow local search;

• Manipulation: Provide users with manipulators, exploit knowledge about real world (e.g., gravity) and natural behaviour of objects (e.g., solidity);

• Help: Help should be embedded throughout the interface. It should allow users to click on any new UI component for an explanation;

• People are creatures of habit: If they find something that works, they stick to it; they tend not to look for a better way. Designers should use existing Web conventions.

We are convinced that 3D computer graphics and virtual environments have also the potential to support Web user interfaces. However, this potential requires investigation into the three-dimensional nature of interaction in virtual environments that is suitable for internet users. We hope that the presented 3D Web usability principles may be useful for practitioners and researchers willing to work in the field of 3D Web user interfaces.

Conclusions

Ivan Sutherland, who is acknowledged by many to be the "grandfather" of interactive Computer Graphics, Graphical User Interfaces, and Human-Computer Interaction, in his work on the "Ultimate Display" [START_REF] Sutherland | The ultimate display[END_REF], demonstrated his vision of the 3D experience. He proposed a 3D interactive environment as the basis of human-computer interaction. According to his vision, the ultimate display would act as a looking glass into a mathematical wonderland. It would display information in three-dimensional fashion, represented in utterly believable virtual world.

"The ultimate display would, of course, be a room within which the computer can control the existence of matter. A chair displayed in such a room would be good enough to sit in. Handcuffs displayed in such a room would be confining, and a bullet displayed in such a room would be fatal. With appropriate programming such a display could literally be the Wonderland into which Alice walked."

Ivan Sutherland [START_REF] Sutherland | The ultimate display[END_REF] 3D computer graphics has managed to find its way into the lives of all of us. Expressing information through 3D visualization is bringing huge benefits for a variety of applications ranging from video games, through the latest special effects in movies, to serious applications (e.g., engineering or medical visualizations). From Sketchpad [Sut63] we reached the point, where unbelievably realistic high quality 3D content can be rendered in real time on commodity desktop and mobile devices. In a sense, Sutherland's vision of ultimate display, the ultimate Virtual Reality system, is in the making.

Nevertheless, there is still a long way ahead of us and much work needs to be done. As mostly everyone, who has ever developed an application related to computer graphics has faced the problem of defining the appropriate user interaction methods, we developed this State-of-the-Art Report. We hope that this survey of advances in interaction can aid both researchers and developers of interactive 3D applications in having a clearer overview of the topic of Navigation, Selection & Manipulation and System Control, and help them to make the most appropriate choice from the jungle of available interaction techniques. c The Eurographics Association 200x.

In this survey, we have focused on the most standard 3D interaction tasks allowing one to explore 3D environments or to manipulate objects. Other tasks may require more specific interaction techniques. Examples are sculpting operations (e.g. pinch and inflate), exploration of volumetric data, or direct control of environmental parameters (e.g. light and material properties). Such interaction tasks are beyond the scope of this work, and numerous interaction techniques are still to be invented in these areas.

In this STAR, we have described a lot of techniques for interaction with 3D environments under various levels of control. For the techniques where the level of control is high, the interaction space is rich. On the other hand, such techniques require a high level of expertise to be used correctly. At the opposite, the techniques with low level of control (e.g. movements computed automatically by the system) fit well with novices users. On the other hand, the level of interactivity with such techniques is much reduced.

A big challenge in the design of interaction techniques is to enhance the level of interactivity, while limiting the level of control that is required. Sketch-based approaches, where user express coarse wills and let the system optimize the resulting actions in the 3D environment are definitively good examples of techniques that try to address this challenge. These approaches may be an answer to the general quest of opening interactive 3D environments to non-expert users.

Another big challenge in 3D interaction is to provide adaptive techniques. Indeed, a novice user will gain in expertise when multiplying the completion of a given interaction task. If the used technique is too simple, he or she will be limited which will cause frustration. Hence, adaptive 3D interaction techniques where the level of control adapt to the expertise of the user is definitively a promising research direction.

For a long time, the design of 3D interaction techniques has been mainly driven by criteria such as speed, efficiency or precision. Other criteria such as interface appeal and enjoyment arising from the interface should also be considered. Indeed, these criteria have been mostly neglected in academic research whereas we believe they are crucial for users to venture and persevere in the complex process that is interaction with 3D environments. An interface with a strong appeal and enjoyment factor will motivate these users to perform 3D tasks, and will thus stimulate activities such as learning, communication or creation.

Figure 1 :

 1 Figure 1: Interaction techniques considered in this report.

  et al.'s [BKLP01] and Tan et al's [TRC01] goals for the navigation in brackets) General movement. Exploratory movement, such as walking through a simulation of an architectural design (corresponds to Bowman et al.'s and Tan et al.'s Exploration goal). Targeted movement. Movement with respect to a specific target, such as moving in to examine a detail of an engineering model (corresponds to Bowman et al.'s and Tan et al.'s Search goal). Specified coordinate movement. Movement to a precise position and orientation, such as to a specific viewing position relative to a CAD model: the user has to supply the exact position and orientation of his destination. Specified trajectory movement. Movement along a position and orientation trajectory, such as a cinematographic camera movement (corresponds to Bowman et al.'s Maneuvering and Tan et al.'s Inspection goal).

Figure 2 :

 2 Figure 2: Rotating, panning, and zooming are the primary camera movements used in almost every 3D modelling environments.

Figure 3 :

 3 Figure 3: Two three-finger rotation techniques proposed by Reisman et al. [RDH09]. Top row: defining an axis by connecting the two contacts of the non-dominant hand, and then rotating the object about that axis. Bottom row: interaction not limited by the axis defined by the non-dominant hand.

Figure 5 :

 5 Figure 5: Example of a sketch-based navigation from [HD08]: the user draws a curve on the street and combines this command with a circle like gesture; the derived animation will move the camera along the sketched path and rotate for inspecting the target area.

Figure 6 :

 6 Figure 6: Example StyleCam experience. Top: system components and their reaction to user input. Bottom: what the user sees (from [BKF * 02]).

Figure 7 :

 7 Figure 7: Snapshots of the views acquired from Li's and Cheng's third-person camera control module [LC08] in a Stonehenge-like ring of standing stones.

Figure 8 :

 8 Figure 8: Overview of Way-Finder [AVG04]: (a) Input scene; (b) Distance-to-geometry field computed over the 3D grid; (c) Cells detected with random color; (d) Cell-andportal graph embedded in the model space; cells are labeled according to relevance measure; (e) High-level path computed as a sequence of cells; visited cells is a superset of relevant ones; (f) Final path after smoothing.

  and Sibert[START_REF] Darken | A toolset for navigation in virtual environments[END_REF] were first to present the concept: users can drop breadcrumbs, which are markers in the form of simple cubes floating just above the ground plane. Edwards and Hand[START_REF] Edwards | Maps: Movement and planning support for navigation in an immersive vrml browser[END_REF] describe similar technique, trailblazing, and the use of maps as examples of planning tools for navigation. While researching the relation between wayfinding and motion constraints, Elmqvist et al.[START_REF] Elmqvist | Evaluating motion constraints for 3d wayfinding in immersive and desktop virtual environments[END_REF] found out that navigation guidance allows users to focus less on the mechanics of navigation, helping them in building a more accurate cognitive map of the 3D world.Robertson et al. [RCvD97], while exploring immersion inDesktop VEs, proposed a new navigation aid called Peripheral Lenses as a technique for simulating peripheral vision. However, as their results were not statistically significant, further studies are needed to understand exactly when Peripheral Lenses are effective.

Figure 9 :

 9 Figure 9: The use of semi-transparency in VE [CS01].

Figure 10 :

 10 Figure 10: Exploration of an office: (a) sketching a circular cutaway; (b) final composite illustrative rendering including cutaways, transparency and ghost-views [KHG09].

Figure 11 :

 11 Figure 11: The ViewCube: clicking on the "front" face of the cube widget rotates the cube and the 3D scene to the front view [KMF * 08].

  McCrae et al. [MGG * 10] examines user understanding of position and orientation within multiscale 3D datasets. Fitzmaurice et al. [FMM * 08] have developed a concept called Safe 3D Navigation where they augment navigation tools with properties to reduce the occurrence of confusing situations and improve the learning experience. They have defined seven properties that work together to achieve a safe 3D navigation experience: (1) cluster and cache tools; (2) create task and skill-based tool sets; (3) provide orientation awareness; (4) enhance tool feedback; (5) offer pre-canned navigation; (6) prevent errors; and (7) recover from errors.

Figure 13 :

 13 Figure 13: Indirect control of the RST technique [KH11].

Figure 14 :

 14 Figure 14: tBox: dedicated to touch-screens transformation widget [CDH11].

Figure 16 :

 16 Figure 16: World of Warcraft's user interface of an experienced player (courtesy of Cyan).

For

  the rotation task, in the experiments performed by Chen et al. [CMS88] and Hinckley et al. [HTP * 97] subjects were shown a solid-rendered, uptight house in colour on the righthand side of the screen and were asked to match its orientation to a tilted house on the left-hand side of the screen. Bade et al. used more complex scan and hit type of aforementioned task [BRP05].

Figure 18 :

 18 Figure 18: Docking task. The source object (blue) has to be aligned with target object (grey transparent), in 2D (a) and in 3D (b). We used this setting in the study of indirect control of the RST technique [KH11].

  [CPB04] and were later successfully used by Polys et al. [PKB05, PBN11] and Ni et al. [NBC06] to evaluate IRVEs [BNC * 03]. Thus, the participants performed 4 types of tasks, representing various conditions a user is likely to experience on a 3D Web site: 1. Search for textual information and then search for visual information (S:H-3D). Task 1 requires the users to first search for text information, and then to find the corresponding visual information in the 3D scene. An example task is: Find the Horde race that uses Hawkstriders for mounts. What other races are to the left and right of this race? 2. Search for visual information followed by textual information (S:3D-H). Task 2 is conceptually reversed, in that the users are required to find the visual information on the 3D scene first, and then to answer questions about the related text information. An example task is: Find the sword which hilt/handle has a yellow dragon eye and ends with dragon claws. What is the price of this weapon? 3. Compare text information and derive visual information (C:H-3D) (find visual attributes of items with a given text criteria). An example task is: Find the strongest creature in the museum. What is the color of the creature's eyes? 4. Compare visual information and derive textual information (C:3D-H) (search for textual attributes of items with a given visual criteria). An example task is: There are two races with tails. What are their mounts?

  For example, Wang et al. [WXX * 06] studied face tracking as a new axis of control in a First Person Shooter (FPS) game. The authors compared camera-based video games with and without face tracking and demonstrated that using face position information can effectively c The Eurographics Association 200x.

Figure 20 :

 20 Figure20: A system for producing 3D animations using physical objects (i.e., puppets) as input[HGCA12]

  Brain-Computer Interfaces (BCI) are communication systems conveying messages through brain activity only, this activity being generally measured using ElectroEn-cephaloGraphy (EEG) [WBM * 02, TN10]. Recent research results have shown that BCI can be used to interact with 3D Virtual Environments supporting navigation [LLR * 08] as well as selection of 3D objects (simply by paying attention to these objects) and their manipulation [Bay, LKF * ].Although these works prove that exploring a VE by brain activity is possible, the number of mental commands provided to the user is rather limited (e.g., turning left or right by imagining left or right hand movements, respectively). Nevertheless, in quite recent work, Lotte et al. [LvLL* 10] proposed an asynchronous BCI that provide three different mental commands to the user and they showed that by using appropriate interaction techniques, only 3 commands were c The Eurographics Association 200x.

Figure 21 :

 21 Figure 21: An example of the Brain-Computer Interface: controlling a virtual spaceship [LLR * 08].

  Figure 22: The same information presented in the hypertext and the 3D mode of the Dual-Mode User Interface [JD12, JD13].

Table 1 :

 1 The functions of different kinds of landmarks in Virtual Environments (based on[START_REF] Vinson | Design guidelines for landmarks to support navigation in virtual environments[END_REF]).

	Lynch's Types	Examples	Functions
	Paths	Street, canal	Channel for navigator mvt.
	Edges	Fence, river bank	Indicates district limits
	Districts	Neighborhood	Reference region
	Nodes	Town square, public building	Focal point for travel
	Landmarks	Statue	Reference point

c The Eurographics Association 200x.

Acknowledgements This work has been supported by SFI under Grant No. SFI/08/CE/I1380 (Lion), by EI under Grant No. PC/2008/353 (Copernicus), and by the Villes Transparentes project.