borismus / ray-input

http://smus.com/ray-input-webvr-interaction-patterns
Apache License 2.0
139 stars 20 forks source link

Doesn't work with Daydream View with Chromium (WebVR) neither Chrome Beta #16

Open arturitu opened 7 years ago

arturitu commented 7 years ago

I needed to change some things to make it work with Daydream (a link which work with with Chromium (57.0.2947.0) on my new Pixel device) > https://unboring.net/tmp/ray-input/

What I needed to do:

1) Comment e.preventDefault(); line as @bunnybones1 reported on #14

2) Modifying webvr-manager build because when you press cardboard button doesn't detect any hmd. And researching I think is because doesn't resolve Promise getDeviceByType_ as expected:

Because if (displays[i] instanceof type) { is false if you run this code on Chrome Beta or Chromium.

If you add a log: image

Returns: image

It seems VRDisplay is returning well, but when try to make a instanceof returns false (I guess) because its constructor is a [native code] (not sure about this) but if you make the same log with regular Chrome doesn't returns any [native code] and Cardboard as display name as expected:

image

Just two more things:

I used latest versions of:

"three": "^0.82.1",
"webvr-boilerplate": "^0.4.9",
"webvr-polyfill": "^0.9.23"

and it works well with Chromium (57.0.2947.0)

screenshot_20161231-083433

But with the last Chrome Beta (56.0.2924.23) doesn't seem ok:

screenshot_20161231-082748

I was talking with @klausw via Slack too, I hope this will be helpful in some way.

gravityrail commented 7 years ago

I can confirm that RayInput doesn't work on the current Android Chrome Beta (57.0.2987.97), but DOES work without changes on Chrome Canary (59.0.3037.0).

This is on my Google Pixel XL.

gravityrail commented 7 years ago

and also, btw, ThreeJS in general seems WAAAAAY faster in Chrome Canary. Night and day vs. Chrome Beta. Bodes well for the future of WebVR!

klausw commented 7 years ago

I've refactored this in https://github.com/borismus/ray-input/pull/26 , can you check if this works for you?