2020 Project 1 - Strawberry Fields Forever

Due 2/17/20 at 8:59pm Chicago time


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 ...

To get a B you need to add ...

To get an A you need to add ...
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.

In order to run on the VIVE in the main lab you should be able to move your source code onto that machine, set omicron to configure for the VIVE, and playing it should play on the headset. There are instructions for getting your project to work in CAVE2 at https://github.com/uic-evl/omicron-unity/wiki/Guide-for-running-Unity-in-CAVE2#building-on-cave2

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:

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