Week 1

Introduction to Virtual Reality and Demonstrations

Information about the Course


Much of the intro material is covered in my CS 428 notes, so I am going to do a quick overview of those in the next couple weeks

Before Next Class

Make sure you have a current copy of Chrome on your laptop

Make sure you have a working Wi-Fi connection to UIC WiFi

Create an image (jpg, png, pdf) with a photo of yourself, your name, and your interests related to this course

Next time at the beginning of class everyone will connect to the classroom wall, drag and drop their image onto the screen and give a brief 1 minute introduction so we can get to know each other a little bit.

so, for example I could show something like this:

We will all be using our SAGE software regularly in the class so be sure to bring your laptop with you to class each day.


For interacting with the CAVE2 display during our discussions we will be using SAGE2

For creating the VR worlds for the class we will be using Unity3D

There are various libraries that have been used to create virtual reality worlds, and most of them come and go after a few years as the technology landscape changes.

Personally, I have used a variety of languages and libraries to create VR applications:

With the newer consumer level devices a couple of the free big game development engines now support VR development.

For the first project in the class we will be using Unity3D so people can share experiences and issues. For the second project people will be (reasonably) free to choose your own engine and display platform and can also use unity for that project if you wish.

Unity3D runs on windows and OS-X so you can do much of your development on a laptop and then move over to a machine connected to a VR / AR display for testing. I highly suggest that you test on the actual hardware regularly so you don't go too far down a development path that won't work for the final deployment. In the main lab we have CAVE2 as well as one VIVE. We have a tracked 3D wall in the classroom and another VIVE, all connected to Windows PCs, though CAVE2 .

With Unity you will be using a combination of an IDE and writing C# code, so its a good idea to go through the introductory tutorials if you haven't used Unity before (e.g. in the CS Video Game course).

The tutorials at https://unity3d.com/learn are a good place to start learning the Unity3D IDE.

Content Generation Tools

Along with the main engine there are a variety of tools that can be used to create models, sounds, textures, etc. Here you are free to use the tools of your choice. The following are pretty decent free ones.

There are also various websites that provide Open Source / Royalty Free resources, just be sure to cite the creators and where you downloaded the model. There are several lists on-line, here is one.

Here a nice page on importing google SketchUp models into Unity3d, though grabbing the collada file usually works pretty well


We will be using GitHub for turning in the projects - https://github.com/

You should create a repository for each project.

Some Tutorials - https://git-scm.com/book/en/v1/Getting-Started-Git-Basics

Quick Command List - https://rogerdudler.github.io/git-guide/

GitHub and Unity - https://thoughtbot.com/blog/how-to-git-with-unity

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

Another place to host a website, if you don't have a public website already, is people.uic.edu (https://people.uic.edu/). You can use UIC's vpn (http://accc.uic.edu/service/vpn) along with 2 factor authentication (https://accc.uic.edu/tag/anyconnect) to mount this directory on your personal computer for ease of moving files around (smb://<yourID>.people.uic.edu/). You can use any other hosting service you wish, but these pages must be publicly viewable by everyone in the class at least until the end of the course. You can use any publicly available templates as long as you cite them, or create your own.

Coming Next Time

Overview of VR

last revision 1/16/2020 - updated the Unity version