7

Virtual Reality

Ryan Taylor

Department of Computer Science

University of Wisconsin-Platteville

Platteville, WI 53818

Abstract

Virtual reality. A term many of us know from sci-fi films, books, or even some anime. But as technology has become better and better, Virtual Reality has become less science fiction and has even started to pop up in many professions as training simulators or as an entertainment medium. Current Virtual Reality systems employ one of two ways to achieve immersion into a virtual environment. The first being a Head Mounted Display (HMD) which is the easiest (and cheaper) alternative to the second; a Cave Automatic Virtual Environment (CAVE) which requires isolating a person within a room wearing a pair of specialized glasses to build and interact with the 3-dimensional environment around them.

Introduction

This paper will talk about which people and actions led to the creation of Virtual Reality and its first uses. It will also talk about the differences among the different levels of Virtual Reality. It will then talk about the different types of Virtual Reality systems currently used and some information about how one would program Virtual Reality for these different systems. It will then go into the different uses that Virtual Reality is already playing a part of our lives today.

History

Virtual Reality has been around since the mid 1950s when Morton Heilig, a cinematographer, decided he wanted a more immersive theatre-going experience. He was going to achieve this by stimulating the audiences' senses instead of just sight. By 1960 he had developed and built a machine he called the Sensorama, which was a single user console which included fans, odor emitters, stereo speakers, a moving chair, and a stereoscopic display. For it he created a television which displayed its images in 3-D and was head mounted. While it was not technically Virtual Reality since the audience was still a passive user, many of his concepts made their way into the field of Virtual Reality[3].

Then, in 1961, engineers at Philco Corporation developed the first truly Head Mounted Display(HMD), which they called the Headsight. The Headsight was connected to a closed circuit camera which tracked head movements to change the camera's angle. It was initially developed for highly dangerous situations, and Bell Laboratories used a similar concept to create a HMD for Helicopter pilots to fly in the dark[3].

In 1965, a computer scientist named Ivan Sutherland collected all these ideas together and created what he called, the "Ultimate Display". The Ultimate Display concept included a virtual world that appears real to any observer seen through an HMD and augmented through three-dimensional sound and tactile stimuli. A computer maintains the world model in real time, and the ability for users to manipulate virtual objects in a realistic, intuitive way. This idea led Sutherland to develop a HMD in 1966 which connected to a computer unlike before where the HMD was connected to a camera. Many government companies saw the use in Sutherland's concepts and funded research and development into Virtual Reality projects. These research projects were mostly vehicle simulations for NASA and airline pilots, but it was still a big step towards the goal of in-depth Virtual Reality[3].

This focus on vehicle simulation continued until 1987 when Michael McGreevy began working on Virtual Reality being the next step in Human Computer Interfaces(HCIs). This was picked up by the media in the 1990s which created a large amount of hype for Virtual Reality. This hype had an adverse affect on the Virtual Reality field however, since the media grossly overstated the capabilities of the current Virtual Reality systems. This made the term Virtual Reality a mocked term for the majority of the public, making many of the scientists in the Virtual Reality field to change the terminology to Virtual Environments. While most scientists in this field prefer to call it Virtual Environments, the two terms can be used interchangeably and will do so throughout the rest of the paper[3].

Levels

Most people think Virtual Reality is a fully immersive experience, but that is not true. The meaning of Virtual Reality is a Three Dimensional computer animated world which can be interacted with by a human. This means that simple popular games are already somewhat Virtual Reality. While there is debate upon the different levels of Virtual Reality, there are four that this paper will touch on: Immersive first-person, Mirror world, Chamber World, and Cyberspace[5].

Immersive first-person

This is what is usually seen as the generic Virtual Reality. This level of Virtual Reality uses a HMD, an audio system which provides three-dimensional sound (sometimes included with the HMD), and a tool to help interact with the computer world. This gives an immersive Virtual Reality experience which is given to the user in first person. Sometimes people add additional peripherals such as a treadmill interface to simulate walking or running, or suspending the HMD so that the user doesn't have to have the weight of the HMD attached directly to his or her head. This is the current most popular type of Virtual Reality and the biggest producer of HMD and most prominent figure in the HMD field would be the Oculus Rift[5].

How does it work?


Most immersive first-person HMDs work with the aid of either two displays or a single display split into two displays, one for each eye. Each display or micro display is then offset from the other in such a way that it fools a user's brain when rendering these images into three dimensions instead of the two given from the display.

Figure 1. Looking into a HMD (Oculus Rift shown)

The other part to HMDs is position trackers. These position trackers keep track of a user's head and the direction that it is facing to change the camera angle. This has to be near instantaneous or else the user will be forced out of the immersion by a camera that is behind a user's movements.


Figure 2. Directions of a head[8].

The last part to a HMD is the tool used to interact with the world. There are two main peripherals which are used. The first is a USB joystick, which fits well into the hand and has several buttons to interact with the world and move. The second still uses a joystick to move about the world but uses a glove peripheral which tracks the position of the hand wearing the glove to pick up and manipulate things within the environment.

How to program for HMDs

According to Oculus Rift's support site, there are only two things that need to be added or modified to a game to allow for HMD support. The first is the ability to integrate the motion tracking into a character's view to be able to look around the world. The second thing that needs to be done is implement stereoscopic 3D rendering and optical distortion adjustment that produces the correct left/right eye image on the device[9].

Mirror world

This type of Virtual Reality has the user as more of a second-person experience where a user wouldn't necessarily be inside the computer world but interacts with it as if he or she was there. The user sees an image of him or herself or an avatar that he or she create merged with the world by use of a video camera to capture movement of body gestures or facial features. This frees the user of touching anything either directly or indirectly since they have to wear nothing to see the world and they interact with it via body motions. The present day example of this technology at work would be the Kinect system for the Xbox 360. It uses multiple cameras to capture movement and position of hands and body to interact with the world created. This version of Virtual Reality is generally cheaper than immersive first-person since all that is needed is a single addition: the device itself[5].

Chamber World

The Chamber World is a small Virtual Reality secluded half room which is controlled by several projections which are each controlled by their own computer. Stepping into the room wearing a special eyewear lets a user see the images displayed on the walls to appear floating in front of them. This gives the user a sense of freer movement than the immersive first-person style of Virtual Reality since this allows the user to walk around the objects being displayed with the object updating to the user's direction of view and location within the room. The main terminology used for this kind of software are called Cave Automatic Virtual Environments(CAVEs)[5].

How does it work?

The CAVEs work by emitting displays onto separate walls of the room which means that all the lights in the area containing the CAVE have to be turned off and near blackness is needed for light. As previously mentioned, a CAVE consists of mainly three projectors (two side walls and back wall) which are all connected to a computer. Each computer then connects to a larger mainframe which controls each computer to create the 3D image.


Figure 3. A CAVE system

The users have to wear a special stereoscopic pair of glasses to help them see, but these are much lighter than that of their more common counterpart, the HMD. Instead of a joystick, the users either tell a person sitting at the central computer how they want to walk around or look around the area or by use of a wand similar to a Wii mote. This means that it has a tracking device at the tip of the wand to keep track of what a user is pointing at and it also includes arrow keys to move around and buttons to help interact with the world.

How to program a CAVE

Programming for a CAVE system is a little bit more difficult than programming for a HMD. The whole system has to be programmed using a 3D capable language which the most popular one would be OpenGL. Using OpenGL, the CAVE system considers the center of the floor as the zero point (the point at which the x, y, and z axis are all 0).


Figure 4. The zero point

Then, by utilizing the OpenGL library, a user can modify the image displayed by moving beyond it or below it allowing a user to move fully around an object and zoom to a specific location within the image displayed.

Figure 5. Basic code to move an object in 3D

The basis for moving objects in three-dimensional space is by modifying matrices. This is why you first push the matrix in the sample code. This pushed matrix is what all of the following calls will be applied to. The glRotatef will rotate the figure by the given angle into the x, y, z directions. The glTranslatef translates or moves the figure by a given amount of units given by the (x, y, z). The glColor3f changes the color of the figure by a given amount from 0 to 1 to the figures red(r), green(g), blue(b). After all the modifications to the figure, it will then pop the figure's matrix which will apply all the modifications to the figure and display it.

Cyberspace

While the term Cyberspace has some bad connotations, Cyberspace is just an artificial reality that can be visited simultaneously by many users. This already happens on a basic level when connecting to a favorite online game or website. There are already Multi-User Simulated Environments(MUSEs) currently established. Although most are for educational purposes, they are leading towards what Virtual Reality is trying to be. Other examples of Cyberspace include an electronic coffee house to link up to 60 people to a central location to talk, listen to music and performance art which can be conducted jointly. Another example is used by the Army to simulate war games called SIMNET. This is a tank simulator which is connected to others throughout the world where they would experience simulated real world combat with other people and radio traffic[5].

Conclusion

Virtual Reality's uses are becoming more and more varied as the technology grows from its infant stages of being an immersive movie experience. With the ever growing number of people who are interested in the field continue to research and strive for the Virtual Reality that we have all envisioned, the uses for it become greater and greater. It seems that the day where many professions will be using Virtual Reality in their everyday life is not far off as it continues to grow and flourish.

References

[1]The Emerging Geographies of Virtual Worlds. Jonathan Taylor. Geographical Review , Vol. 87, No. 2, Cyberspace and Geographical Space (Apr., 1997), pp. 172-192.

[2]Strickland, Jonathan. "How Virtual Reality Works." HowStuffWorks. Web. 21 Sept. 2013. <http://electronics.howstuffworks.com/gadgets/other-gadgets/virtual-reality.htm>.

[3]Strickland, Jonathan. "How Virtual Reality Military Applications Work." HowStuffWorks. Web. 22 Sept. 2013. <http://science.howstuffworks.com/virtual-military.htm>.

[4]"Virtual Reality." Virtual Reality. Web. 21 Sept. 2013. <http://www.vrs.org.uk/>.

[5] McLellan, Hillary. "15.3 DIFFERENT KINDS OF VIRTUAL REALITY." 15.3 DIFFERENT KINDS OF VIRTUAL REALITY. McLellan Wyatt Digital, 7 June 2001. Web. 27 Oct. 2013. <http://learngen.org/~aust/EdTecheBooks/AECT_HANDBOOK96/15/15-03.html>.

[6] Pape, Dave, Carolina Cruz-Neira, and Marek Czernuszenko. "CAVE User's Guide." CAVE User's Guide. University of Illinois at Chicago, 11 May 1997. Web. 27 Oct. 2013. <http://www.cacr.caltech.edu/~slombey/id2/docs/guide.html>

[7] Introduction to Virtual Reality Visualization. Nobuaki Ohno, and Akira Kageyama. Advanced Methods for Space Simulations (2007), pp. 167-207.

[8] Musa, Talal. "The Amazing Video Game 'visor' That Transforms Games into Virtual Reality Worlds." Mail Online. Mail Online, 5 July 2013. Web. 27 Oct. 2013. <http://www.dailymail.co.uk/sciencetech/article-2356854/The-gaming-headset-transforms-video-games-virtual-reality-worlds.html>

[9] Phil. "What Are the Main Steps I Will Need to Take to Integrate Oculus Rift with My Game?" Oculus VR Support. Oculus VR, 12 July 2013. Web. 27 Oct. 2013. <https://support.oculusvr.com/entries/24794462-What-are-the-main-steps-I-will-need-to-take-to-integrate-Oculus-Rift-with-my-game->.