Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
AndyOHart's avatar
AndyOHart
Honored Guest
12 years ago

Could somebody explain how Positional Tracking works?

Hey there.
I want to implement positional tracking into my game similar to the HydraDeck demo.
I was wondering if anybody would mind explaining how it is working? I understand the left Hydra is used on the body and works similar to the right Hydra which moves in 3D space. I'm just wondering how it all works with the rotation of the Oculus and how the calibrations work, like touching the ground and the back of your neck etc.

Just need to understand it before I attempt coding it.
Thanks for any help

4 Replies

  • One of the hydras is used for tracking, as simple as that. Game object with OVRCameraController is directly tied to this Hydra. However, the controller shouldn't follow it's orientation since it get it's own orientation data. Thus effectively you can only use positional data from the Hydra and throw away rotational data.

    The calibration you've seen is just there to account for individual placement, since you probably can't know in advance exactly where the base is located and such. Touching one hydra to the floor gives good reference of base height. In this regard, hydradeck demos are kinda wacky - you can just strap your chest hydra and never touch it, only using another hydra to do the control and calibrations. Touching your neck then gives good reference point for OVRCameraController neck offset off the tracking Hydra.
  • Thanks for the reply.
    So in the rift with the OVR module, when you rotate your head and look in one direction, is that the input data that is thrown away and not used by the Hydras?
  • I mean that hydra supplies both position and orientation, but you should use Rift's orientation, therefore Hydra's orientation is discarded.
  • Ah I see I see.
    So to get this working:

    1) Attach the Hydras and Oculus Rift to PC.

    2) Open Unity

    3) Create a game object. Make OVRCameraController a child of this.

    4) Make game object a child of the left Hydra.

    What would I have to do to get rid of the data you mentioned from here? Also, is it worth doing the calibration do you think?