2 - Every Day is Halloween
Due 10/22/18 at 8:59pm Chicago
Project 1 focused on
Augmented Reality, looking and interacting with objects at the table-top
scale. This project is focused on immersive Virtual Reality at room
scale. This project will give you some experience with building virtual
worlds for people to move around in and interact with.
As this project is
due near the end of October we are going to do a Halloween themed
project, and in particular a VR Funhouse. This funhouse will have a
number of rooms = 1 X # of undergraduate students in the group + 2 X #
of graduate students in the group. The requirements given below in the
Implementation section are per room.
The user should be
able to move through a series of rooms, usually by walking or crawling,
but no teleporting. You may need to have some additional hallways or
foyers connecting the rooms which do not count towards the room totals.
As in any funhouse the guest can ward off danger, or move away from
danger, but cannot fight the danger, so no guns, no swords, no overt
weapons. The user is a human being with reasonable human
abilities. All of the rooms should belong to the same theme - it should
not look like n different people each did their own thing. That theme is
pretty flexible but
the funhouse should have G or PG level scares. It could be
classic funhouse scares, or maybe big insects, or high-school, or the
80s - it should be some fear that people relate to. While it has
potential for great fear, I am declaring this project a politics free
zone, so that topic is off limits. Note that unlike the real world, this
virtual funhouse does not need to be in enclosed spaces - it could take
place in a virtual outdoors, as long as the user is limited to moving in
a 3 m by 3m area. Be sure to make use of the full potential field of
view including the ground / floor and sky / ceiling.
The user should carry
some kind of light in one of their hands - this could be a torch, or a
flashlight, or a cellphone acting as a flashlight, or a camera that you
can trigger the flash on, or something similar. This object should make
some localized sounds (i.e. you hear the sound of the flash powering up,
or the sound of the flames of the torch). The user should be able to
carry things in their other hand that can help them make their way
through the funhouse. To move from room to room the user will need to do
some form of interaction, e.g. pick up a key and put it in the lock,
open a trap door, move some boards out of the way, break a window, using
virtual objects in one or both hands. This interaction should be
enjoyable / interesting / exciting / slightly challenging. Since this
funhouse is being built in VR it is most likely necessary to have the
user move through a series of rooms and hallways that would occupy the
same physical space in the real world - i.e. you are reusing the same
3x3 meter space for multiple rooms. With a 2 or 3 person team there
needs to be at least one time where the user needs to walk or crawl from
one room to another. With a 3 person team there needs to be at least one
time where the user needs to jump or fall from one room to another.
The funhouse should
include ambient audio (sounds or music) as well as sounds when the user
interacts with certain objects, or gets close to certain objects. The
Funhouse should have appropriate (likely scary) lighting.
The user should be
able to walk through your funhouse, so make sure you are leaving enough
If you want to see a
commercial version of this kind of interaction and space remapping, try
this YouTube video of Unseen Diplomacy - https://www.youtube.com/watch?time_continue=89&v=xzntLYGwWrM
Implementing the Project
project will be a group project and you should form groups of your
choice with 2 or 3 members. As soon as you have formed your group send
an email to andy so he can approve it.
will have a 3 meter by 3 meter (10 foot by 10 foot) area to work where
we demoed the VIVE apps in the classroom
To get a C on the project ...
- each room must have at least 10
- each room must have at least
one ambient sound or
- each room must have some
lighting (ambient or from an object)
- user is carrying a light
source that makes sounds
get a B you need to add to each room ...
- an additional 5 unique models
- add appropriate physics to at
least 5 objects in the scene
- create 2 unique models of your
own to put in the space
- add in 4 more sounds that are
triggered by the user moving close to certain objects in the scene
or interacting with certain objects
get an A you need to add to each room ...
- an additional 5 unique models
- add appropriate physics to at
least 5 more objects in the space
- create 3 more unique models of
your own to put in the space
careful when you are collecting or creating models for your space as
the polygons start to add up and you want to make sure you maintain a
good interactive frame rate in stereo on the classroom VIVE PC
Also, keep in mind that your objects can be at different scales - some
of them might be the size of tables that help fill the space but
others might be smaller objects on a table, but they all need to be
visible at some point (i.e. they could be hidden in drawers). You also
want to encourage the user to look around, so the ceiling and the
floor are also good places to put objects.
Note that there is a very 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 test on the actual hardware regularly.
that SteamVR was updated to version 2.0 earlier this month which
currently breaks VRTK compatibility. For now you should stick with
version 1.2.3 of the SteamVR Unity Plugin. All of the versions are
available on GitHub at
Turning in the Project
The classroom VIVE PC will have a folder
on the desktop named 491VRAR_Project 2. You should put a copy of your
executable and its associated data folder into a folder named after
you, and then put that folder into the 491VRAR_Project 2 folder. Be
sure to test and make sure your project runs well through the VIVE and
its controllers on that PC as that is where they will be shown in
class and officially graded.
You should create a set of public web pages (available to anyone for at
least the duration of the course) that describe your work on the
project. You can host your web pages at UIC (http://people.uic.edu)
or the provider of your choice, as long as they remain publicly
available to all. You can use any publicly available templates as long
as you cite them, or create your own.
These pages should include:
- description of how to use your
application and the things you can do with it
- links to all the source code and
any assets (models, textures) that you used along with instructions
on how to build your application on the classroom PC
- link to a zipped folder
containing your entire project which can be moved to the class PC to
list with images of the n models you used and the ones you created
for your application to make it easy to see that you have those n
models in your scene (one good way to do this is to take some high
resolution screen shots of your scene and put numbers next to each
of the models and then have a textual list showing where the
models came from or that they were created by you)
list of the sounds you used and their sources, or state that you
least a one page discussion of how you think this could be done
for real - that is, if you were going to try and make a product /
experience out of this, and make money, how would you create /
craft that experience (leaving out all of that pesky fund raising,
advertising, business side of things).
all of which should have plenty of screenshots with meaningful
captions. Web pages like this can be very helpful later on in helping
you build up a portfolio of your work when you start looking for a job
so please put some effort into it.
You should also create a 2-3 minute YouTube video showing the use of
your application including narration with decent audio quality. That
video should be in a very obvious place on your main project web page.
The easiest way to do this is to interact with the video in the
classroom or the EVL main lab in front of the tiled LCD screen showing
what you are seeing - this way people watching can see you interacting
and what you are seeing. You can try to narrate while interacting but
you will most likely find its useful to do some editing afterwards to
tighten the video up.
The web page including screen snapshots and video need to be done by the
deadline so be sure to leave enough time to get that work done. Once you
have your webpage done, send the URL to Andy before the deadline. I will
respond to this email as your 'receipt'. I will be linking your web page
to the course notes so please send me a nice representative jpg or png
image of your application for the web. This should be named
p2.<your_last_name>.pg or p2.<your_last_name>.png and be
roughly 1024 x 768 in size.
the project is done, each person in a group should also send Andy a
private email with no one else CC'd ranking your coworkers and
yourself on the project on a scale from 1 (low) to 5 (high) in terms
of how good a coworker they were on the project. If you never want to
work with them again, give them a 1. If this person would be a first
choice for a partner on a future project then give them a 5. If they
did what was expected but nothing particularly good or bad then give
them a 3. By default your score should be 3 unless you have a
particular reason to increase or decrease the number. Please confine
your responses to 1, 2, 3, 4, 5 and no 1/3ds or .5s please.
Presenting the Project
An important part of creating VR applications is getting feedback and
using it to improve your design.
We will be spending time in class for each person to show off their
work. Given the number of
groups, each group will have <5> minutes to present their project,
and then we will have 8 minutes for questions from the other groups.
updated 10/7/18 - more groups formed
added more specificity to the B and A range
- Added link to Unseen Diplomacy video
- added note about current VRTK incompatibilities with SteamVR 2.0