Project 1 - Our House

Due Monday 2/16 at 8:59pm Chicago time

The purpose of this project is to give you experience using VR to build and interact with a simple 3D environment - in this case a small house.

For this project you will use OmegaLib as the VR library. You should be able to do much of the work on your project from a laptop or desktop computer, but you should be sure to allow for enough time to test and refine your project in the CAVE2 and on the Rift. For the third project you can choose the platform of your choice.

One of the most common uses for VR is walkthroughs of architectural spaces.

Each person will start with the same basic house model.

You will personalize this model by removing some parts, adding other parts, changing the colors and textures, and adding appropriate audio. Pick a decade (60s, 80s, the future is legal as well) and re-decorate the house with models that you find on the web (that are legal for you to use) or ones you create yourself appropriate for that time, or pick a theme (Curling enthusiast, Film Noir buff, etc). Feel free to take your concept to the extreme, but please keep your space rated PG and family friendly.

To get a C on the project ...

To get a B you need to add ...

To get an A you need to add ...

Also note that there is a big difference between getting something working and getting it working well. The first is not that hard. The second takes much more time. You are expected to have things working well so be sure to allocate time to test out your project in CAVE2 and on the Rift. Make sure the user can see you world with a high enough frame rate (at least 15 fps), and that the models do not flicker or have missing sides.

Here is some python OmegaLib code to get you started. This code adds in the default house model, puts it at the correct location, orientation, and scale for CAVE2 and Rift. It also has basic lights and sounds, and enforces collision on the floor, walls, and objects.

The default model comes from here:
though I have added some missing polygons, added a few more textures, made sure the colors work in OmegaLib, removed the automobile, and opened all the doors wider so they are easier to walk through.

You can download Sketchup from From

You can browse the 3dwarehouse models from a web browser or from within Sketchup. Once you load one in and modify it to your liking  you will want to Export a 3D Model. To do this set the Format to COLLADA File (*.dae), check the options so that you are Exporting Two-Sided Faces, Triangulate All Faces, Export Hidden Geometry (if you want things like the roof in the house), Preserve Component Hierarchies, and Export Texture Maps. It would be nice to Export Edges since the house model uses them in the kitchen but those don't translate well, so leave that off.

Now you have a .dae file and you need to convert it to .fbx. The best way to do that is to get and use Autodesk FBX Converter (, available as both a command line tool and one with a GUI. The latest version is from 2013 but seems to work fine.

You can then load the model from within OmegaLib and see if everything made it out OK. Do this often.

One thing I noticed in Sketchup is that by default the wall colors weren't being exported from the original model, so I needed to set the both the front and back color of the walls to the color I wanted. The only other export issue I had was not being able to get the lines to export for the stove top in the kitchen.

You can use other modelling programs if you prefer. I think Sketchup is at a nice level of power and simplicity for this work.

I will be holding office hours after class in the evl main lab with CAVE2 and the Rift so people will have some time to test out your work. These sessions tend to get very busy near the deadline so its a good idea to start early.

To turn in your project you should set up a web page with several pages describing your work, including the well-commented source code and required files to be able run your program in the cave and rift, and some photographs showing what your application looks like when its running. You should then email andy with the location of this website before the deadline. It would probably be a good idea to put a backup copy of the web page at a second website just in case I can't get to the first one.

These webpages should include:

all of which should have plenty of screenshots or photographs with meaningful captions.

Be sure to document any external libraries or tools that you make use of - give credit where credit is due.

You should also create a 2-3 minute YouTube video in the CAVE or using screen capture showing your application running and feature the video prominently on your project webpage. The video should be narrated and rehearsed to show off the important features of your project.

Remember that this website may be useful to you later on when you are looking for a job and want to show off the projects you have done.

When you send andy the location of your webpage you should also email a scaled down version of your favorite photo in jpg or png format named p1.<your_last_name>.jpg/.png. This image will be used on the class web pages along with the link to your project web page.

Each student will also give a short demonstration about your project in-class and answer some questions about your work. Be sure to practice your presentation so you finish within the allotted time so everyone has equal time to present.

last revision 1/18/15