CS 497 Project
Paul Rajlich
Description:
To work with navigation in a larger-than-CAVE world using Inventor.
The idea here is to have a scene graph with everything in it,
including the user. The user will have to be encapsulated as
a node and added to the scene graph. Ordinarily, you would
navigate using CaveNavTransform:
CAVENavTransform();
...
render->apply(wall);
But this won't work here because you don't want to apply the
transform to the user. So, instead, I will do the necessary
navigation transforms within the scene-graph. These will then
be applied to the subtree which contains the virtual larger-than-CAVE
world.
The user will
maintain information about where in the world the user is and
what direction the user is looking in. This will determine the
navigation transform and will also allow the user to perform
actions that affect that world.
At this point, your probably wondering what all of this has to
do with the monster at the top of this page. I'm going to try
to implement this in the context of a DOOM-like environment. This is
because I have an Inventor file for a DOOM level which I got from
Vijay's homepage. Minimally,
the player will be able to navigate through a doom level. To that
I will try to add some interaction, such as a bazooka from which the
player can fire projectiles, and perhaps even collision detection
so that the user can't go through walls.
This is interesting
because the bazooka may be rendered in CAVE coordinates, but when it
fires, it has to add a projectile at the correct location
in the virtual world coordinates so that the projectile becomes
independent from the user.
Timeline:
- before Nov. 11:
simple navigation using Inventor transforms instead of
CAVENavTransform.
- before Thanksgiving:
user interaction with world (e.g. bazooka)
- before end of semester:
add as much as possible: collision detection, automatic
climbing of stairs, perhaps even monsters.
Evaluation:
- To get a B:
demonstrate that I have learned how to use Inventor by
adding the navigation transforms to the world scene-graph.
- To get an A:
provide some sort of interaction between the user and the
virtual world using Inventor. Add the user as a node to
the scene-graph and provide some interaction between that node and the
world (e.g. the bazooka).
Paul Rajlich
Last modified: Tue Dec 10 20:57:47 CST