HTC released the Vive accessory Vive Tracker to expand devices connected to SteamVR. It also features Pogo pins, allowing users to DIY special function accessories. Recently, I’ve seen some amazing creative uses of the Vive Tracker. Relevant materials and technical details are organized in this article.
HTC Vive Tracker
Some amazing creative uses of the Vive Tracker:
Using the Vive Tracker to add positional tracking to mobile phones, allowing phones to join VR games and adding positional tracking to Daydream:
- MOBILE ROOM SCALE
- Vive Tracker Powers Google Daydream Wireless Room Scale Hack
- Mobile Room Scale Experiences with Vive Tracker
Note: Its implementation actually involves creating a room on a PC as a Server, allowing mobile devices to join the game via the network and have a Camera. The position information of the tracked
Tracker
is then synchronized to the mobile device and modifies the Camera’s position. The display on the mobile device is therefore the modified Camera view, making it seem like the phone has positional tracking—a clever approach (I expect using the Tracker to add positional tracking to DayDream follows the same method).
Using the Vive Tracker pin extensions to create special function hardware devices (spray cans):
HTC has also open-sourced an implementation of full-body IK using three Trackers: vive_ik_demo
Officially recommended tutorial on VIVE Tracker: New Project Code and Tutorials Released for VIVE Tracker
Guide for HTC Vive Tracker v1.6:
Related news: Vive Tracker Now Available for Developer Purchase
Set Vive Controller/Tracker Type
The Vive Tracker can be used for positional tracking, but it is not limited to that alone. Under normal circumstances, the default type after Tracker recognition is tracker
, but in some cases, one may want to use the tracker to replace the controller for operations, such as:
- Using the Tracker as the third camera for MR, replacing the required third controller
- Using the Tracker or peripherals made with the Tracker to replace the controller in games
To achieve these two objectives, the Tracker’s type needs to be modified to controller
, tricking the base station into thinking the Tracker is a Controller. HTC once provided a tool to modify the Tracker’s type: Vive Tracker Role Changer (this version is v0.8; the latest is v1.0, but HTC stopped the download of this software for some reasons).
It is also possible to achieve the same functionality without using this tool (I demonstrate modifying the Controller to a Tracker as an example). Here’s how:
First, unplug any other VR devices from the computer, then use a USB cable to connect the Controller/Tracker to the computer.
Open the installation path for Steam (SteamVR):
1 | Steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64 |
Find lighthouse_console.exe
, and run it in the console:
1 | C:\Program Files (x86)\Steam\steamapps\common\SteamVR\tools\lighthouse\bin\win64>lighthouse_console.exe |
The currently connected device LHR-AE438993
will be detected, and you will enter the lh
console.
In the lh
console, input the command:
1 | lh> downloadconfig |
A LHR-*.json
file will be generated in the current directory, with content as follows:
First generation controller:
1 | { |
Second generation controller:
1 | { |
You can see that device_class
indicates the current device type.
You can change its value to controller
/generic_tracker
(I’m changing controller to tracker as an example, and vice versa):
1 | "device_class": "generic_tracker", |
Save and close the file, return to the lh
console command window, and input the following command:
1 | lh> uploadconfig |
After completing, input exit
to leave lh
(don’t close the window directly), restart SteamVR, and then its device type will have changed to Tracker
.
Related links:
- Vive Tracker Role Changer (current version: 1.0)
- Need Vive tracker role changer 1.0, could someone reupload?
SteamVR Multi-Driver Support
You need to modify the config/steamvr.vrsetting
file in the Steam
directory, adding activateMultipleDrivers
under the steamvr
item in this JSON formatted file:
1 | { |
After saving, restart SteamVR
to apply the changes.
When filming MR videos, you can use a third Controller as a virtual camera. If there is no third Controller, you can use a tool to virtualize one: VirtualControllerDriver, which requires enabling SteamVR’s multi-driver support.