Ethan Blackwelder, Siddarth Garg & Shayan Javed

Virtual Environments - Spring 2009 Project 4

Project: To create a Virtual Reality experience where you imitate the TV show "Curb Appeal". User is given a house with an empty front and backyard, and using a new interface the user places multiple objects around the scene. User basically does landscaping.
Download link to source code: Project 4 [Requires OgreSDK and OpenAL]
Download link to the presentation: Presentation


To provide a simple and easy to use interface to people interested in landscaping around their house. The virtual environment will allow the users to place objects like trees, plants, flowers, chairs, basketball courts, etc. around their front and backyards so that they can plan their house accordingly.


Here are some example screenshots of a user who ran through our program:

User 2:

User 3:


-A Nintendo Wiimote is used to do finger and glove tracking. A nunchuk is also connected so that the user can use the "C" and "Z" buttons on it. By just pointing one finger at the screen the user can select models to place from a menu or select them on the scene.
-Using the reflective object on the glove the user can use that in tandem with the tracked finger to place and rotate objects around the scene. Placement: Midpoint of the two tracked points is where the object is placed. Rotation: Rotation is done by changing the "angle" between the two points.
-The joystick on the nunchuk is used for navigation around the scene.
-Pic of the Wiimote + IR LED setup:

How It Worked:

-User starts off looking at the house and the front and backyard are empty.
-By pointing one finger at the screen the user can select models from the "models" menu. -Place a model by clicking on one of the icons. -Place/rotate the model by using the interface. -Press "C" on the nunchuk to be "done" with the model. -Trash can icon allows user to delete the selected model. -The camera icon takes a screenshot of the scene so the user can look at it later.


How it was done:

Head-tracking (Fishtank)

User wears a cap fitted with 3 reflective balls which track the user's head position. This gives the user a "fishtank" view, as the user can move side to side, forward/back, up/down and it changes the view of the scene accordingly.


A regular projector projected onto a wall at a resolution of 1024 X 768.

Scene setup:

-Scene created using models found on Google warehouse.
-The Ogre game engine was used to render and manage the whole scene.
-OpenAL library used for audio. Sounds used were: "Clicks" on the menu, "Camera click" for creating a screenshot and "trash" sound when an object is deleted.
-Barrier setup in exactly the same place as the real world. (well, almost).

Future Work

-Let user dynamically search for models from Google 3D warehouse.
-Add shadows. They were added, but it slowed down the system
-Change from day/evening options.
-Placing/editing house textures.
-Editing/painting the house and porch meshes.