Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correcting Miscalibration #18

Open
jaredsinclair opened this issue Aug 4, 2016 · 1 comment
Open

Correcting Miscalibration #18

jaredsinclair opened this issue Aug 4, 2016 · 1 comment
Assignees

Comments

@jaredsinclair
Copy link
Contributor

The low-pass filter we added in 68d73c4 helps correct spurious camera motion when the device is at rest. However, it does nothing to prevent inaccurate camera motion for values above the threshold since every such value is incorrect.

I did a comparison with the YouTube app from the App Store, using a NYT VR video, and I noticed two interesting things:

  1. The horizontal miscalibration (rotating left/right from the user's perspective) was the same. In both their app and our sample app, the camera rotated indefinitely. It looked like their low-pass filter was even lower than ours.

  2. The vertical miscalibration was mostly absent from YouTube. I was able to get it to appear after doing a particular series of motions with my hand, but the app corrected the abnormality over the next second or two after the motions ended.

I suspect that they're able to apply a vertical re-calibration without user participation because there's a gravity vector available on CMDeviceMotion which, when the device is at rest or close to it, could be used as a frame of reference for the recalibration.

Perhaps we could try a similar approach.

My question to @dayvson and @thiagopnts is whether we should follow up on the miscalibration problem and how. cc @cdzombak

@thiagopnts
Copy link
Contributor

I think this is acceptable for 360, at least for the first realease. This would be a bigger problem if we were doing VR. This probably also happens on all the other platforms(web, android), so once we figure out a way to handle this we could port to the other ones too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants