Skip to main content

VR, AR, & Data Visualization: Making VR

Unity

Making VR 

There are few fields that are as rewarding and confusing as VR.  With the first commercial VR headsets appearing in 1989, the history of this medium is filled with hope and hype. Your reading of this text shows you are hopeful. The goal of this and the associated pages is to keep you hopeful and to steer you away from hype.  On this page, we will cover terms and definitions, software, production tips, common missteps, and resources. 

 


Terms and Definitions

Terms in VR are not always straight-forward or clear. The emergent nature of the medium, the hardware, and the software causes many lines to blur.  Furthermore, the range of people using these terms; academic disciplines, company marketing departments, artistic visionaries, computer science visionaries, all tend to give privilege to their personal domains. In the loosest terms, everything 3D or digitally created can be framed as VR or virtual. 

eXtended Reality (XR) - XR is a a catch-all phrase. It can describe all digital media, software, and hardware. It's most often used to group the emergent diversity of  computer generated 3D works. Being so broad and opened ended, there's no specific attributes beyond being digital. 

Virtual Reality (VR) - Any computer generated 3D environment viewed with a Head Mounted Display (HMD) or within a Cave (a room whose walls are projection screens). It allows for users to travel and to move around objects. Oculus Rift & Quest, HTC Vive are the leading HMD's. The largest library of VR games and apps can be found on Steam. 

Examples - Steam 


360 Video - Also called Cinematic VR of Filmic VR, it consists of  panoramic video or photography mapped onto a sphere or cube that surround the HMD wearing user. 360 refers to the 360 degree view.  Google Cardboard, the simple VR viewer that a uses a common mobile phone, is most often the target hardware for this VR genre.

Example - Tribeca Film  Festival

Augmented Reality (AR) - Computer generated objects, tags, or scenes that are overlaid on to our physical reality. This genre is commonly presented on mobile phones and tablet PCs. There are also head mounted options like Google Glass and Microsoft Holo Lens.

Example - IKEA Place App

Artificial Intelligence (AI) - This is not 3D. While the terms above target media domains, AI targets computer intelligence and its ability to tell stories or solve problems. It is not VR, AR, but can fit the domain of XR. In general AI, in this context, is a tool in a larger vision of VR that copies reality and creates artificial agents or avatars.

Social VR - Also known as multi-user VR, these are platforms for meeting and interacting with others usually online in VR. There are scores of platforms, the majority target teen social interaction, some target education, and a few some artistic creation. Many are free hope to scale up and gain market share. The business plan, the road to profitability, is a long one (as it is for VR in general).  
 

Software

There are many diverse tools for creating virtual works. There is professional software, vaporware, and toywareVaporware is software that is hyped as cutting edge and coming to market soon. It can be well funded and promoted by reputable sources. It;s problem is that it doesn't exist or is stuck in a buggy alpha or beta version. Vaporware can also disappear sometimes leaving you without a means to update or even show your work. Toyware has limited use and often targets new users or children. Toyware can be a useful learning tool or in applications that require only the limited functionality they offer.

In contrast, professional software is just that, software used by professionals to create diverse virtual works. Major tools include the game engines of Unity and Unreal as well as the language WebGL. These three options, Unity, Unreal, & WebGL are three distinct paths to making a virtual project.

Unity - Unity is a free to use game engine capable of creating 2D, 3D, AR, and VR  works for PCs, Android devices, Web browsers, and with an Apple Developer account, iPhone and Macs. It is powerful and in a sense, lighter and simpler than Unreal or WebGL.

websiteUnity.com

Unreal - Unreal's general capabilities match Unity's. It's rendering power offers more realism and its AI abilities make better use of your hardware than Unity or WebGL. The downside of Unreal is that it is heavily games focused, so non-game applications, non-simulation work make take extra effort. Unreal features a visual coding option called "Blueprints" and is meant to help novice programmers. Overall, its powerful rendering, Blueprints, and other features, while useful can make Unreal feel unwieldy and bloated at times.

website - Unreal.com

WebGL - WebGL is a graphics library of 3D world building code that is accessible to JavaScript. (The GL in WebGL stands for graphic library)  Because it is JavaScript, a compliant browser can run 3D and VR scenes just like HTML web pages. On the surface this is extremely powerful. Unlike Unity and Unreal works, WebGL runs on Windows, Macs, iPhones, and Android devices without a plugin or software installation. The downside is that web browsers and JavaScript itself were not created to process graphically intensive environments. Also because this is a language, not a tool, the development path is skewed toward programming. Simple works are simple to code, but having large interactive worlds written in JavaScript can be burdensome.

website - Mozilla WebGL

 

Production Tips

While the "head first", "I have an idea" path of diving into VR and trying to make something you desire immediately is a noble and sometimes necessary approach, it's often the most difficult. Moreover, understanding what is hard and what is easy is challenging. In general, copying reality is hard. 

The first step is to review your needs and long terms goals. Unity, Unreal, & WebGL are good long term options for you to learn, but there might be simpler software that is more focused on your specific needs. When reviewing software options, look for live options, true demos of the software that highlight its features. Assume that the vendor is going to showcase all the features and downplay or hide its weaknesses. As a rule if you don't see a feature, you need, it probably doesn't exist. Most VR companies struggle to make money, so be skeptical that any feature you need will be added quickly.

After matching software with your needs, find a set of recent tutorials that truly matches all the main aspects your project. Not just a single tutorial, but something that covers what you really need your project to do.  Singular, standalone tutorials that cover individual features you want to use may not fit to together as a whole. This "not fitting together" issue is hugely true in instances of programming tutorials and advanced features. 

If you cannot find a set of recent tutorials that match your goals, you may want to focus on learning the software and step back from your project. Additionally, you may want to re-evaluate your ideas after learning more about the software. Simply follow the recommended tutorials offered by the software vendor or recent video offerings of an online instructor whose pace and style appeals to you. 

 

3D Modeling & Models

Not all 3D models will work in your project. There are many different formats and sometimes even if the software supports the format of your model, it will appear very different in your project. Free models can be good or bad, but at least they are free. As a newcomer, you should avoid buying models. At a minimum you may be able to use simpler placeholder models and just swap them out once your project and understanding of the software is better. 

Unreal and Unity supports models in 3DS Max, Maya, and Blender format natively and as students you have access to 3DS Max, Maya, and Blender for free, These are professional modeling packages that take time to learn. 

Unreal and Unity support .FBX files
WebGL is best with .GLB files

 

3D Model Libraries

SketchFab
TurboSquid
CGTrader
Sweethome3D

Image, Texture, Panorama & Sky Libraries

Flickr 
Textures 
Textures Resources
CGSkies

 

Resources

 

Social VR