Close

Trackers, Controllers, SteamVR and You

A project log for Mixed Reality Room Scale Shooting Gallery

A mixed reality shooting gallery using virtual reality tracking hardware.

richard-hogbenRichard Hogben 10/27/2017 at 18:520 Comments

The Vive Tracker is an accessory that quickly allows prototyping a tracked object in VR. This was my first choice for controller tracking, but poor support in Unreal Engine, and the price of multiple trackers has forced me to look at alternatives.

The Vive Tracker:

The Vive Controller:

In theory the Vive Tracker would allow tracking without a headset attached. SteamVR has two options that look promising, a setting 'requireHmd' or a null driver option that fakes an attached headset. The first problem is that Unreal Engine does not honor setting requireHmd to false. Second, the Tracker firmware must be updated to mimic a controller so that Unreal Engine correctly recognizes the button input. The third problem is that the null driver is only meant for development causing severe lag each time I've attempted to use it. 

{
    "driver_null" : {
        "enable" : true,
        "serialNumber" : "Null Serial Number", 
        "modelNumber" : "Null Model Number",
        "windowX" : 0,
        "windowY" : 0,
        "windowWidth" : 1920,
        "windowHeight" : 1080,
        "renderWidth" : 1920,
        "renderHeight" : 1060,
        "secondsFromVsyncToPhotons" : 0.01111111,
        "displayFrequency" : 60.0
    }
}

This leaves the Vive Controller. I have access to at least four controllers which means I can leave one charging and also have spares. Additionally there are some 3D models available to augment the Controller. Combining these allowed me to attach a smartphone to the Controller. Another benefit of the Vive Controller is I won't need the bluetooth game controller, which is one less piece to worry about.

I might have to update some of the net code because all trigger input will be on the server rather than the client.

Discussions