googlevr / gvr-android-sdk

Google VR SDK for Android
http://developers.google.com/vr/android/
Other
3.28k stars 1.28k forks source link

Correct headtracking jitter with slerp. #17

Closed dcerisano closed 8 years ago

dcerisano commented 9 years ago

Headtracking directly from the sensor quaternion is too sensitive (jitter - but still not as bad as Unity!). Using spherical linear interpolation significantly improves the subjective experience of headtracking. Pretty sure Oculus does this.

I have improved the design using an older github cardboard sdk source project, https://github.com/Zomega/Cardboard by integrating quaternions and spherical linear interpolation (slerp).

Default headtracking currently returns a rotational matrix directly from sensors.

Could this please be incorporated into the headtracker class?

keyboardsurfer commented 8 years ago

If this is a potential fix to this sample please prepare a pull request.

nathanmartz commented 8 years ago

Thanks for the note. Is there an actual fix here? The linked repo is just a clone of a decompiled SDK as far as I can tell.

dcerisano commented 8 years ago

+nathanmartz, since the official head tracking class is not open source, it cannot be supported by github users, as per our requests. There are significant design advancements (not "fixes") to many of the SDK classes required. This is only one of them.

You may as well close this as not a github "issue". I gave sufficient detail for your designers and engineers to know what to do.