-
Notifications
You must be signed in to change notification settings - Fork 38
Description
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:
-
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.
-
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