GithubHelp home page GithubHelp logo

vivesinglebasestationtracking's Introduction

What's this?
This a HTC Vive program that demonstrates an alternative tracking method using a Vive Tracker. 


Why Tracking with a Tracker?
Normally, you need two base stations to get tracking without blind angle - if there's only one, you'll possibly lose tracking after turning your back on it. If you have a Vive tracker, however, you can get complete tracking with just one base station using the following techniques. 


The Quickest Way to Have a Try:

1.Download this github project and open the folder with Unity 5.3.7 (must be 5.3 because camera tracking was moved to the engine level in Unity 5.4)

2.Connect a tracker to your PC, and then physically attach it to your HMD.

3.Click play and then block the HMD with your clothes. See how the game view moves with the tracker instead of the HMD.


Key Tricks Explained:
1.Turn off "forceFadeOnBadTracking" in steamvr config files, or in this case, using openvr api (you can find how I did it by searching "forceFadeOnBadTracking" in the IDE or refering to the git commit history). This prevents the HMD from going "gray".
2.When the tracking is bad, set the tracker as the camera's parent object, making the camera's movement follow the tracker's.


Improvements to Be Made:
*If you have tried this program, you'll know that the transition is not that smooth. You'll feel that the screen shakes at the transition between the two tracking methods. This is because openvr uses a prediction method which makes it report bad tracking only after the signal has been out for several frames. 
 To solve it, I recommend you to switch tracking methods when the angle between the HMD and the base station passes a threshold that depends on your setup(at this point the player is turning back on the base station), not when the system tells you the tracking is bad. 


Contact Me:
[email protected]

vivesinglebasestationtracking's People

Contributors

jamesbear avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vivesinglebasestationtracking's Issues

Unity 5.4+

Hey,

In the readme it says that camera tracking is moved to engine level at Unity 5.4, and therefore the project will not work.

Is it possible to do this in recent versions of Unity - either with a similar idea to this project, a custom driver, or something else. Do you know or have you came across anything like this?

Many thanks,
Liam

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.