-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
WebXR Support #3875
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
WebXR Support #3875
Conversation
|
Rad! Can the webxr-polyfill help at all here? |
|
@jsantell Thanks for chipping in here. Does the |
…or component update (fixes aframevr#3875) (aframevr#3835) * skip buildData if just updating component directly (fixes aframevr#3875) * set attribute performance test
|
Currently, the webxr-polyfill is not smoothing out the differences between browsers and API changes yet, but the spec may get to a point soon (January?) where we'll have some confidence that fundamental things won't be changing frequently. At that point, the polyfill can handle those browser-specific quirks and compatibility checks, much like the webvr-polyfill does (and was especially valuable 1-2 years ago when WebVR 1.1 support was less consistent than it is now) That being said, in the mean time, if A-Frame targets WebXR, there's a single codepath targeting WebXR that gets mapped in the following platforms:
|
|
@jsantell thanks for the info. Super appreciated. |
|
@dmarcos no problem! I haven't evaluated all the post-TPAC WebXR changes yet, and for the next few months until thing stabilize, not sure what to do with the polyfill in the near term, but maybe something to bring up at the next IWWG call, webxr-polyfill support plan/goals etc., because the current state of WebXR is only available in Chrome, and in 3 months, it sounds like supporting Chrome 71ish and Chrome ~77 (or whenever WebXR 1.0 is slated, or looking rather stable) will be a lot of work, and low value considering the current iteration of WebXR will be mostly out of circulation at that point |
39359cd to
c83f44e
Compare
f9fc2db to
760498c
Compare
|
@jsantell I think A-Frame needs are well covered with the webvr-polyfill in the short term. As you said, probably better to wait a bit on the webxr-polyfill until the spec is locked in. |
c5fe691 to
4c9dd0a
Compare
|
good work |
|
One thing I would test is that in VR mode that children of the camera still get tracked. I saw matrixAutoUpdate was disabled, so the camera children trying to apply parent matrix might not update correctly. |
|
I think I have the issue mentioned by @ngokevin that the children of the camera component are not tracking. I have a scene with a camera with look-controls rotation a sphere with bands surrounding it to make rotations more visible. There is a mirror in the scene and I cannot see myself move. But only in vr mode and only on the Oculus go. It works fine on Chrome 72. |
Add WebXR support along WebVR and Cardboard.
tracked-controlsis now a trivial component that sets eithertracked-controls-webvrortracked-controls-webxrdepending on the available API. Easier to maintain and easier to deprecate the webvr component when the time comes. A reference to the controller, axis and buttonStates is set ontracked-controlsto avoid breaking some 3rd party components that access them directly.Moved THREE dependency to temporary branch until mrdoob/three.js#15290 and mrdoob/three.js#15242 merge.
Tested on:
Pending:
tracked-controlsandtracked-controls-webxrtests.Controller events. Current WebXR spec only emits one event / action as if the controller has a single button. The XRInputSource API is going to be revisited in the January F2F meeting and tracked-controls-webxr will evolve with it. As an interim solution Chrome has a WebXR Gamepad Support that provides a reference to a Gamepad in the InputSource object.
Testing on Daydream devices