Hrvoje Benko                                                                  Virtual Environments / CSC 498

Daniel Goldshlack                                                                                             May 2, 2001

 

WIM Project Final Report

 

Accomplished tasks:

 

  1. Created a building structure with 3 floors, each containing 3 rooms:
    1. Split the world file into multiple files to allow for easier abstraction and tree manipulation (for example WIM.world, level.world, room.world, walls.world)
    2. Complex objects that represent a floor must begin with “level” to be correctly used by the WIM.
    3. Complex objects that represent a room must begin with “room” to be correctly used by the WIM.
  2. Three trackers are implemented:
    1. one for the HMD
    2. one for the mouse, which controls the WIM position
    3. one for the stylus, which is used for the interaction hand
  3. The WIM aligns itself to the real world at all times to keep a consistent view of the user’s position.
  4. Implemented an avatar representation of the user in the WIM to show current position. (currently using the HMD object (HMD.obj) as the avatar)
  5. Implemented gaze-directed movement, activated by right mouse button.
  6. Implemented multiple modes of WIM viewing, activated by left mouse button:
    1. Single Room View
    2. Floor Level View
    3. Building View
    4. WIM Off
  7. Added two levels of material transparency, transparent or invisible
    1. Each mode of the WIM view applies a texture to parts of the WIM
    2. Other levels are invisible in single room and floor level view, and transparent in building view.
    3. Other rooms are invisible in single room view, transparent in level view, and visible in building view.
  8. Implemented interaction with objects in the “real world” that are marked as selectable in the world file, activated by the stylus button.
  9. Implemented interaction with the avatar representation of the user in the WIM to facilitate movement in the real world.
  10. Using the WIM severely degrades the frame rate, so we optimized it to only update if the user moves outside of a sphere centered on his location from the last update; this makes it impossible to keep the avatar represented in the WIM to be correctly oriented at all times, as this would defeat the purpose of the optimization.
  11. The WIM is recommended to be in “Off Mode” for gaze-directed movement in the real world.

Project Difficulties:

 

  1. Creating a world model that would look correct when displayed in miniature
  2. Creating an algorithm for applying the correct material to the correct part of the model in the different viewing modes
  3. Figuring out which transformation matrix to use for moving the real user based on the movement of the avatar.
  4. Optimization of the code to get an adequate frame rate most of the time

 

Program Location and Instructions

 

  1. Files are located at C:\users\hrb3
  2. Workspace named WIM.dsw
  3. The following user options are command-line enabled:
    1. v – HMD on <off by default> (enabled in the workspace currently)
    2. l – user lights

 

Conclusions:

 

  1. We accomplished all the goals that we set for ourselves in the project proposal.
  2. Further work could be to implement the WIM as an SVE widget.