VR Development | April 11, 2016
We are experiencing a virtual reality boom. Though it is not readily apparent right now in the consumer sector, the situation is getting very favorable there as well. As of now the focus of the industry is primarily on the development sector. However, devices like Oculus Rift, Gear VR or the Vive from HTC are making the general public aware of the advances in the virtual reality arena. And the response from the masses has been favorable, as is evident from the plethora of virtual reality experience videos up on the video-sharing website, YouTube. Oculus’s recent acquisition by Facebook is a testament to how ripe the environment is in virtual reality.
However, when most people think virtual reality, they automatically think of a platform that is supporting its execution. Few people, if any, spare a thought for the hard work that goes into coding the virtual reality experience. For example, not many would know that the chief software for constructing virtual reality environment is Unity 3D whose surge to popularity among developers is due to its facile nature and increased programming control. Any programmer with a background in the C++, C# or JavaScript language can make use of Unity 3D. Unity 3D’s popularity in programming circles can be gauged from the fact that while typing the phrase “what language does” in Google search engine, the 2nd autocomplete search term pertains to “what language does unity 3d use”. This reflects the frequency with which users have been searching about the Unity 3D, and virtual reality as a whole.
While making a virtual reality environment is not an easy task, it is relatively uncomplicated for those who boast of a pertinent repertoire. A visual artist or 3D modeler can easily create a virtual reality environment given the Unity 3D interface. However, still many 3D designers think that designing a virtual reality application is as simple as constructing a minion in Despicable Me! Well, it is not. The rules of user experience are radically different in virtual reality. In essence, virtual reality revolves around deceiving the sensory perception of the brain into thinking that it is observing a 3D space, while, in actuality, it is observing nothing like it. Therefore, there are certain issues at play that need considerable attention on the developer’s part to make the virtual reality experience seamless.
Due to physiological design, the nerves that line our retina, and relay visual information to the brain, are not arranged in a perfect grid. They are densely packed in the center and become gradually thinner at the sides. This is the basis of peripheral vision. That our eyes see the most details in the objects they are focusing on, everything else appears slightly fuzzy.
Developers can use this intrinsic property of the eye to their advantage by adding to the realism through a combination of low and high resolution graphics. Whereby, using eye-tracking technology, the most detail is rendered in the area where the eyes are focusing on, while the rest of the scene is generated in a slightly blurry, low resolution form.
This term defines the position of an observer in terms of the surrounding 3D environment. It is imperative that the objects around the observer follow a scale that is relative to them. No one would like to eat cereal with a gigantic spoon! Therefore it is important that, in order to maintain realism, virtual reality designers put the work in making the designed environment feel natural. Apart from the aspect of realism, paying heed to proprioception is also important because an anomalous implementation of it has been found to instigate dizziness and even convulsions among observers.
Like in any program, user interface is an integral part of virtual reality. Forcing the observer to interact with the virtual environment is the whole concept behind its design. And in most cases this interaction is achieved via the use of on screen prompts and UI hotspots. There can be two ways in which on-screen information can be relayed to the user in a virtual environment – diegetic and non-diegetic. In the former, the information is displayed in the scene and scales/rotates with objects in view. While the latter is less dynamic, and the information is transposed on the screen in an overlaid manner.
In conclusion, virtual reality, with all the advancements in its generative capacity, promises a whole new medium to explore for artists, designers and educationists. In short, it is here to stay and flourish.
1. Keep the framerate up – Framerate is more important than ever in VR. You need your experience to run at 75FPS on most PCs.
2. Avoid virtual camera movement – Moving the camera will certainly cause motion sickness to your users. Don’t do that.
3. Immersion is More important than gameplay – What makes a VR experience incredible is the phenomenon of immersion. You want your users to believe they really are in the world you created.
4. Give reasons to look around – New players will not be inclined to look around at first but with the right gameplay/experience, you can lead them to it. Which will increase the user immersion.
5. Use perfect 3D models – You can’t use low quality 3D models in VR, it may ruin the user immersion
6. Interactivity with game elements is awesome – Letting the player interact with game elements like he would be able to do in real life is a great way to help him forget that “he is in a game”.
Subscribe to our newsletter
We write about the use of Virtual Reality for non-gaming applications.