HTC Vive Tracker Setup

January 25, 2022

Sado Rabaudi

For adding the trackers, you will also need some straps to hold the trackers on, such as these. 

Steps for setting up trackers: 

  • Charge the trackers using a mini-usb adapter
  • Attach cable to cradle and insert dongle (one dongle per tracker) (Note that you will need an available USB port for each tracker you add). It is best to keep the dongles from being right next to each other to avoid interference as well.

  • Start SteamVR (will need to download and install SteamVR first) and turn on trackers in this order (it is a good idea to place labels on the trackers so that you can remember which ones are which): Right Hand, Left Hand, Left Foot, Right Foot, and Pelvis. If tracker does not pair, may need to go to Devices- Pair Controller and hold the power button down on the tracker until it flashes blue. Once it’s paired, the light will turn green.

  • Attach Trackers using straps, making sure the green light is facing towards your body on the feet and facing down on the pelvis.  
  • Vizard includes a preset for the Vive trackers. To run this Open Vizconnect (Vizard- Tools- Vizconnect), choose “select from some common presets” and select the “ViveTracker Full Body” preset. Make sure to save this in the same location as your main Vizard script. You can name it whatever you’d like, but a good practice would be to name it “vizconnect_config.py”.

Note that this preset is for using the Vive Controllers to track the right and left hands and Vive trackers for the pelvis and feet. If you wish to use Vive Trackers for tracking the right and left hand as well (such as when using a data glove), you will have to remove the right and left hand controllers from this preset and add Vive trackers. 

  • To change avatars, go to the avatars tab and remove the current avatar, you will then have to reassign the trackers by clicking on the “animator” button in the avatars tab. Make sure that “Inverse Kinematics” is selected and that you also drag the main display under the head tracker in the scene graph once you’re done. You can do full body tracking on any of the avatars that are included with Vizard (Mark, Male, Male 2 and Female)

  • To add this Vizconnect to your Vizard script, make sure your Vizconnect file is in the same location as your main script and add the following sample code:

import viz

import vizconnect 

vizconnect.go(‘vizconnect_config.py’) #or whatever the name is of your Vizconnect file.

Using trackers to track an object

  • To use the vive trackers to track a physical object, first attach the vive tracker to that object then add a 3D model in your scene to represent that object (such as a chair or a box)
  • Add Vive trackers in vizconnect (Tools-Vizconnect) by going to Advanced- Trackers- Add new Tracker- Valve SteamVR Tracker



  • Make sure that for each new tracker you add you increase the index by 1 (i.e. first tracker: 0, second tracker: 1, etc.). Note that whichever tracker you turn on first will be “0”, second will be “1” and so forth. 
  • In your vizard script you can link the tracker and the 3D model using this code: 


import viz

import vizfx

import vizconnect

vizconnect.go('vizconnect_config_trackers.py')

tracker = vizconnect.getTracker('steamvr_tracker').getNode3d()

ball = vizfx.addChild('basketball.osgb')

trackerLink = viz.link(tracker,ball)


Troubleshooting:

  • If the offsets of one of the trackers suddenly switches (i.e. the pelvis or feet are twisted), you may need to close and restart your script, or close steamvr and turn on your trackers again and restart the script).
  • If you are using the vive controllers as an input, you may lose the button input. If this happens you have to close and restart the script until it comes back. If this doesn’t work, you may need to restart your computer. 

Code without vizconnect (it wanting to manually add trackers to a script):

# Setup SteamVR HMD

hmd = steamvr.HMD()

if not hmd.getSensor():

sys.exit('SteamVR HMD not detected')

# Setup navigation node and link to main view

navigationNode = viz.addGroup()

viewLink = viz.link(navigationNode, viz.MainView)

viewLink.preMultLinkable(hmd.getSensor())

tracker = steamvr.getTrackerList()[1]

tracker2=steamvr.getTrackerList()[0]



Stay Updated
Subscribe to our monthly Newsletter
CONTACT US 
Phone +1 (888) 841-3416
Fax +1 (866) 226-7529
813 Reddick St
Santa Barbara, CA 93103