Virtual Rower – HTC Vive Tracker

This initial test of the HTC Vive Tracker through Unity proved to be a quick and effective process with a lot of potential for bridging the VR environment with the real world. There’s no doubt it’s still in development, but I’m looking forward to finding more opportunities for viable applications to utilize the Vive Tracker.

As an example of a great application that can be enhanced by the Vive Tracker, I am developing a virtual rower that attaches the HTC Vive Tracker to the handle of a Concept2 Indoor Rower. It uses the HTC Vive headset in conjunction with the custom virtual environment created in Unity Pro. Check out the video documentation to see it in action:


Pairing the Vive Tracker
If the Vive Tracker doesn’t immediately pair and track when SteamVR initiates and identifies the headset, lighthouse sensors, and hand controllers, then pairing it afterwards through the SteamVR pairing process appears to correctly pair and track. The Steam VR plugin for Unity relies on the first 2 tracked devices to be the hand controllers, so they have to be activated for Unity to tag the Vive Tracker as the 3rd or nth tracked devices after the hand controllers. This is elaborated upon in the following paragraph.

SteamVR Controller Manager

Tracked Object Assignment
Note that the Steam VR Controller Manager defines the first 2 tracked devices: the left and right hand controllers. This means that when the Unity scene is run in game-mode, the Steam VR Controller Manager first looks for the hand controllers before it identifies other tracked devices, like the Vive Tracker. In an initial test where neither of the hand controllers were visible or paired, the Unity scene in game-mode assigned the Vive Tracker as one of the hand controllers because that’s what it was looking to assign first, and since it first identified the Vive Tracker, that’s what it interpreted to be the hand controller. Again, the key here is to verify that both hand controllers are activated and available for tracking to allow the Vive Tracker to be assigned to the 3rd or nth tracked device in the Steam VR Controller Manager.

SteamVR Tracked Object

Vive Tracker 3D Model
This asset was downloaded and integrated into the Unity scene as a placeholder and reference for positioning and orientation. In the Virtual Rower, I set it to be transparent so that it was still visible for reference, but not intrusive to the virtual environment. With the representation of the Vive Tracker 3D model in the Unity scene, it was attributed with the script Steam VR Tracked Object so that the Steam VR Controller Manager could identify is as a tracked object.

Vive Tracker Model