I have been patiently waiting for the day the era of Snow Crash arrived. I pre-ordered the consumer version in January, and got my Oculus Rift in June. While impressive, the lack of hand controllers relegated the Rift to a dark corner of my game room… until now.
A few weeks ago I received my Oculus Touch. And what a world of difference it made. I now proclaim the era of virtual reality to be upon us! The Touch is not just a pair of hand controllers. It is best described as “finger controllers”. And it brought with it more than 50 launch titles that made the Vive and its hand controllers look inadequate.
But Touch doesn’t work “as is” for me, sadly. It is designed primarily for people who sit on a desk against a wall, looking at the monitor. It works very well out of the box, if you use the Rift while standing behind where your chair normally is, looking in the direction of the monitor where your desktop PC is. The Oculus camera sensors are meant to stand on the desk, facing you.
You see, the thing is, I have a non-standard room setup. My man cave looks like nothing of the sort during the day when I roll up the shades. When the lights are off, however, a projector sitting atop the bookshelf projects the entire screen onto a white wall, across the room. My game PC lives in a corner of the bookshelf alongside other equipment, behind my recliner throne.
This setup posed a bit of theoretical difficulty for the Oculus Rift when I got it in June. In theory the Rift with its one sensor only worked well, when the headset was facing the single sensor. But in practice it worked almost flawlessly, when I left the camera sensor atop the bookshelf, looking at the back of my head as I sat on my throne. It was more than adequate for VR apps where I didn’t have to walk around.
The Touch, however, requires at least two camera sensors. It comes with an extra sensor for that reason. And it wants these two sensors to be staring directly at the Touch controllers you hold in your two hands. Clearly, having these sensors behind my back on the bookshelf isn’t going to cut it. In the picture below I have the original sensor on the second shelf counting from top down. The Rift and the new sensor are on the third shelf.
In addition, I want to get up from my recliner, now that I have the Touch. I can’t wait for sword fighting games to become available. I want to stand on the carpet in the middle of the room when using the Touch, a layout for virtual reality (VR) applications known as a “roomscale” setup. But this requires at least three sensors. Usually two sensors will be in front of the user, and a third in the back. For most people, the implication is that they would need to run one USB extension cable from the PC in front, to a third sensor in the back.
With my room, however, this means the opposite. I need to run extensions from the PC behind me, to the sides of the projector screen. It is a challenge to run these unsightly cables without completely ruining the look of my man cave. The big hole where sane people would install doors adds to the challenge, as far as hiding cables is concerned.
For completeness, here are pictures showing the rest of room.
There are plenty of online resources for roomscale VR setup. But I have not seen one exactly like my requirement. Maybe this article can help the next guy in my situation.
I figured that I wanted two sensors installed, one on each side of the screen, atop the speakers. I would leave the third sensor on the bookshelf behind me to cover what those two front sensors can’t see.
The room is not big, but large enough to possibly cause USB signal degradation when long extension cables are used. The screen is about 13 feet across, and the depth of the room is about 18. This means I must use “active” (repeater) USB 3.0 extension cables. For reasons that will become clear later, I also bought a slim USB hub.
The Oculus sensor came mounted on a high-quality metallic stand. But the stand can be unscrewed from the sensor, allowing the sensor to be mounted on any standard camera tripod/stand. I bought a pair of simple wall mounts normally used with webcams.
In addition, the cable between the Rift headset and the PC must be extended, if I were to be able to walk all the way to the front wall. At the time of this writing, no extension cable for the headset exists. Instead, you must buy two separate extension cables, as Oculus built USB 3.0 and HDMI into one single headset cable. I bought a 6-foot HDMI cable, and another USB 3.0 cable of the same length.
So I have the extension cables. How do I hide them now? Well, it turned out I already installed one of the most useful things for hiding wires when I put this man cave together in 2008. At the time there was a company called WireTracks that sold a well-made plastic housing for cables, to be used behind baseboards. That is indeed how I hid my speaker wires. But I was lazy then just like I am now. So I ignored instructions, and simply screwed the WireTracks cover onto my existing baseboard. It looked fine, if you ask me. In fact, I bet you have not even noticed them in previous pictures. This company has gone bust, apparently. But I refuse to believe that an idea this good hasn’t been copied by others. You’ll probably find even better choices online today.
I thought it wise to test these cables before I went through the trouble of burying them behind walls and hiding them along the baseboard.
But first, I made sure the headset extension cables work. I think this is only a temporary solution. I await the day when someone released a headset extension. Seeing how Amazon is aggressively entrenching itself in the extension cable business, I wouldn’t be surprised one day if I see a message on Amazon showing, “you may be interested in the AmazonBasics Oculus headset extension…”
Presently it was time to test the two sensors in front. I started with a 32-ft active USB 3.0 extension. This cable goes from the PC in one corner of the room, to the opposite corner of the room. It is just the right length for my room. I guess I was lucky. You don’t want a cable longer than you need, for the sake of the signals.
I left the left sensor for now on a coffee table. Note how the active extension cable comes with a power adapter of its own.
Instead of running two 32-ft cable for two sensors, I chose to use a USB 3.0 hub instead, so I could get by with just one long cable. As you can imagine, space in the WireTracks housing is at a premium.
I wasn’t terribly confident that it was OK to share a hub for two sensors. But… seeing how netizens swore on their lives that even long USB 2.0 extension cables worked for them, I reasoned that things would be fine, if I used exclusively USB 3.0 equipment.
I used a 16-ft USB 3.0 active extension cable for the right sensor. This came with its own power supply as well. But I was going to risk powering it from the source cable, due to the lack of outlets near that location.
I turned on the PC, and put on the headset. I didn’t even bother to go through sensor setup again. Everything just worked. It was quite beautiful. And I ended up playing a few Touch games until I realized that the sun had set.
Now the hard work began. First, I worked on the right sensor installation. The goal here was to hide the cable that came with the Oculus sensor behind the wall. I drilled, on the baseboard, a hole big enough for the connector to pass through. I poked around behind the wall, through the hole, with a single-strand power-line cable. This ensured that the space was clear.
Then I drilled a hole at one corner of the screen. I figured the sensor may as well be mounted high up, so that it had an unobstructed view of the action area.
The wall mount I bought had to be modified a bit, to accommodate the sensor cable.
This is the Oculus sensor as shipped. If I didn’t tell you, you wouldn’t have noticed that the stick between the sensor and the bottom disc is not one single piece. Look more closely.
You can unscrew the sensor and its short mounting stick, and mount it instead on any camera tripod or wall mount.
I wanted to be able to fish the cable out of the wall through a relatively small hole. So I used a painter’s tape to make a loop that I can use later on. The tape protects the connector from debris behind the wall at the same time.
USB cable was fed into the wall. The camera mount was installed.
This is the moment of truth. Will I be able to thread the cable through the space behind the wall? Will I be able to fish the cable out of the hole? Check, and Check.
That’s great. Presently I started to do the same for the left sensor. It wasn’t as easy as the right sensor installation. I couldn’t get the USB cable from the sensor to drop to the bottom behind the drywall. I expected this problem after seeing fiberglass insulation batts through the bottom hole. I decided to be lazy, and had the bright idea to insert a single-strand power-line cable from the bottom to try reach the top hole I drilled for the sensor. That was such as mistake. I managed to insert and fill a small volume surrounded by insulation materials, with 7 feet of twisted cable. The whole thing got tangled up with a spool of speaker cable I left behind years ago, until I couldn’t insert more cable, nor retract one inch of it.
This is when I suddenly remembered having the same issue years ago when I installed the speaker cable at this spot. But I didn’t have the foresight to take pictures nor write down notes, last time around. To top it off, I promptly got rid of that unpleasant encounter from my memory bank. Now history sadly repeated itself.
I had to take a drywall handsaw, and cut out a piece of the wall to undo this stupidity.
I had to break out this Greenlee fish tape from storage. That was what I should have done from the get-go, had I been a bit more diligent.
I poked around with the fish tape from the top hole all the way down to the bottom hole. That’s the fish tape coming out of the bottom hole in the picture below.
I fished a power-line cable through first. Then tied it to the USB cable, to thread the USB cable through this treacherous space.
Life after the ordeal tasted sweet.
I patched the gaping hole I created. Repainting will have to wait for a day or two.
Time to cover up those fake baseboards. The active USB extension cable is powered up. And the whole set up worked! This is a view of the man cave taken the morning after.
Here are some more pictures showing different sides of the room.
The third Oculus sensor arrived a day after I mounted the two front sensors. That is why you don’t see the third sensor on the bookshelf in the picture above. It came with a Monoprice USB 2.0 active extension cable.
Here is a panoramic view of the room after the installation. This picture was taken before the third sensor arrived. Mentally graft the sensor onto the second shelf behind the recliner, if that makes you happier.
Here is a view of the man cave at night.
Man cave at night with Oculus gears running.
ps: updated Dec 31st, 2016
I experienced a lot of sensor issues after I plugged in the third sensor. First, Oculus kept warning me that sensor tracking was poor. The setup wizard couldn’t confirm my position and orientation within the room. After many attempts, Oculus finally registered my position, but got my orientation wrong. Even so, I still managed to draw guardian boundaries after more attempts. In between attempts, I disconnected USB cables, turned off the PC, restarted Oculus, unplugged USB hub power adapter, removed/reconnected Touch batteries, and in general tried all combination of these. I even turned off the projector at times, thinking that it sent out enough light in the infrared spectrum to confuse the sensors.
Sometimes I managed to get all sensors to track my Touch controllers. And some games worked really well when all sensors worked (e.g. Fruit Ninja, The Climb). Most of the times, though, Oculus started out missing one or two of my three sensors. Sometimes I would get lucky, and got all sensors to work, but one or two sensors would disappear mid-game. When this happened in game, I got no notifications. Instead, Oculus tried hard to cope using the remaining sensor(s). And I would experience Touch tracking lags of various degrees. Some games appeared (to me, at that time) to be more troublesome than others (e.g. Job Simulator, Sword Master).
After agonizing over this issue, and spending a lot of time researching and experimenting, I finally got the system to work perfectly, every time. It turned out most of these disparate issues I observed had one common root cause: USB power consumption. And one simple change fixed the problem.
Following are what I would offer folks who run into this widespread problem, in retrospect. I wish someone had told me these a week ago.
- 3-sensor-setup is error prone. One-sensor setup appears to be trouble-free. It works for most people. If you use USB extension cables, however, you may run into problems. Most people reported success with two-sensor setup, even if the two sensors were placed in opposite corners instead of on a table. However, if you try to set up a room-scale configuration like I did here, with three sensors, the odds are stacked against you. If you experience problems, you should not repeat my foolish attempts to try to figure out things on my own. You’ll just end up wasting time. Read on.
- Read the wikis. Stop tweaking your setup. First read through all wiki pages on /r/oculus, starting with this index page. Pay special attention to the room-scale setup page, if you are doing that. The technical FAQ page is quite handy. General FAQs are also useful. You may need to consult the extension cables page to figure out what to buy. Keep an eye out for mentions of USB power. That is the most common problem. Obviously consult the official Oculus 3-sensor setup pages: here and here.
- Symptoms of Touch tracking issues. Many people probably do not even realize they suffer from tracking issues. Basically, with a proper setup, you should be able to wave your hands in game or at Oculus Home, and feel that your virtual hands move in sync completely. If your virtual hands shake, or move away mysteriously, without you moving actual hands, you have problems with tracking. If you wave your hand, and you see a jagged virtual hand movement, you have tracking issues (lags). Sometimes this lag may drop the Touch tracking rate to what feels like 1 FPS. I found that playing SteamVR games was especially bad. For instance, Sword Master (SteamVR) destabilizes controller tracker, and the only recourse was to reboot and hope for the best.
- What causes Touch tracking issues? Many things can cause tracking issues. But unfortunately there aren’t any utility apps to help you diagnose these issues. Oculus ought to make one. Refer to the Reddit wikis I mentioned before, for a full list of issues. But for me, it turned out there are a few root causes: Touch drift bug, incorrect sensor positioning, incorrect software setup, misleading Oculus diagnostics, and inadequate USB bus power.
- Touch drift bug. There isn’t an official name for it, as far as I know. But basically the right Touch controller sometimes gets into a mode where your virtual hand slowly drifts away from you, all by itself. When it gets far enough, the system snaps it back to you. Then it drifts away again, and the cycle repeats. If you remove the battery from the Touch, then put it back, the problem is often fixed. The trouble is that, other root causes exhibits similar symptoms. And when this happens, the right-hand tracking rate drops significantly as well (lagging).
- Incorrect sensor positioning. I didn’t realize that the sensor I put behind me must sit in a corner, not in the middle of the wall. All three sensors should be located at corners. See this diagram. Incorrect sensor positioning leads to the next issue, incorrect software setup.
- Incorrect software setup. During software setup of new sensors, you are asked to go to the center of the room, lift the touch to your eye level, and click the trigger to let Oculus know where the center should be. With a three-sensor setup, you must orient yourself in one very specific way – face one sensor, and keep the rest two at your 3 o’clock and 9’oclock, respectively. I faced my projector screen. Big mistake. This confused the setup wizard, and caused all sort of other issues down the road. See this diagram for proper orientation.
- Misleading Oculus diagnostics. The setup wizard shows you a page titled “Connect your rift headset and oculus sensor screen”. The screen looks like this. That pictures shows one sensor being detected. If you plug in a second sensor, you see one more USB cable show up, and a second “Sensor USB” row on the left. If you plug in a third sensor, IT WILL NOT SHOW UP. I spent so much time rewiring and tweaking cables, USB hubs, power adapters, etc. trying to get all of them to “work”. It turned out that a third sensor will never show up on this page. Just move on. Subsequent sensor-specific step will again test all three sensors for good USB communication, and this time it will show you all three sensors.
- Inadequate USB bus power. All of the above issues obfuscated the real cause of my grief. It turned out that my PC was not providing enough power to the sensors and the headset, via the USB bus. Sometimes everything worked. Sometimes one or more sensors, or the headset stopped working properly. Some people buy a PCI-E USB 3.0 expansion card (see wiki). I bought instead an USB hub with power adapter to provide all power needs to the headset and to the two front sensors. Once these stopped sucking power from the USB bus, all my tracking issues went away.
- Third sensor should be plugged into USB 2.0. The Oculus setup recommends that the third sensor behind you be plugged into USB 2.0, not USB 3.0. It was written ”
Connecting more than 2 sensors to USB 3.0 ports will generally pull too much data through the system, leading to inconsistent performance and/or sensor tracking failures.” This is not what I have right now though. I have the third sensor plugged into USB 3.0. I’ll keep my fingers crossed.
The powered USB hub was what finally fixed everything. All games that didn’t work well before now worked. Games that melt Touch tracking such as Sword Master now worked perfectly. The picture below shows the final placement of three sensors, as well as the play area. The play area is about 11 foot by 11 foot. Touch controllers track almost to the walls, but I left a one foot buffer space between physical walls and game boundaries. All three sensors were installed high, so there is zero dead space within the play area at any height above my ankle. There are only two dead zones below my ankle – they are right under the two front sensors. I guess I could angle these two sensors further down, but I would rather they track my headset and controllers better than those two tiny dead zones.
When running SteamVR with Oculus Touch, you must set up the guardian boundaries in SteamVR so that games that understand play space function properly. But you can turn off SteamVR boundaries after the initial setup, since Oculus already provides its own guardian protection. The OpenVR Advanced Settings tool is indispensable. You need to use this tool to rotate the play area to make it properly oriented, since SteamVR doesn’t by itself use Oculus’ room orientation. This tool also also allows you to adjust the floor height mid-game. I listed the Advance Settings app in the list of apps to show in the Steam VR Dashboard, so I can easily access it.