aframevr / aframe

:a: Web framework for building virtual reality experiences.
https://aframe.io/
MIT License
16.69k stars 3.98k forks source link

Enter-VR Button not working on Edge Mobile #3087

Open ok-nl opened 7 years ago

ok-nl commented 7 years ago

Sinde the update to version 0.7.0, the enter vr button injected by the framework is not functioning. You can click the button, but nothing happens. Bug is reproduceable on the Aframe VR examples.

cvan commented 7 years ago

/cc @olga-microsoft

Malwine commented 7 years ago

Hi, I 'll be using aframe this fall and it would be amazing to try it with my cardboard and on Edge mobile, but unfortunately as reported it doesn't do it anymore. So I guess I am sending some encouragement here ✨ And I would be excited to see an update 😳 😊 I am also working for Microsoft but not in Edge team πŸ˜… . (Maybe I can still help somehow? At least for testing...) πŸ’œ

dmarcos commented 7 years ago

@Malwine I don’t have a Windows Mobile phone to test on. Do you see any errors in console? Do any of the webvr-polyfill examples work. For example this one: https://webvr.info/samples/03-vr-presentation.html?polyfill=1

Malwine commented 7 years ago

@dmarcos I will have a look πŸ€“

olga-microsoft commented 7 years ago

@dmarcos, getVRDisplays() in Edge on Windows Mobile returns 0 displays. The recommendation is to use Device Orientation API, whenever available, not only for phones. @Malwine I tried the polyfill link, the scene is jumping around. Our team will investigate, what causes the problem. Let me know if you have a different result.

Malwine commented 7 years ago

@olga-microsoft Thank you for investigating!! πŸ’› ❀️ I had exactly the same experience with my Lumia 950(Win 10) trying the polyfill link the boxes where jumping around and would only calm a bit when I put the phone on a stable ground (like a table). 😰
But I had the feeling that it would react on rotating. When I tried an aframe example I could not rotate(look to the side) with the Windows phone.

dmarcos commented 7 years ago

This triggered an old memory. A friend once told me that Edge Mobile DeviceMotion API apparently returns the rotationRate in degrees instead of radians. We have to add an isEdgeMobile clause to the following if statement in the polyfill to account for that:

https://github.com/googlevr/webvr-polyfill/blob/032684215904eadec83f3e8ca7e82fd69cdd993f/src/sensor-fusion/fusion-pose-sensor.js#L152

That's why probably the webvr-polyfill examples orientation jumps around

olga-microsoft commented 7 years ago

@dmarcos The spec mentions that degrees are expected: "The rotationRate attribute must be ... expressed in degrees per second (deg/s)." Would it be better to invert the if-clause instead?

dmarcos commented 7 years ago

@olga-microsoft Probably. The decision should be made by the polyfill maintainers.

cloud4every1 commented 7 years ago

I opened another request which seems to be related after some further research #3190 I work on an android device (Epson Moverio BT-300) which will no longer be detected as a VRDevice since 0.7.0. However, in 0.6.1 it works. Also the Three.js misc_controls_deviceorientation example works fine. When loading the 0.6.1 aframe-master.js the getVRDisplays returns a valid display. with 0.7.0 it does no longer return a display.