There are many skeptics that love to cast doom and gloom over new technology, particularly immersive technology like virtual reality. While it’s true that the VR
I want to be a virtual reality developer. From where can I start? What are the best learning materials?
“There are two kinds of people in this world: Those who believe in the potential of VR. And, others who haven’t tried it yet.”
I read this quote somewhere not so long ago. And even while conservatively looking at the scope and scale of the technology, one can easily say that the Virtual Reality experience is exciting to say the least, whether you use a $10 Google Cardboard or a more expensive Oculus Rift or HTC Vive.
Every advancement in computing allows new form factors to emerge which allows us to use the power of computation to create new applications and experiences never seen or felt before. And Virtual Reality is one new form factor which stretches the boundaries of creativity for developers and storytellers.
Within some time any existing game developer can quickly start building applications for VR and for those who haven’t tried their hand on game development or come from non-technical background can learn to develop for VR in no time as well.
What does one need to know to start building for VR?
Developing for VR is not much different from game development. Apart from the fact that some additional hardware and software dependencies are required, the basic tools for development do not vary much.
Most VR, and even AR, applications require a gaming engine for development, such as Unity3d or Unreal Engine:
While these are new tools to learn for developers who do not have much experience in game development, the learning curve is relatively steep for you to start getting comfortable and start building your first application for VR. Many free resources are now also available online to learn.
*Quick Tip: Start with Unity3d as it is less complex and a lot of open source knowledge base and resources are available easily.
You will also require an appropriate SDK (Software Development Kit) depending on what device you want to build for:
Although there is a necessary hardware dependency for a VR application, you don’t necessarily need to purchase an expensive device straightaway. When you’re just getting started, a cheaper Google Cardboard can do the job just fine, but it restricts your movement to just 3 DOF (Degrees of Freedom) as opposed to a 6 DOF HTC Vive or Oculus Rift, which allows an immersive room-scale experience.
3 DOF means that although you will be able to see in X, Y, Z directions by the motion of your head mounted display (HMD) in the Virtual environment, you wouldn’t be able to move or touch anything. However,, 6 DOF allows for a room-scale experience. While a 6 DOF looks good on the face of it, there are downsides as well. Room-scale VR requires high computation performance with a high-end graphic card and RAM that you probably won’t get from your standard laptops and will require a desktop computer with optimal performance and also at least 6ft × 6ft free space as opposed to 3 DOF that requires just a standard smart phone with an inbuilt gyro (which is inbuilt in most modern smart phones that cost about ₹15,000 or more).
Some common devices available in the market today are:
- (6 DOF)
- (6 DOF)
- (3 DOF)
- (3 DOF)
- (3 DOF)
Tutorials and Courses:
It can sound a little intimidating in the beginning but actually learning to develop for VR is not all that hard. Once you get a hang of the game engine, one can quickly catch on and there are multiple avenues to explore if you want to learn how to create your VR application:
Here are a few channels that provide good “Getting Started” tutorials for VR:
A lot of MOOC (massive open online course) courses have come out in the last few months, making it easier to learn and some of them are even free!
Most of these courses are short (typically 2–4 weeks). Here are a few of them:
- ($95, there are some discounts available reducing the price to $20–$40)
And these should be enough to get you started.
But if you get stuck, here are some cool applications to follow if you are looking for some inspiration or just want to explore the diversity of the content being generated for VR:
To be updated with the space, there are a few media platforms that cover Mixed Reality (VR/AR) exclusively, such as:
So get started and make some exciting applications.
Happy mixing reality!!
*Edit : This is an additional free online course by Steven LaValle, a professor at University of Illinois in collaboration with IIT Madras that I recently came across by a referral and found it quite useful. Have a look if you are just starting out: