Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

WebXR gamepad module support. #2521

Merged
merged 10 commits into from
Apr 22, 2020
Merged

WebXR gamepad module support. #2521

merged 10 commits into from
Apr 22, 2020

Conversation

daoshengmu
Copy link
Contributor

Fixes #2237 and #2095.

I have checked it works properly in my local but I am still waiting for WebXRSession and WebXRInputSource implementation from GeckoView. We might can merge it first? Or we need to wait for WebXR works in GV?

I will be away for a couple of weeks. If there are some WebXR progress from GV, maybe someone from our team can continue to work on this.

@bluemarvin
Copy link
Contributor

I have checked it works properly in my local but I am still waiting for WebXRSession and WebXRInputSource implementation from GeckoView. We might can merge it first? Or we need to wait for WebXR works in GV?

I will be away for a couple of weeks. If there are some WebXR progress from GV, maybe someone from our team can continue to work on this.

What does GV need to do, I'm not aware of anything.

@daoshengmu
Copy link
Contributor Author

daoshengmu commented Dec 20, 2019

If we wanna confirm if WebXR selection event work (https://immersive-web.github.io/webxr-samples/input-selection.html). We need XRSession API [1] be landed to Gecko first, and check below

  attribute EventHandler onselect;
  attribute EventHandler onselectstart;
  attribute EventHandler onselectend;
  attribute EventHandler onsqueeze;
  attribute EventHandler onsqueezestart;
  attribute EventHandler onsqueezeend;

events work properly.

@bluemarvin
Copy link
Contributor

You implied you were waiting on GV work. But you just meant waiting for things to land in gecko then?

@daoshengmu daoshengmu self-assigned this Dec 23, 2019
@daoshengmu daoshengmu marked this pull request as ready for review December 25, 2019 02:06
@daoshengmu
Copy link
Contributor Author

daoshengmu commented Mar 24, 2020

I am going to give a commit for Oculus and Wave controllers button & axis mapping adjustment for WebXR.

@daoshengmu
Copy link
Contributor Author

We need to wait for Bug 1624762 lands.

@daoshengmu daoshengmu force-pushed the webxrgamepad branch 3 times, most recently from 00c43aa to e911b8e Compare March 31, 2020 22:49
@daoshengmu
Copy link
Contributor Author

Added PicoVR controllers support, and Bug 1624762 is under review process.

Copy link
Contributor

@MortimerGoro MortimerGoro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested Hello WebXR and the trigger click is not working (the grip works). It's the opposite in Oculus Browser, are the grip and the trigger inverted?

Copy link
Contributor

@MortimerGoro MortimerGoro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works as expected in Oculus. I didn't have 1624762 applied...

@daoshengmu
Copy link
Contributor Author

Updated GV because Bug 1624762 is landed. We can start to review it.

@daoshengmu daoshengmu requested a review from MortimerGoro April 1, 2020 19:28
@bluemarvin
Copy link
Contributor

Hello XR doesn't work with the Pico G2 4K, head is in the floor. With the Neo2 it seems like you can't leave the spray paint area because teleport stops working.

@bluemarvin
Copy link
Contributor

Okay, let's land this and fix the G2 in a follow up.

@daoshengmu
Copy link
Contributor Author

Bump GV to 77.0.20200418094905. I notice we should remove device::StageParameters flag for 3 DOF headset according to the spec. It doesn't affect our functionality in WebXR, but it might affect some demos of WebGL. I would like to remove it in v.11 and figure out it.

@bluemarvin
Copy link
Contributor

The Pico G2 controller is still coming out of the head in Hello WebXR.

@fernandojsg
Copy link

@bluemarvin have you tested if the controller is also coming out of the head on the threejs examples?

@daoshengmu
Copy link
Contributor Author

I gave a fix for positionEmulated in both of Gecko of FxR. Unfortunately, I don't have a 3DOF device on my hand. I need a volunteer to help me verify it.

@bluemarvin
Copy link
Contributor

@bluemarvin have you tested if the controller is also coming out of the head on the threejs examples?

I did test ball shooter and the controller came out of the head there as well. Obviously works fine in Oculus browser on the Go.

@bluemarvin
Copy link
Contributor

I gave a fix for positionEmulated in both of Gecko of FxR. Unfortunately, I don't have a 3DOF device on my hand. I need a volunteer to help me verify it.

Do I need to build a local version of GeckoView or did it already land in nightly?

@daoshengmu
Copy link
Contributor Author

I gave a fix for positionEmulated in both of Gecko of FxR. Unfortunately, I don't have a 3DOF device on my hand. I need a volunteer to help me verify it.

Do I need to build a local version of GeckoView or did it already land in nightly?

a local build version after applying my patch.

@bluemarvin
Copy link
Contributor

bluemarvin commented Apr 21, 2020

I gave a fix for positionEmulated in both of Gecko of FxR. Unfortunately, I don't have a 3DOF device on my hand. I need a volunteer to help me verify it.

Do I need to build a local version of GeckoView or did it already land in nightly?

a local build version after applying my patch.

The bug says it's closed. What patch do I need to apply?

Nevermind, I see.

@bluemarvin
Copy link
Contributor

I tested it on the G2 and the controller is still coming from the eyes.

@daoshengmu
Copy link
Contributor Author

I tested it on the G2 and the controller is still coming from the eyes.

It should be all right now if I did a right thing on my Go-like Quest.

@MortimerGoro
Copy link
Contributor

I have fixed the G2 K4 problem. We need to apply the elbow transform for immersive mode. WebXR needs it applied when using tracked-pointer origin in 3DOF controllers

@MortimerGoro
Copy link
Contributor

I found that select and squeeze actions where still triggered when clicking on the WebXR interstitial, so e.g. in Hello WebXR you could transport to a experience without wanting it.

Already fixed

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

Successfully merging this pull request may close these issues.

WebXR Input Event support and Select gesture
4 participants