|
This course uses the Unity Engine for VR development. If you have studied the 2nd course in this specialisation 3D Models for Virtual Reality you should already have had some experience of unity. If you haven't studied that course and are completely new to Unity, you might want to consider taking it before this course, but if you just want to dive in, we have collected together some of the information about how to get started in Unity for VR:
The Unity website lets you download unity (the personal edition is free):
One of the best things about unity is the documentation and community that will support your learning.
The "learn" section of the website contains a lot of tutorials and documentation:
The interface and essentials tutorials are a good starting point:
https://unity3d.com/learn/tutorials/topics/interface-essentials
and there is a dedicated set of VR tutorials (that includes some examples that we will refer to in this course):
https://unity3d.com/learn/tutorials/topics/virtual-reality
If there is a specific feature you need to learn about you can refer to the manual:
https://docs.unity3d.com/Manual/index.html
If none of these help there are a lot of community forums where you can ask questions of experienced unity developers (but search first, you question has probably already been answered)
You can download unity from their website (you can use the free Personal edition for everything in this course):
https://store.unity.com/?_ga=2.164012351.1826221989.1499533961-1785571284.1389631888
Unity is free and normally easy to set up on a relatively modern PC or Mac.
Once you have installed it, you can try the first tutorial to check that it works and you can use it:
https://unity3d.com/learn/tutorials/topics/interface-essentials/interface-overview?playlist=17090
Once you have started unity, you will get a splash screen that lets you open a project, you should select "new" in the top right hand corner.
The interface and Essentials set of tutorials are a good place to start deepening your understanding of how to use Unity:
https://unity3d.com/learn/tutorials/topics/interface-essentials/interface-overview?playlist=17090
This tutorial explains the idea of game objects:
This page of the documentation explains the types of primitive 3D objects:
https://docs.unity3d.com/Manual/PrimitiveObjects.html
and this tutorial goes deeper into meshes in Unity:
https://unity3d.com/learn/tutorials/topics/graphics/meshes?playlist=17102
You might also want to look at Prefabs, which are an important concept that will be useful to you later:
https://unity3d.com/learn/tutorials/topics/interface-essentials/prefabs-concept-usage?playlist=17090
Setting up Unity to work in VR is often quite straightforward, but there can be some difficulties based on what platforms you use.
If you run into problems this can be one of the hardest parts of all of VR development, but don't panic! You will be able to sort out the problem, and you might be able to fix it yourself, but don't feel like you are on your own. There is a lot of information available online, and you can often find the answer with a quick web search. But the best thing to do is use the community of learners on this course. If you are having troubles, ask questions on the forum. If you are having a problem, it is very likely that some one else will have had the same problem, and probably solve it. Even if not, other learners and our Teaching Assistants will be available to help.
When you set up your environment you need to think about two things:
This is the most obvious piece of hardware, but it also influences the software plugins that are needed. Luckily setting these up is mostly fairly straightforward, and will be explained below.
If you are using a high end system like an Oculus Rift, HTC VIVE or Windows MR headset, your app will run on the computer that you are using to develop it, and so it doesn't need any particular set up. You just need to make sure that your computer is capable of driving the headset. At the moment this probably means it has to be a high specification Windows machine as Mac and Linux are not really supported (though, at least for Mac, this is likely to change soon, given Apple's announcement in September).
For mobile VR the software will run on your phone. This makes it a bit more complex because your software is running on a different device from the computer you are developing on. It also means you need to have an extra set up step that let's you run software on the phone. This can be quite tricky, but it is something that all mobile game developers have to do, so there is quite a lot of information available about how to do it. We will go through the details below.
This section will guide you through setting up unity for the device you will be using to run VR, which will either be a PC or a mobile device.
This will involve 2 steps:
If you are developing on a PC for a tethered device like Oculus Rift or HTC VIVE you are in luck, there is very little to do. By default Unity is set up to develop for a PC and you don't need to install any extra software.
If you are developing for Windows Mixed Reality, you need to make sure that the build settings are correct, because it Windows MR only works on the latest version of Windows. You can find the instructions in the first part of this article:
https://developer.microsoft.com/en-us/windows/mixed-reality/unity_development_overview
Otherwise, the setup is easy, and you can skip to the next section on setting up VR.
You can set up an android phone for GearVR, Google Daydream or Google Cardboard development. This article gives an overview:
https://docs.unity3d.com/Manual/android-GettingStarted.html
and here:
https://docs.unity3d.com/Manual/android-sdksetup.html
For all of this to work, you need to selected the android build support option when you installed Unity. It should be selected by default, but if you didn't select it, you will need to re-install.
The first thing to do is install the android SDK, this is the software platform that allows you to develop for android devices on your computer. It works for all types of android development, not just unity, so it includes installing things that that seem quite distant from unity development, but don't worry. Once installed you don't need to worry about these other things, just unity.
The basic process is:
If you manage to do all of these steps you are ready to turn on VR mode (see below).
If you run into trouble look at this page and check you have followed all of the instructions.
https://docs.unity3d.com/Manual/android-sdksetup.html
Also, check this page that lists common problems and their solutions:
https://docs.unity3d.com/Manual/TroubleShootingAndroid.html
If all else fails, as we said above, try the course forums.
You can use an iPhone with Google Cardboard for VR development, if you have a Mac. This is the least well supported option, so we don't recommend it.
There is an overview of iOS development in Unity:
https://docs.unity3d.com/Manual/iphone-GettingStarted.html
For all of this to work, you need to selected the iOS build support option when you installed Unity. It should be selected by default, but if you didn't select it, you will need to re-install.
Setting up iOS development is similar to android, but you also have to set yourself up as an official iOS developer with apple (and pay). Which can be tricky.
The first thing you need to do is install Xcode from the mac app store. You won't be using it directly, but you need it to run apps on an iPhone.
Next, you need to register as an iOS developer. Unity provides some helpful instructions here:
https://docs.unity3d.com/Manual/iphone-accountsetup.html
Once you have Xcode, and an iOS developer account you can open File->Build Settings and select "iOS".
You can then plug in your iPhone to your Mac with a USB cable.
If you do that, pressing "play" in unity, will open up Xcode. This will build the project (which will take a long time, the first time you do it) and install it on the phone. At that point it will run on the phone. This will take quite a long time the firs time you do it, but be patient.
If it fails to run the first time, try hitting play again (it sometimes takes so long to build on the first run that it fails). If it fails a second time check out Unity's iOS trouble shooting page, or post your problem to the course forum.
If you have development set for your device, getting it working with VR is generally a lot simpler. It consists of two steps:
For more information, the VR tutorials section are a good place to start for VR mode:
https://unity3d.com/learn/tutorials/topics/virtual-reality
and in particular the getting started page (though it is a bit old):
The manual pages give more detailed instructions:
https://docs.unity3d.com/Manual/VirtualReality.html
https://docs.unity3d.com/Manual/VROverview.html
They give instructions on setting up a number of different VR devices:
Unity already comes with the Oculus SDK installed so you don't need to install any other software to develop for either Rift or GearVR. Just select "Oculus" in the SDK section when turning on VR mode (see above). If you are using GearVR, you need to make sure that you set up Android development as explained above.
You will need to have installed the Oculus software for the Rift, but you are likely to have done that when you first bought your Rift.
There is more information on the unity site:
https://docs.unity3d.com/Manual/VRDevices-Oculus.html
the oculus site also gives advice:
https://developer.oculus.com/documentation/unity/latest/concepts/book-unity-gsg/
To work with the HTC VIVE you need to use the OpenVR SDK, which is included. You will also need to install the Steam and SteamVR apps (but you probably have already done that if you own a VIVE)
Setting up OpenVR development is explained in more detail here:
https://docs.unity3d.com/Manual/VRDevices-OpenVR.html
The SteamVR package provides additional functionality.
https://www.assetstore.unity3d.com/en/?&_ga=2.236317057.1826221989.1499533961-1785571284.1389631888#!/content/32647
When you enable VR support you should choose the "OpenVR" SDK
Windows mixed reality is built into both Windows and Unity, but it is pretty recent (october 2017) so you need to make sure you have up to date versions of both. That means the Windows 10 Fall Creators Update 2017, or later and Unity version 2017.2 or later. You should select the "Windows Mixed Reality" when you turn on VR support.
You can get more details here:
https://developer.microsoft.com/en-us/windows/mixed-reality/unity_development_overview
Google Cardboard is a very simple platform which works with most android phones and also iPhones. Google Daydream is a much more advanced version which works only on certain android phones. Both have a common SDK for development, called googleVR,, which is included in the latest versions of Unity. When you turn on VR support you should select "Cardboard" as your SDK or "Daydream" if you device supports it.
This is Unity's documentation on how to set up GoogleVR:
https://docs.unity3d.com/Manual/VRDevices-GoogleVR.html
Since Google VR works on phones, you need to set up either Android or iOS development, as described above.
Google provides some additional instructions, which you might find useful (though you no longer need to download GoogleVR), both for Android:
https://developers.google.com/vr/unity/get-started
and iOS
https://developers.google.com/vr/unity/get-started-ios
|