Make Your Own VR

There are two things you need to accept before we go forward:

  1. Virtual Reality is awesome. It is an experience that is still awkwardly growing into its own, but when it is done with care for both the experience and the user, there is nothing else that compares.
  2. Virtual Reality is expensive. In order for an experience to be engaging, one needs a high quality, high resolution, set of very small screens, a computer capable of rendering a high-resolution image at a frame rate capable of preventing nausea (twice or more), and if room scale is your goal, you need a set of sensors capable of calculating your position in sync with the images being produced with the necessary stabilization calculations to keep the player from feeling like a San Andreas fault cosplayer.

With these two things in mind, anything that attempts to make that amazing experience more affordable is a wonderful pursuit, and I’m going to level with you early: I think there is a future to use products in this manner, because when it works well it is amazing, but if VR is in its early adolescence, make your own VR is in its infancy, and has all sorts of growing pains to work through.

Constructed Google Cardboard Headset
Adventure.

If you weren’t aware, Android and Apple phones are capable of delivering VR experiences on their own. My direct experience is with Android’s Google Cardboard experience. By using the smartphone’s built-in gyroscopes and limiting the complexity of the image rendered, phones are capable of a fairly reasonable facsimile of a more dedicated setup, with limited scope. Where this format really shines is VR or 3D video. If you add to that the fact that the headset that enables these experiences is between 15 and 30 dollars for a non-premium version, this gets a lot more exciting.

But, some enterprising developers thought to themselves: if we can leverage this adaptation of a multipurpose device, one that most users have already invested in, and allow more traditional experiences by linking it to more powerful computers, wouldn’t that be awesome? Wouldn’t that remove the greatest barrier for entry-level users and developers to embrace VR?

The answer is yes, and I wanted to see what they came up with for myself, so I went to my local retailer and picked up a headset of my own. Since I wasn’t going to be using it for a traditional Cardboard experience, I went against Google’s recommendations and purchased one with a head strap. As I understand it, this advice is about user experience and limiting nausea. Requiring users to hold the headset to their eyes makes it harder for them to move their head in a fashion that the sensors in the phone can’t pick up, reducing nausea and enhancing the experience overall.

For the purposes Google intended the cardboard to be used for, simple stereoscopic experiences, movies, or simple games all Cardboard capable headsets are relatively good. The included demo experience with the Cardboard app is very slick and introduces a lot of interesting ways that developers can use the technology for more immersive artistic or educational experiences. All of the normal issues with VR apply: because you are actively trying to trick your eyes into sending a lie back to your brain, this can generate a lot of eye strain as your eyes struggle to focus on something that looks far away but is actually only a few inches away. I wouldn’t recommend spending more than twenty minutes at a time, and if you build your own Cardboard or purchase one, pay close attention to the focal distance or buy one with adjustable focal distance for the best comfort.

Trinus VR software streaming stereoscopic 3d output from a computer to a phone over wi-fi
Skyrim VR (For < $60).

But we’re on a mission here. We’re not looking to use this for what Google intended. We want to go above and beyond. We want to get a $500 experience for $15, and to make that happen, we need to put in a lot of legwork. Our first step is to get the headset communicating with a dedicated computer. For this, we will need a streaming app on your phone and a streaming server on your computer. There are two major options at this point: Trinus VR (my personal recommendation) and VRidge by RiftCat. In either case, you can sample the functionality for free, but if you want to remove the limitations, you’re looking at spending an additional $15 – $20 dollars for a full license, depending on your choice.

VRidge software streaming steoscopic 3d output from a computer to a phone over USB
Subnatica VR, without the $500 price tag.

For gaming, you’re going to want to enable USB tethering on your device, just to make sure you’re not trying to send the video signal over Wi-Fi. Some phones or carriers may not allow this, but fret not, my experience with Trinus over Wi-Fi was not by any definition bad; it was just a little blurrier and occasionally introduced a little more lag. Now, at this point, if you have a game that will render in Stereoscopic 3D without having to detect a VR headset, you are good to go. Honestly, stopping here is your best bet to get the most out of your headset. Without a compatible controller, the amount of VR games you can play is limited, and I would strongly recommend against anything that relies on head tracking. The sensors in the phone are not quite accurate enough, and the result is a lot of undue nausea. If you don’t have any Stereoscopic 3D games, but you’re willing to drop an additional $40, I have had very good luck with TriDef 3D *. It does come with a 14-day free trial if you want to verify that it works well with your system.

Demonstration of Tridef Stereoscopic 3d drivers working in Side By Side mode in Skyrim
Seriously, $60 for what ends up being a relatively small patch for the base game. We’ll all still buy it, but still.

But if you want to go the extra mile, and you’re willing to buy the Motion Controls to use on your computer, you can attempt to trick your computer into thinking that you have a fully featured VR headset. I do not recommend this in the least. But if you want to, you should know a couple of things. First of all, the Steam VR driver for Trinus seems to be broken at the moment. I was only able to get Steam VR to recognize my phone by booting up the RiftCat desktop app’s free trial, connecting with my phone to enable it to inject its driver, and then quickly switch over back to Trinus. I was not able to get any video from the VRidge app, but Trinus was very stable for me, which is why I ended up with this ridiculous solution. Once I was in Steam VR… the head tracking was honestly awful. While I wasn’t exactly surprised, I was certainly disappointed. In addition to this, Steam VR has recently done a lot to lock down compatibility to actual VR Headsets, and I was not able to successfully launch a single game.

All that said, I don’t think all is lost. I was able to get a good 20 minutes into Half-Life and another 30 into Portal 1 with Trinus and Tridef. While it wasn’t a true VR experience, these are still some of the cheapest Stereoscopic 3D experiences you can get, and I would honestly recommend a Cardboard for the media experience alone. A-Frame is making a big push to bring the VR experience to the web, and Google’s own technologies are making novel use of the technology. Additionally, buying one of the kits to build your own Cardboard can make a great at-home science project for kids: teaching a lot of the science behind how and why VR works.

*As a strong note, the company behind Tridef is not actively supporting the product anymore. While it seems to still be working well with current DirectX games, you will most likely need to make your own game profiles, and support for newer versions of DirectX or new features does not seem to be in the cards for the future. Unfortunately, the company is not being exactly forthright with this situation, and their customer service staff is actively trying to deny this situation. You may be better served using a competing application like Vireio Perception, which is free but a lot more fiddly.