Forum Discussion
envi253
8 years agoHonored Guest
Yaw drift when using external positional tracking (DK2)
Hey everyone,
very similar to this thread (https://forums.oculusvr.com/developer/discussion/30078/drift-correction-replace-the-tracker-with-mocap-data) - we are having a tracking space setup with 12 x 7 meters and use an external camera system to update our player position. We're currently using an Oculus DK2 in Unity 5 and experience massive problems with yaw drift after a few minutes in VR which massively changes walking trajectories of users.
For obvious reasons we cannot use the Oculus Camera in front and the UnityEngine,VR.InputTracking.Recenter() or the Oculus SDK equivalent of recentering does not work well for us... We have tried using a different more sophisticated IMU tracker (Inertiacube 4) and were not able to replace the oculus internal rotation with the rotation data of the IMU tracker by simply changing the relevant code lines in OVRCameraRig.cs, due to the fact that Unity VR seems to override everything we change in the Oculus code with its own information about position and rotation.
For obvious reasons we cannot use the Oculus Camera in front and the UnityEngine,VR.InputTracking.Recenter() or the Oculus SDK equivalent of recentering does not work well for us... We have tried using a different more sophisticated IMU tracker (Inertiacube 4) and were not able to replace the oculus internal rotation with the rotation data of the IMU tracker by simply changing the relevant code lines in OVRCameraRig.cs, due to the fact that Unity VR seems to override everything we change in the Oculus code with its own information about position and rotation.
- Whats the best way to override the Oculus Camera tracking information which ALSO CORRECTS the yaw drift similar to the stationary camera that comes with the oculus?
- Is it possible to use a different IMU tracker to override the internal IMU data for better accuracy of tracking rotational data?
Best,
Fabian
3 Replies
Replies have been turned off for this discussion
- vrdavebOculus StaffThere isn't a supported way to use the Rift's IMU without the position sensor. My recommendation would be to disable both position and rotation tracking in our SDK using OVRManager's usePositionTracking and useRotationTracking fields. Then you can set the position and rotation of OVRCameraRig.trackingSpace to move the left and right eye anchors. Unity will still set the local position and rotation of the left and right eye anchors each frame, so you need to apply your custom head pose to trackingSpace, which is their parent.
- envi253Honored GuestHey Dave, thanks for your suggestion. While it seems to work in principal I get a floating 2D Windows in my oculus, with black borders around it. It's no longer an immersive experience and not much of use...
Why does this occur and how can I prevent it? Has it been fixed with newer versions?
Best,
Fabian - vrdavebOculus StaffIt turns out there is a bug in OVRManager.useRotationTracking. When set to false, TimeWarp still shifts the image opposite to head motion. In our upcoming 1.21 release, we are planning to add a way to disable this so the image completely stops responding to our own tracking.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 years ago
- 3 years ago