Aframe: HoloLens Support

Created on 1 Apr 2018  Â·  13Comments  Â·  Source: aframevr/aframe

The new RS4 update for HoloLens enables WebVR in Edge, but Aframe does not correctly present immersive view. The basic three.js examples such as "cubes" (https://threejs.org/examples/webvr_cubes.html) work on HoloLens, however Aframe 8.0 examples enter full screen click/drag mode instead of vr presentation. With Aframe 7.0, "Enter VR" button does nothing in Hololens.

  • A-Frame Version: 8.0
  • Platform / Device: HoloLens Edge Browser
  • Reproducible with basic Aframe 8.0 example: https://aframe.glitch.me/

Most helpful comment

I am closing this issue; Aframe works correctly once the "Enable WebVR" experimental flag is checked in Edge for HoloLens under "about:flags." WebVR is not an experimental feature for Windows 10 desktop Edge browser so I forgot to check this.

All 13 comments

Do you have access to console logs to see if there’s any error?

I am closing this issue; Aframe works correctly once the "Enable WebVR" experimental flag is checked in Edge for HoloLens under "about:flags." WebVR is not an experimental feature for Windows 10 desktop Edge browser so I forgot to check this.

Thanks for info

Is it by design of the hololens that there is no click event in immersive view? If there is a possibility to click can you please document that? I was unable to figure this out yet.

Thanks

@DominicBoettger I haven't been able to figure out the click event, but I did receive the following information from a Microsoft contact:

Currently both spatial controllers (for the WinMR on Desktop case) and hands (for HoloLens) are exposed via the standard W3C gamepad spec: https://www.w3.org/TR/gamepad/
Here is documentation on how to use the gamepad API with WebVR:
https://docs.microsoft.com/en-us/microsoft-edge/webvr/input
With regards to HoloLens – you will be able to listen to gamepadconnected and gamepaddisconnected events, and check the button pressed state (on HoloLens – the select action via finger tap will come through as a button pressed state at index 1). This is similar to what you’ll have available with the HoloLens clicker.

Wow. Thanks a lot!
I will test this next week. Very interesting!

wow...thanks. that was the only thing missing for me :)

I haven't had a chance to revisit this, were either of you able to get the click working?

The click event is available on the Hololens via the GamePad API as @KJStrand mentions.

It's available as navigator.getGamepads()[4].buttons[0].value.

Note, you'll have to wait for window.addEventListener("gamepadconnected", () => {}) for the gamepad to be available.

@rc1 I'd like to make a controller component for the Hololens. Could you share the full output of getGamepads?

@wmurphyrd it aligns with the Game Controller API. The specifics being:

  • It's the fifth item in the returned array from getGamepads
  • It has one button value 0 or, when airtapping, 1
  • The pose position will be location of the hand or, when a hand is out of the gesture FOV, the pose position is null

I hope that helps

Hololens support isn't fully working, as we can't exit immersive mode (see: #3513 Hololens fails to exitVR successfully)

3881

Was this page helpful?
0 / 5 - 0 ratings

Related issues

greggman picture greggman  Â·  4Comments

ghost picture ghost  Â·  3Comments

FireDragonGameStudio picture FireDragonGameStudio  Â·  5Comments

jcarpenter picture jcarpenter  Â·  4Comments

ngokevin picture ngokevin  Â·  5Comments