v0.10.3
We got reports (#307) of polyfill breakage (thanks @dustinkerstein!) on newer versions of Chrome. In Chrome m65, a regression to devicemotion
events doesn't provide rotationRate
, breaking the head tracking in the polyfill, and m66 switching DeviceMotionEvent.rotationRate
values to use degrees instead of radians to be aligned with the spec. Separately there's another issue where deviceorientation
/devicemotion
events are fired at 5-10hz in Chrome m65/m66. This doesn't consistently occur.
This release includes an updated CardboardVRDisplay with fixes for the devicemotion
Chrome m65 regression by using a deviceorientation
fallback (immersive-web/cardboard-vr-display@d770e01)
and does not take advantage of sensor fusion, and also includes a fix to handle Chrome m66's rotationRate
unit change (immersive-web/cardboard-vr-display@75a6d51). The issue of lowered device motion rate in Chrome m65/m66 can be tracked at crbug.com/819413. With Sensor API (#10) now being supported instead of devicemotion
, one temporary workaround is enabling sensors. Read here to learn more about enabling Sensor API.
TLDR: If seeing issues in Chrome m65 and later versions, please update to the latest version of the WebVR Polyfill. There may be some stuttering in the pose due to platform issue on m65/m66, which can be solved locally by enabling chrome://flags/#enable-generic-sensor
, and there could be a browser update to fix the low frequency rate of device events. Changes have been sent downstream to A-Frame (aframevr/aframe#3453). If upgrading from 0.9.x
to 0.10.x
, be sure to call the WebVRPolyfill
constructor with your configuration object rather than using window.WebVRConfig
(example).
Other Noteworthy Fixes
- Use Sensor API if available instead of
devicemotion
(#10) - Fires
vrdisplayconnect
on the polyfilled VRDisplay only if there are no native displays (#303) - Cache
requestAnimationFrame
incase consumer overwrites, fixes WebVR Unity Exporter issue (#308) - Limit console spam (immersive-web/cardboard-vr-display@5facde2)
- Add device information in the DPDB for iPhone X (immersive-web/webvr-polyfill-dpdb#35)