immersive-web / webxr-input-profiles

WebXR Gamepad assets, source library, and schema
https://immersive-web.github.io/webxr-input-profiles
Other
190 stars 50 forks source link

Pico 4 Ultra Controllers #269

Open kalegd opened 5 days ago

kalegd commented 5 days ago

Profile id N/A

Describe the bug Users have reported to me that their Pico 4 Ultra controllers are not oriented correctly. I'm using the latest version of the input profiles, but the weird thing is that pico 4 ultra isn't even an option, but somehow their controller model is getting loaded? I'm a little confused on how to proceed and rectify this issue

What I know

I'm guessing their browser does some weird overwriting thing?

To Reproduce Steps to reproduce the behavior:

  1. Use a Pico device or the Pico device emulator
  2. Go to any webxr website that uses webxr-input-profiles like https://sliceofmusic.com
  3. Begin an immersive XR session
  4. Look at your controllers and see the incorrect orientation

Expected behavior Generic fallback controller used, or the Pico 4 ultra controller is oriented correctly

Screenshots Video curtesy of Akumelion from the Pico discord as I don't own this headset (I did verify this strange behavior with the emulator as well)

https://github.com/user-attachments/assets/af8b8755-0b76-4e9b-bdfc-a790fa77c4af

3D engine (please complete the following information):

Additional context Requesting advice on how to best proceed, if anyone has any contacts from the Pico browser/headset teams, or if there are any recommended alternative solutions I could pursue?

toji commented 4 days ago

Hrm. That definitely sounds like they're intercepting the HTTP request and returning their own internal assets. Which I'm not exactly a fan of, but I guess could work out in some limited cases assuming that the assets that they deliver are actually well formatted and aligned. It's unfortunate that they don't seem to have taken the time to validate that here. (Also, this approach won't work for any sites not using that specific CDN.)

@song-fangzhen has contributed assets to this repo in the past on behalf of @picoxr. Perhaps they know who to direct this to? Unfortunately there's nothing that can be done on our side aside from ask that these devices be contributed to the public assets and used normally? Thanks for the analysis, though. It's helpful to know that these kind of strategies are being employed by the hardware manufacturers.

kalegd commented 2 days ago

You're welcome. It looks like @song-fangzhen's last commit in GitHub was October 2023, so I may do some digging to see if I can find a point of contact if they don't respond in the near future

danny-pico commented 2 days ago

@kalegd Hi,

Do you know if this happens on any other WebXR website? It would definitely help to know the PICO device OS + Browser version. Feel free to send me an email and I can help dig into this issue. I do see the issue with Sliceofmusic.com but it falls back on the Neo3 controller because there isn't a PICO4U profile available as expected. Odd that the user loads up the PICO4 Ultra controller. Did they perhaps add in the controller themselves?

Danny from PICO Danny.Saetern@bytedance.com

AkumaKitty commented 2 days ago

@kalegd Hi,

Do you know if this happens on any other WebXR website? It would definitely help to know the PICO device OS + Browser version. Feel free to send me an email and I can help dig into this issue. I do see the issue with Sliceofmusic.com but it falls back on the Neo3 controller because there isn't a PICO4U profile available as expected. Odd that the user loads up the PICO4 Ultra controller. Did they perhaps add in the controller themselves?

Danny from PICO Danny.Saetern@bytedance.com

Hi Danny, Video is made by me I am Moderator on our PICOXR Community Discord server. It loaded these controllers for me normally on PICO 4 Ultra using PICO Browser but as you can see they are in wrong position so it seems something for Ultra exists. https://github.com/user-attachments/assets/df157076-ac7e-4578-ad29-ccbe2410f11f