Hrvoje Benko Virtual Environments / CSC 498
Daniel Goldshlack May 2, 2001
WIM Project Final Report
Accomplished tasks:
- Created
a building structure with 3 floors, each containing 3 rooms:
- 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)
- Complex
objects that represent a floor must begin with “level” to be correctly used
by the WIM.
- Complex
objects that represent a room must begin with “room” to be correctly used
by the WIM.
- Three
trackers are implemented:
- one
for the HMD
- one
for the mouse, which controls the WIM position
- one
for the stylus, which is used for the interaction hand
- The
WIM aligns itself to the real world at all times to keep a consistent view
of the user’s position.
- Implemented
an avatar representation of the user in the WIM to show current position.
(currently using the HMD object (HMD.obj) as the avatar)
- Implemented
gaze-directed movement, activated by right mouse button.
- Implemented
multiple modes of WIM viewing, activated by left mouse button:
- Single
Room View
- Floor
Level View
- Building
View
- WIM
Off
- Added
two levels of material transparency, transparent or invisible
- Each
mode of the WIM view applies a texture to parts of the WIM
- Other
levels are invisible in single room and floor level view, and transparent
in building view.
- Other
rooms are invisible in single room view, transparent in level view, and
visible in building view.
- Implemented
interaction with objects in the “real world” that are marked as selectable
in the world file, activated by the stylus button.
- Implemented
interaction with the avatar representation of the user in the WIM to
facilitate movement in the real world.
- 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.
- The
WIM is recommended to be in “Off Mode” for gaze-directed movement in the
real world.
Project Difficulties:
- Creating
a world model that would look correct when displayed in miniature
- Creating
an algorithm for applying the correct material to the correct part of the
model in the different viewing modes
- Figuring
out which transformation matrix to use for moving the real user based on
the movement of the avatar.
- Optimization
of the code to get an adequate frame rate most of the time
Program Location and Instructions
- Files
are located at C:\users\hrb3
- Workspace
named WIM.dsw
- The
following user options are command-line enabled:
- v –
HMD on <off by default> (enabled in the workspace currently)
- l –
user lights
Conclusions:
- We
accomplished all the goals that we set for ourselves in the project
proposal.
- Further
work could be to implement the WIM as an SVE widget.