comp 239: Virtual Reality Quest
 
Abstract
This project explores an alternative to approach for redirected walking. The original redirected walking gives the illusion of walking along a path, which does not fit in the physical lab space where the virtual environment exists. The person walks between waypoints from the start to the destination in the virtual environment. At each waypoint the person is occupied by a task and instructed to go to the next waypoint. The version of redirected walking uses an avatar to guide the person. The person follows the avatar along a path. At the waypoints, the avatar occupies the person. 

Table of contents
How redirected walking works
Project Components
Lessons Learned
Implementation
Improvements
Credits
 

Presentation (PPT)

How redirected walking works [top]
Redirected walking enables a person to have the impression that they are exploring a large virtual environment. In the virtual world the person may choose to walk, for example 20m in a straight line. The longest part of the lab space might only be 5m. Although the person could not walk 20m in the lab space, redirected walking can give the person the illusion of walking 20m. To walk 20m in the lab, the person has to walk four times back and forth along the 5m length of the lab. At the end of the 5m the person has to be rotated 180 degrees in order to walk the next 5m. The person’s sense of presence, however, would be broken if they consciously had to turn the 180 degrees. Instead to maintain the presence, the person must rotate without being aware of it. The redirected work by Sharif demonstrates how to rotate the person unknowingly to him/her. While the person rotates his/her head, the virtual world is rotated. The person does not consciously perceive the rotation, but compensates by also rotating. Hence the person is rotated but has the impression he/she is still walking in the same direction. So to walk the 20m, at the end of every 5m, the person has to be rotated. 




This project uses an avatar, in this case a fire breathing dragon, to guide the person. The dragon follows a relatively straight line from one end to the other end in the virtual world. The person interacts with the dragon and therefore is motivated to follow the dragon. The dragon moves only for a short distance before stopping. The person has to “motivate” the dragon to move again by touching the dragon. At the turning points the dragon makes a circle around the person. The person is forced to rotate in order to see and “push” the dragon to move again.

There is a fairy tale that accompanies this virtual world involving the person and dragon. The person, the hero of the fairy tale, is on a quest to find the oracle of “Virtual Reality”. The fire-breathing dragon has the answer to quest. The quest leads the hero to the dragon and the castle (modeled in this virtual environment). The dragon, however, is defending the secret. The person can force the secret from the dragon by extinguishing the dragon’s fire breath. The person carries a ball of water in his/her hand, i.e., the wand. The dragon’s fire can be extinguished by repeatedly pouring the water into the fire. The dragon however, will back off every time doused by water. Backing off, the dragon moves from one end of the castle hall to the other. Eventually the fire is extinguished and the secret is revealed.
 

Project components [top]
There are three major components to making a virtual environment with redirected walking and an avatar. 
 
  • Virtual world: The virtual world is the castle hall in which the dragon lives. It is twice as long as the physical lab space. To walk between two walls of the castle hall requires walking twice the length of the lab. 
  • Redirected walking component: This is the mathematics of rotating the virtual world interpretably to the person. The world is rotated about the person’s head. The rotation however, can only occur at the same time the person is rotating.
  • Dragon (Avatar): Implementing the dragon involves controlling the dragon’s movement and managing the interaction. The Avatar has to follow the predefined path though the virtual world. At the waypoints the dragon moves around the person and redirected walking component is activated to rotate the virtual world. The interaction between the person and dragon involves detecting when the wand, ball of wall, is intersected with the dragon’s fire.
Lessons learned [top]
Implementing this virtual environment I learned about making effective virtual environments.

Avatars
The dragon avatar is effective in occupying the person. The interaction of touching the dragon is simple and easy to follow. The person is persuaded to follow the path and turn about when the dragon moves around them. The interaction distracts the person enough for the virtual world to be rotated unknowingly to the person. 

A general lesson to learn is that it is easy to distract the person. In the case of this application it is an advantage. However, other applications might be disadvantaged. For example, the avatar diverts the attention from other objects in the room. 

Visual environments
When designing the virtual environment it is important to provide reference points, which give the person a sense of orientation. The sense of orientation can be lost when being distracted by the dragon. A glimpse of the reference points quickly reestablishes the orientation. The following Figure illustrates the reference points used in the castle virtual environment. 

The HMD determines the available window to view the world. The size and proportions of the virtual objects has to be designed to fit the limited field of view. The dragon is usually very close to the person. If it is too big, it will block out any view of the virtual world. Blocking the virtual world makes it difficult to see the reference points needed for a sense of orientation. 

Audio
Although audio is not implemented, the immerssive attributes of audio are obvious. Only a visual perception of the dragon is not enough to convey the ferociousness of the fire-breathing dragon. The dragon would be more pervasive if one could here the fire, roaring, and stomping. The following picture speaks for itself; one can imagine the corresponding sounds. 


http://www.ngame.com/downloads/dragon-1600x1200.jpg


Implementation [top]
 
The implementation of the redirected walking is a review of linear algebra and OpenGL. In particular involving transforming between model and world coordinates.

Rotating the virtual world involves rotating about the person’s current position. It is as simple as learned in graphics 101 (comp 136).




The model-view matrix, M, converts from model to world coordinates. Converting world to model coordinates involves taking the inverse of the M, which is possible, for example, with Gaussian elimination. A similar computation is to maintain the inverse as follows (basic linear algebra).




The implementation of the dragon and interaction is modeled in a finite state machine, shown in the following Figure. The state machine makes it easy to have an overview of the interaction. 

Each state represents a different form of motion. Care has to be taken to have smooth motion when transitioning between states. Any jerkiness in motion breaks the sense of presence.


Improvements [top]

After the demonstration there were helpful suggestions to improve the demo:
  • The “ball of a water” could be replaced by squirt gun. The squirt gun is controlled with the wand. The button of the wand can be used to squirt the water. Squirting the water reduces the stretching the person has to do to intersect the water and fire. 
  • Currently the dragon’s circular motion makes the HMD and tracker wires wrap around the person. Changing the dragon’s motion can prevent the wrapping of wires. Instead of turning full circles, the dragon can make half circles, each half changing the direction.
  • Depending on how the person follows the dragon, the person might be deviate from the intended path and collide with real world obstructions. The dragon’s motion can be enhanced to counter the deviations. Seeing people go through the demo, I have need ideas to improve this. 
  • The person should have feedback that the fire is being extinguished. The dragon’s fire should reduce as more water is squirted. When the fire goes out, the secret is revealed. 


Credits [top]

All images and pictures that look cool are not from me. Great people on the internet have created them.
     
 top * home * academics
dorian miller, 12/15/2002