The purpose of this project is to give you experience building a
VR world and then navigating through it, and interacting with it, on a
variety of platforms with a virtual world that you can compare to the real
world.
Project 1 is an individual project
The corner of Taylor and Morgan UIC is the
Harry W Pearce Memorial Grove.The grove has been used for many things -
walking, resting, playing soccer and frisbee. Decades ago evl placed a
giant inflatable TV in the grove. In 2020 the new Computer Science
building will start to be built on the side of the grove. This first
project will allow you to re-imagine this space in the near future. What
would you like to see placed here, without removing anything that is
currently there. You need to keep the space welcoming to the community, so
no putting back the fences.
You could add in a fountain, or a hedge maze,
or a sculpture garden, or a Japanese garden, or have a protest or a small
concert or mini comic-con or a farmers market. You could do projection
mapping onto SEO, or hang huge banners or a zip line from the building,
you could have lighted drones flying overhead in formations, or big
balloons. But there should be a consistent theme, and it should be G or PG
rated. IT should also be something that is currently technologically
realistic.
At
http://www.evl.uic.edu/aej/528/Chicago-UIC.zip you can find a Unity3D
project that includes a model of the grove and other parts of the campus
and city. It includes the code necessary to run this application in our
CAVE2 or VIVE or in simulator mode on your laptop or desktop computer, and
allows you to navigate through the world and do basic interactions. Thank
Arthur for this.
The first thing you should do is get Blender
2.79b installed on your development machine since Unity will need it to
convert 3D models and you may want to use it to create new 3D models. This
is not the current version of blender so you will need to dig into the
list of older versions.
Then get Unity installed. In order to be
compatible across various hardware platforms you need to use an earlier
version of Unity - 2019.2.11. If you are taking other classes that make
use of Unity (e.g. the Video Game course) you can have multiple different
versions of Unity on your computer at the same time through Unity Hub. If
you want to install an older version of Unity then Unity Hub will direct
you through your favorite web browser to choose it.
Then you should load in the starting scene
file for the project. You can drag in the scene for the UIC SEO Grove
(Assets / UIC / UIC SEO Grove) and then remove the default (mostly empty)
scene. If the scene runs too slow on your machine you could temporarily
hide some of the scene elements during development such as SEL-ERF,
SEO-Details, SEL-Details, Lecture Center D, COE-Campus, Campus, SEO, and
Chicago. You should rename your project to include your name so its easy
to tell whose project is whose and we don't have 15 projects with an
identical 'Project 2' name.
There is another scene called Cube World
Example located in module-omicron/CAVE2/Scenes that has some nice examples
of simple physics and implementing a button in the scene.
To get a C on the project ...
The user should be able to fly or walk through the grove at 1:1
scale in CAVE2 and the VIVE, though particular controls may be
different in the two platforms. This should be the default in the
scene you start with.
In walking mode the user should be able to keep their feet on the
ground or be able to stand on top of objects, but they should not
float in the air or fall through the ground or objects. This should be
the default in the scene you start with if you turn 'walk' on.
Add 20 new objects into the scene (5 of those models you should
create yourself).
Add at least 5 sounds into the space. At least two of these sounds
should get louder as the user gets closer to them. Others could be
general ambient sounds.
This scene can take place in daylight or night but the night scene
must be well lit with multiple realistic lights
There should be at least 10 life-size people in the grove, separate
from the other models. The people can be 3D or google style 'cardboard
cutouts'.
The user can start anywhere in the grove you think appropriate for
your scene.
To get a B you need to add ...
Create a menu (see https://github.com/uic-evl/omicron-unity/wiki/CAVE2-Unity-Tips-and-Examples)
to allow the user to switch between daylight and night and the scene
should react accordingly with lights turning on at night and both the
daylight and night scenes being interesting and enjoyable spaces,
though not necessarily the same space - this will mean creating
another group of 20 models (5 of those models you should create
yourself) for the other time of day / night and adding in several
lights if you did not have them before. If you want you can have all
40 models in both the day and night scenes if appropriate.
Add another 5 sounds into the space appropriate to the other time of
day.
You should be able to go up to at least 3 of the people and hear
them say something relevant to you as you get close
Add the ability for the user to interact with 2 items in the grove,
i.e. turn on a water fountain, etc.
To get an A you need to add ...
Create a menu to allow the user to teleport to 4 different areas of
the scene.
Impress Me
When thinking about adding objects into the
scene, think about different scales. Some objects could be much larger
than a person, others at human scale, and others much smaller. Being able
to walk around objects at all those different scales helps create a more
interesting world - i.e. you could have a couple people playing chess next
to a big fountain - there is a lot of detail with the pieces on the chess
board but the larger fountain has less small details.
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 VIVE.
Make sure the user can see you world with a
high enough constant frame rate (at least 30 fps), and that the models do
not flicker or have missing sides.
I will be holding office hours after class in the evl main lab with
CAVE2 and the VIVE 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 links to GitHub for the well-commented
source code and required files to be able run your program in CAVE2 and
VIVE, 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.
At
minimum you will be using git to turn in your code, but I would also
recommend regularly updating your code on git so there is some external
proof of when you submitted, as well as having backup copies at various
checkpoints. Git can also be useful in its typical role for group
projects, though that does require some tweaks for it to play nice with
unity. Note that git can also be a nice place to store a copy of your
website files to prove they were done on time, and you can host your
website for your project on git as well if you prefer. Note that I would
not rely solely on Git for backing up your projects - keep multiple
backups in multiple places.
You
should also get your code onto the CAVE2 PC and the main lab VIVE PC before the demo day.
These web pages should include:
1 page on how to use your
application and the things you can do with it.
1 page on the data (models,
sounds, images, etc) you used including where you got it, what you did
to it, including an enumerated 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 and author credits or that they
were created by you)
1 page with links to the
source code and any instructions necessary to install and run it.
2 pages on the contrast
between the CAVE2 and the VIVE and the real world for your
application. How do the two VR platforms compare to being in the
actual grove? When would each platform be most appropriate to use.
What changes do you need to make in your app for each platform for the
app to work better on that platform?
all of which should have plenty of screenshots or
photographs with meaningful captions.
Be sure to document any external libraries, tools, media 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 VIVE 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 5 minute demonstration about your project
followed by a 5 minute discussion in-class in CAVE2 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/24/20 - updated details on the project demonstrations