Prototyping the first environment

The previous chapter explained why we chose to use prototyping for building the first environment. This section will show the modifications made to the elevator to give the best height sensation possible and still have the application respond quickly to the movement of the user.

The first model of the elevator was a simple model of the inside of the building with floors passing by and a nice railing on each of these floors (see Figure 6.7). This model looked very promising but the response to movements of the user was not fast enough. When checking the complexity of the scene, it turned out that the railings contained half of the polygons.


Figure 6.7: elevator model with
railings on the floors

Removing the railing and simplifying the model of the building improved the response to the users movement. To improve the sensation of height, the outside walls were removed. The users were told that the walls were made out of glass. This left only the floors. Outside of the building, a model of the city of Atlanta was placed (see Figure 6.8). This increased the sensation of height. When the model of the city of Atlanta was inserted, the environment slowed down again, and felt sluggish to the user.


Figure 6.8: Looking at Atlanta

The city of Atlanta was removed and the rest of the building was kept the same, thus no railings and no outside walls. Most effort was now put in creating the sensation of height inside the building. At the bottom across from the elevator a, small restaurant scene was put in the building (see Figure 6.9). When moving up, the scene disappeared out of sight. This turned out to be cheap in the number of polygons and gave a good height sensation when moving up the first few floors.


Figure 6.9: Looking at a
restaurant

Using the same principle as the small restaurant close to the elevator, a couple of palm trees were added at the end of the floor. These should be visible longer (see Figure 6.10). Also the floor number was added to help the user to tell which floor he was on. This floor number did not correspond to the actual number of floors passing by but was a function dependent on the height of the elevator. All the users believed that this number represented the actual floor number.


Figure 6.10: Palms and floor
number

Changes were not only made to the environment, but also to the software library used to build the environments. Changes to the library were immediately used when building the environments. The first major change to the library that was used in the environment was the addition of texture mapping. This made it easier to model a complex scene. Instead of modelling the whole scene, which is very expensive in the number of polygons, the scene could be modeled using one polygon with a texture map on top of it. This is used in numerous places, the most visible is the floor (see Figure 6.11).


Figure 6.11: View of the floor
before/after texture mapping

Another major change to the software library was the addition of light. Previously, there were no color differences visible. Now it was possible to specify where the light was coming from. Objects were colored according to their relation to the light source. This made it easier to see shapes (see Figure 6.12)


Figure 6.12: View of the
elevator before/after shading

More and more objects were added at different height levels so that the user was always passing an object. Seeing objects disappear was an easy way to give a sensation of height. Objects we placed at different heights are: chandeliers and a painting. Eventually three chandeliers were placed inside the building, two in front of the elevator and one to the back. About halfway up, an enormous painting was placed (see Figure 6.13).

The scene on this painting was a texture map and could easily be replaced. This was a nice feature that we used when a demo was given to people from Coca Cola. Instead of the normal painting, we placed a Coke bear winking at the people riding the elevator.


Figure 6.13: Looking at the
painting

Up until this point, the glass elevator had been floating in space. Some people had noticed this but it did not disturb any one. To overcome this and to add some more sensation of height, we added four railings that ran from the bottom to the top of the building. Each of these railing was at the corner of the elevator and it looked like the elevator was moving in between them (see Figure 6.14). When looking up or down, the user could see the railings come together, adding to the sensation of height


Figure 6.14: The elevator before/after adding railings

A three button user interface

The elevator has a very simple user interface, or at least it was thought to be simple. It had three buttons, one to move the elevator up, one to move the elevator down, and one to stop the elevator. It became clear when we tested the elevator that this interface was not as simple as we thought it would be. This section will describe the changes we made to the user interface and explain these changes.

The first design had the buttons placed one on top of the other (see Figure 6.15). When designing the application, we tested the interface ourselves and it seemed to work. When testing the application with other people, it turned out that smaller people had a hard time reaching the top button.


Figure 6.15: buttons on top of
each other

To overcome the problem of the top button being unreachable, all of the buttons were placed next to each other in front of the user (see Figure 6.16). Now everybody could reach all of the buttons. During testing, this turned out to work well. Everybody could reach the buttons easily and could, after a little while, find them without looking. A new problem arose however. When the user was moving up or down and wanted to look down, he grabbed the railing of the mock-up elevator. Most of the users grabbed the railing in the middle and, while looking down, accidentally pushed the stop button.


Figure 6.16: The controls next
to each other

The final modification made to the user interface was the removal of the stop button in front of the user. The stop button was placed both to the left and to the right of the user (see Figure 6.17). The user could now lean forward without stopping the elevator and stop the elevator by sticking his hand out to either the left or right. After a little while, most people could stop the elevator without looking left or right.


Figure 6.17: Stop button on
side bar

Evaluating first environment

Building the elevator helped to get some idea about the factors that were important for building height situations. This section will group these factors together in two groups: important to height, important to virtual environments in general. This information was used later while building other environments. First, however, some of the changes that were made to the semantical design, and syntactical design will be discussed. Conceptual design and lexical design did not change and will not be discussed.

Changes to semantical design

The Marriott Marquis was first modeled as a building with closed walls. During one of the changes, the walls were removed to give the user a better look outside the building. The walls did not come back when more changes were made to the model. This made the model of the building simpler. The people did believe the explanation of glass walls. Maybe, it would be possible to mount the elevator to the outside of a high building.

The building was modelled after the Marriott Marquis in downtown Atlanta. The success of this became apparent when people recognized the building. This later helped the sensation of height because people could recognize the building and understand how high it really was. Adding floors to the model would also help the user. Seeing the floors pass by when the elevator went up helped the user with the sensation of height.

Changes to syntactical design

During testing, and later during the experiment, it turned out that sometimes the operator could help the user with finding the buttons. The "flock of birds" tended to overheat after a longer period of use and return incorrect data. This incorrect data made it harder for the user to push the buttons. The operator could push the desired button when the user was close enough.

The idea of the function "allow control" was, when implementing, that the user would have no control over the elevator. The psychologist could then tell the operator to move the elevator to a certain floor, and stop there. During testing, and later during the experiment, it was mainly used to prevent the user from accidently pushing a button, when looking around.

The function to hide the elevator was only used once, to test the level of presence. This scared the user enormously and might have given him acrophobia. Later, this function was only used to demonstrate the capabilities of the SVE toolkit to modify the environment.

The function to change the speed of the elevator was hardly used. Most people were satisfied with the default speed. Again, this function was used only to show the capabilities of the SVE toolkit and the elevator. Some people did not believe we could unlimitedly speed up the elevator.

Height clues

Use objects close by and far away. Having objects disappear behind other objects (this was learned from the city of Atlanta model) and having objects in the foreground disappear faster than objects far away (restaurant and palm trees) gave a good impression of height. This is also visible in the real world when travelling by car. Objects close by move past us faster, while the moon, for instance, stays with us.

Use well known objects. Objects that can be recognized help to increase the sense of height. For instance, many people recognized the Marriott Marquis building that was modelled and knew how high the building really was. It was already shown in Chapter 2 that this can help with presence.

Use objects at different heights. Not only objects at ground level should be visible. While moving up, the user should still be able to see objects in front of him. With the elevator, this was accomplished by hanging chandeliers from the ceiling and having a painting hanging across the building. With the Atlanta model, this was not necessary because the model was so large that the user would always see some part of Atlanta ahead of him.

Use vanishing points. When looking in any direction objects will disappear to a point. This is especially visible using two parallel lines, the further away these lines are, the closer they appear to be to each other. The elevator used this with the railing running from the ceiling down to the bottom.

General clues

Use simple models. When building models, it is very important to make the model as simple as possible but still have it contain all its characteristics. When modelling the building, it was not necessary to put in all the railings and the walls. The floors were enough to give the impression of a building.

Use texture mapping where possible. The hardware used, an SGI Reality Engine, could do the texture mapping in hardware and it did not cost much computing power to use it. The texture mapping can help enormously to increase the level of realness and it hardly costs any polygons. There is a limit, however, to texture mapping. The moment this limit is reached the performance goes down very quickly.

Use light sources to add real shading to the model. Another feature of most SGI computers is that shading is done in hardware. Using the position of a light source, the computer calculates the right color and uses it to paint the objects. Again this feature is free and should be used as much as possible.

Use inexpensive gadgets to increases the realness of the environment. Use of inexpensive gadgets, such as the mock-up of the elevator, can help to increase the realness of the environment. It would be nice if the other environments could use this same mock-up to give some tactile feedback to the user.

Use other people to test. Have other people test your environment while building it. When you build an environment, you get to know it too well and know about its limitations. When you test it, you might forget about these limitations. Other people will not know about these limitations and find them for you. This became apparent when testing the user interface.

Second environment

The second environment built was that of a high building with a couple of balconies attached to it. The user had no control over the height and placement of these balconies. The operator could "teleport" the user from one balcony to the other. When the operator pressed the right button, the user was instantaneously moved from one balcony to the other. There was nothing in between the different balconies. You could move from one balcony to any other balcony.

When looking around the user could see mountains far away, a texture map, and a city in front of him, buildings far away and close by and of different heights. In between these buildings, roads were visible and some of them disappeared towards the mountains.

The same mock-up used for the elevator was used here again. In fact, the same model without the buttons was even used. The user could now feel the railings of the balcony and lean over them when looking down.

To assist the user in recognizing height, the building used for the elevator was placed in this environment, this time with walls. To help the students that came from Georgia Tech, a model of Tech Tower was added. Tech Tower is, besides Buzz, a popular symbol of Georgia Tech and most students have seen it for real and know high it is.

This environment was also tested with other people. Unlike the elevator, where many dozens of people had tested it, the balconies were only tested by the psychologists running the experiment.

Third environment

The final environment used was that of bridges in a canyon. The user stood on a bridge in a canyon and could see walls rising up both on the left and right of him. Underneath him ran a small river that was visible to the front and back of him.

Both the walls of the canyon and the river were texture mapped. Two out of the three bridges were also texture mapped. The lowest bridge did not use texture mapping. To make this bridge look real, a light source was placed close to the bridge, so that the use of shading would make up for the texture maps missing.

The same mock-up as in the other two environments was used here as well, although it did not match what the user saw. Here it was more used to constrain the user to stay inside the range of the tracker and to give him something to hold on to.

All of the models used were very simple, which made this environment the most responsive to the user. The user could see nothing that was outside the canyon. Inside the canyon, only the other bridges were visible. The user could see the next bridge he would be "teleported" to. Like the balconies, the user had again no control over the environment.

Unlike the other models, the bridges environment was not tested. The idea was to test this environment during the experiment and use it later in the experiment. The problem was that most of the people had selected the bridges environment as the least scary. This meant that they had to start with this environment first. A quick test was performed the morning of the first experiment, the results of this test were satisfactory and it was used.

After the first day of the experiment, the psychologists asked to close the slots of the first bridge since this caused some problems for people. They did not like the fact that they could look down through the slots. The rest of the model turned out to be working correctly.


Designing environment (1) Designing environment (3) TOC
Rob Kooper
kooper@cc.gatech.edu

Last modified: Wed Aug 9 12:24:39 GMT 1995