Since multiple User Widgets can exist simultaneously, it is important to indicate from which ring a user took control of the scene view. Furthermore, all the other users are not able to interfere with the user navigating the scene, the temporary inability to perform certain (single-user) tasks also needs to be communicated visually.
A user can navigate a scene using the Navigation Token or direct manipulation. In both cases the User Widget at the bottom depicts the state of a ring that did not take control of the scene view. Notice that this ring can also not lock the scene view, which would interfere with the user navigating the scene.
When using the Navigation Token to explore the scene, the User Widget morphs into the Navigation Token, as seen in Figure 6.4. During this state the respective user cannot close (i.e. delete) their User Widget, as it is controlling the screen. Including such functionality is possible in theory, with the scene view being locked, upon deleting the ring in control of the scene view. This would subsequently allow any remaining users to take on control of the scene view if desired. However, it was decided to make the user explicitly lock the scene view before deleting their token for collaborative purposes. With this approach, other users would be aware of these events, as they are performed by the user in control of the scene, rather being performed implicitly, in an automated fashion.
6.3.1 Navigation Token
As noted above, the Control Ring (Figure 6.3) can be transformed into the Navigation Token ( Fig- ure6.4) by the user pressing the eye button on the control ring. On the Navigation Token, the same button is used to lock the view, which morphs the Navigation Token back to the Control Ring.
Figure 6.4: The Navigation Token is a mode of the User Widget, with which one can navigate the virtual environment. It also provides various predefined perspectives (top-down, side-on and corner view).
Reorienting the viewpoint, using the arcball mechanism, is achieved by moving a single finger in the central region of the token (see Figure 6.4). As a user changes the viewpoint, the token follows the finger that is performing the reorientation, or the centroid of the two fingers in the case of translation. This
is important when large changes are required in the viewpoint’s transformation. It is less troublesome to perform fewer large gestures than many small ones to achieve the same outcome.
Figure 6.5: View point manipulation activation and deactivation transitions and feedback. This notifies the user when the system is in navigation mode. In a) the view point manipulation is activated, with the respective user’s widget colour expanding from their widget as illustrated in b). In c) view point manipulation is active, and when deactivating it, the reverse feedback animation happens, in which the screen overlay colour collapses to the controlling widget as shown in d). With viewpoint manipulation enabled, overlaying the entire screen, as in c), makes the environment appear differently, which is why only the border of the screen is highlighted with the colour of the user widget, that is in control of the view point, as shown in the bottom most illustration in this figure.
6.3.2 Predefined Perspectives
Common predefined perspectives (see Figure 6.6) can be activated using the three top buttons of the navigation token, with these cube-like icons. One can change the perspective of the scene view to be a top-down, side-on or corner view, which is similar to an isometric perspective. Each time the a new predefined perspective is activated, the camera glides from it’s current transform to the specified predefined perspective. This helps users understand the change of the perspective, whereas an instant change in position (a teleportation of the viewpoint) may be confusing, because the user may not know where the newly acquired position is in relation to the previous one.
Figure 6.6: Predefined perspectives enable users to quickly move the viewpoint to preconfigured views, namely top-down, side-on, and corner-view, with the push of a button. Left: The position of these predefined perspective buttons on the Navigation Token, circled in red. Right: Metaphor for use of icons, relating to the respective perspectives. The top row illustrates the icons for the buttons to cycle through top-down, side-on and corner views. The top row indicates from what perspective the view point would be looking at a particular object or the scene, which would be in the centre the cube in this illustration.
Furthermore, pressing a single one of these buttons repeatedly will cycle the SceneView through four different orientations of the respective view. For example, cycling through the side-on views could be described as viewing the scene from one of the four cardinal points at any given time.
6.3.3 Navigation Touch
The alternative to the Navigation Token is what this research refers to as Direct Touch Navigation. This employs a very similar mechanism to the Navigation Token, but uses slightly different feedback. The one major distinction is that the user can place either one or two fingers anywhere on the screen, upon which one or two small tokens seek out the finger(s). This design decision was to allow any user to take over the control of the view, without having to use their own control ring. As shown in Figure6.7, no navigation takes place until a touch token has locked onto a finger. The tokens will then follow the view controller’s fingers and perform the respective scene view manipulations, until all controlling fingers are released from the multi-touch surface. The last point to note is that the tokens are completely transparent when inactive and fully opaque when in use, where the transparency transitions between these two states when users begin or end their scene view manipulation. Transitioning the transparency was implemented to provide the users with additional visual feedback about the state of the scene view
and its controller. There are two way in which the view point can be manipulated, namely through translation and reorientation, and the paragraphs below describe how this can be achieved using Direct Touch Navigation.
Figure 6.7: Direct Touch Navigation enables users to navigate the environment without directly using the Navigation Token. When a finger is placed anywhere on the screen, a touch token seeks out the touch point (starting from the Navigation Token). Once it has reached the touch point, it obtains the colour of the respective user widget and can be used to navigate the environment. One finger is used for rotation and two fingers are used for translation (panning and z-axis translation, using a pinch gesture).
To maintain consistency with object manipulation and the Navigation Token, the scene can be reoriented (i.e. rotated) using one finger. This can occur using either the first-person or arcball mechanism, depending on the user’s preferences. Each user can change these preferences with their control ring, as it is still visible even when it cannot manipulate the scene view.
For the purpose of regularity within the system, translation of the viewpoint is performed with two fingers. Moving in the x-y plane is performed by moving both fingers together along the touch surface. Users can invert the direction of both these axes separately, within the view configuration menu, based on their preference. Translation along the z-axis is performed using a pinch gesture. Moving towards an arbitrary location is achieved by moving the fingers apart, and vice versa for moving away from arbitrary locations. This gesture is inspired by the pinch zoom gesture, which yields a similar result when performed on a document or map application, such as Google Maps [16]. A centroid of the two fingers is shown using a crosshair (i.e. a target) to help guide users by indicating the actual point they are moving towards or away from. As shown in the touchpoint processing state machine in Figure 5.7, one touch point is for reorienting the viewpoint, and two touch points are used for translation.
6.3.4 Scene Navigation Preferences
The user-specific scene view navigation preferences allow each user to fine tune their method of nav- igating the virtual environment. Whenever a user unlocks, i.e. takes control of the scene view, their Control Ring’s navigation preferences are sent to the “SceneViewer” object, which adjusts itself for the user, based on the provided settings. The navigation preferences, as shown in Figure 6.8, allow users to toggle between desktop-based input and multitouch, choose arcball viewing or a first-person perspective for the flying camera, and adjust the sensitivity of rotation, translation and zooming.
Figure 6.8: View Point Manipulation Preferences allow each user to have their ideal configuration when controlling the view point.