Jump to content

Get sensor data Vive Tracker


Recommended Posts


I need to access the raw data of the IR sensors used to compute the position and orientation of the Vive Tracker. Is there any possibility to say what sensors to use for the computation of the pose of Vive Tracker, for example excluding the IR sensors that are in a specific area and with a specific orientation?




Link to comment
Share on other sites

You can capture and record the pose for any SteamVR tracked device via SteamVR -> Settings -> Developer -> Record Tracking data. It's a specialized binary format, most people who have tried to mess with this data end up having to write custom code to parse the data into something human readable or have opted to write custom code which queries the OpenVR APIs to write an output log in a desired format.

"RAW" sensor data cannot be accesed per say. It's all in Valve's proprietary watchman format. The only project to actually make headway on hacking it was CNlohr's projects. You'd want to target the OpenVR layer.


is the best publicly available explanation about how lighthouse tracking works. I'd recommend all SteamVR developers watch it.


  • Brekel OpenVR Recorder is a paid solution that we've seen customers and developers report success with - it will likely be far less resource intensive that developing a custom solution depending on your development team. The .FBX export makes this super handy. This data is super niche and thus this is really the only built out solution to access data.
  • Here's an example of someone who wrote a custom OpenVR solution - the code is a little old, not sure if you can dupe it successfully with modern SteamVR versions. 
  • Here's an additional example of a custom OpenVR solution 
Link to comment
Share on other sites

I don't need a way to save the position and the orientation of the Tracker, but the raw state of the IR sensors used to compute this data. In particular, I need a way to say at the Tracker (or the driver that computes position and orientation of the tracker) to  exclude some of the IR sensors during this computation because they return wrong data due to the interefence with another external IR light source (in my case the LeapMotion).  Is it possible?

Link to comment
Share on other sites

- You cannot interface with SteamVR hardware at that low of a level because what you're describing are Watchman level systems within of the tech stack. Please refer to the video by Alan Yates as well as CNlohr's projects for context on how the Watchman tech stack works.


You may be able to accomplish some level of access with a SteamVR HDK but I'm honestly not 100% sure, that's a bit in the weeds for me. You wouldn't be able to get that low on Tracker in any case.


In the case of a Leap Motion, there's simply overlap in the range of IR emissions. Leap Motion projects a"curtain" of structured light in near-IR. You can't simply exclude sensor hits because the output on these kinds of depth sensors is persistent and not  acute. The first generation of SteamVR sensors (Vive, Vive Tracker 2017) have different sensitivities and compatibilities than TS4231 based products. 1st gen sensors tend to do better with Leap Motion & Hololens specifically (both of which emit IR curtains of structured light) but it really is use-case dependent.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...