1 we showed off a bunch of different sample VR / AR worlds, so
this week we are going to talk about how to build them, in
particular with respect to Project 1.
first lets talk about the Course Syllabus and Project 1 in some
first two projects (of three) in the class we will be using
Unity3D so people can share experiences and issues. For the
third project people will be (reasonably) free to choose your
own engine and display platform.
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 wont work for the final deployment.
In the lab, there is one VIVE in the main lab, and one in the
classroom, both connected to Windows PCs.
should stick with Unity version 5.5.0 for now so you are
compatible across various platforms. You should start with the
Unity 5.5.0 Unity Installer, and have it install Unity 5.5.0f3,
the Documentation, Standard Assets, and Windows Build Support as
we will be running the projects on a windows PC in the lab. If
you are on a non-windows machine and forget to install the
Windows Build Support, you can come back and install it later
from the same Install Utility. Be prepared to lose 4-5 gigabytes
of disc space. You can have multiple versions of Unity installed
at the same time in different directories in case you need to
install the latest version for use in the game class.
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 (say in the Video
tutorials at https://unity3d.com/learn are a good place
to start learning the Unity3D IDE.
tutorial is a pretty good one for getting started with Unity and
the VIVE - https://www.raywenderlich.com/149239/htc-vive-tutorial-unity
showing grabbing and tossing objects, pointing, and teleportation. Its particularly good if you have access to a headset and can go through the tutorial bit by bit adding new features as you go. Since this tutorial was written with an earlier version of the SteamVR libraries you will probably be asked to re-import those libraries when you try and open the project. You may need to first delete the current SteamVR asset folder and then re-import it, but then it should work fine with the latest SteamVR. Many of these features are already integrated into the sample Project 2 code (later pointer, teleporting, basic physics) and here you can see how they were implemented.
also now starting to see browser-based VR solutions such as
A-Frame and WebVR- https://mozvr.com/
so this or the Unreal engine may be things to consider for
applications a commonly used cross platform open source library
is the ARToolkit - https://www.artoolkit.org/ which includes
a Unity package, but its recommended that you download the
latest files from Git https://github.com/artoolkit/arunity5
as the web page links haven't been updated in a while. There is
a nice description at https://archive.artoolkit.org/documentation/doku.php?id=6_Unity:unity_getting_started
will also be releasing their ARKit soon - https://developer.apple.com/arkit/
so these libraries may also be things to consider for project 3.
Google just released their ARCore - https://www.blog.google/products/google-vr/arcore-augmented-reality-android-scale/
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.
a nice page on importing google SketchUp into unity3d
important thing to keep in mind with VR is that, unlike other
media, the size of the screen does not affect the size of the
objects in the world. If you are watching a movie then
Humphrey Bogart or Lego Batman may vary from an inch tall to 100
feet tall depending on the display you are watching it on. In VR
the display is a window into the virtual world, and changing the
size of the window just gives you a bigger or smaller window, it
doesn't change the size of the things the window looks out on.
Scale is absolute in VR, so at some point the environment you
create ends up being scaled in units of feet or meters for
people to move around in. Similarly there are various image
based tricks that can be used in 2D or even 3D movies, that
don't work in VR where the space is really 3D.
In this course you will be doing a lot of work with Unity and the content generation tools so make sure you have access to a decent computer that can run these pieces of software.
History of VR and AR