How to create content for virtual reality (Draft and outline)

 

Outline:

  • Start new unity project
  • Import OVR SDK
  • Create box room using 6 planes or 6 cubes (make it something like 4x4x4 meters.
  • Drop in the player controller prefab
  • Open Unity asset store and find a prop and a texture
  • Drop the prop into the scene and apply texture to all surfaces
  • Open lightmapping tool and bake low quality light maps
  • Build executable from main menu and run
  • You’re done

Hardware needed: Oculus Rift, desktop PC, or mobile VR kit

Software needed: Unity Pro, or Unity Free, or Unreal Engine 4
Windows, Mac OS X, or Linux

Blog content:

Assuming that you have a desktop PC and an Oculus Rift. To get started you’ll also need one of the 3D game engines that support the Oculus Rift SDK. The two major ones are Unity and Unreal Engine. The one I’m using is Unity because it is more mature software with a more developed plugin/asset ecosystem and repository. However Unreal, without any configuration at all, generally looks more photo-real than things made with Unity.

But for Unity, to get started it might be good to create a box room with textures and a 1:1 scale prop.

You’ll need to download the Oculus SDK from the official website. There’s zip file marked as Unity/Tuscany. That’s the one you’ll need to download as it contains the camera prefab that you’ll need to drop into your project.

In Unity, create a new blank project. And then through your OS filebrowser, find the zip file and extract it. You’ll find an OVR camera prefab *.unitypackage. Double click it and import all contents into your blank project. In Unity’s file browser. You find “OVRPlayerController” prefab. Just drag it into your scene.

Before that of course you’ll probably want to create a floor so that the player controller does not fall through.

I’m also assuming that you have adquete hardware. Depending on the type of content you’re creating, you might need at least a midrage GPU. For simple box rooms however, you might be able to get away with something such as a Geforce 750ti.

But back to Unity. You’ll need to go to the Asset store which contains many free assets. And find at least 1 texture and 1 prop. This is important for depth perception since the user will more easily comprehend the structure she is in if there is an object of a known size (such as a chair or a table). The textures help with sense of scale as well. With a solid color wall, it might not be able to know what the size of the structure is.

Once all objects are placed. Lightmapping needs to be baked. Many people skip this, but in my opinion, it should never be skipped, because the shadows help the user perceive depth much more easily. You can use the default settings for the lightmapping, but just click “bake” and it should it should take a while to complete, but once it’s done, everything will look much better and more comprehendable.

So at this point you should have a scene which contains the following: a textured box room made of primitive shapes. A prop of a known object at 1:1 scale. And the player controller prefab.

This is actually the minimum needed and at this point you can go into the main menu, build the executable, and run it.

Once the build process is complete, you’ll have 2 executables. A normal standard one, and one marked as “direct to Rift.” Assuming your HMD works, running the direct-to-rift executable should open your box room on the HMD. And you can now enjoy the room you just made.

The next step is to expand this box room however you want. This is where you can be creative.

Intro Post

Hello. Please allow me to introduce myself. My name is Jose and I’ve been a WordPress user since 2009. Most of my experience involves installing WordPress on shared hosting with Cpanel, modifying the theme, and configuring the plugins. I’ve been very enthusiastic about WordPress and have attended WordCamp SF in 2011 and 2012.

My goal is to write 12-24 blog posts about virtual reality content creation. And then eventually create vlogs or screencasts.

I started this blog for the Peninsula Blogging Club .