WebXR emulator extension
WebXR emulator extension is a browser extension which helps your WebXR content creation. It enables to responsively run WebXR application on your desktop browser without the need of any XR devices.
- WebXR API polyfill
- Multiple XR devices emulation
- Graphical device emulator control with Three.js
- Cross browsers support with WebExtensions API
Currently the development of this extension is still at an early stage.
- Tested only on Three.js WebVR examples so far
- Based on WebXR device API draft issued on May 21 2019
- No full WebXR API support yet
- No precise device emulation yet
- Supports only trigger button, not other buttons
- Supports only VR, not AR yet
This extension is built on top of WebExtensions API. It works on Firefox, Chrome, and other browsers supporting the API.
How to use
Go to WebXR application page (for example, Three.js examples). You will notice that the application detects that you have a VR device (emulated) and it will let you enter the immersive (VR) mode.
Open "WebXR" tab in the browser developer tool (Firefox, Chrome) to controll the emulated devices. You can move the headset and controllers and trigger the controller buttons. You will see their transforms reflected in the WebXR application.
You can congifure some settings from the left top in the WebXR tab. To reflect the change, you need to reload the application page.
You can switch emulated device. The difference between devices is just degrees of freedom and the number of controllers for now.
|Google Cardboard||3dof headset and no controller|
|HTC Vive||6dof headset and two 6dof controllers|
|Oculus Go||3dof headset and 3dof controller|
|Oculus Quest||6dof headset and two 6dof controllers|
|Samsung Gear VR||3dof headset and 3dof controller|
You can enable/disable Stereo Effect which renders two views.
|Enable||Enables Stereo effect|
|Disable||Disables Stereo effect|
- (09/11/2019) Currenlty it seems that the extension causes errors on A-Frame and it can stop A-Frame applicaiton so that you need to uninstall the extension for it. The root issue seems A-Frame uses old WebXR API while the extension uses the new one. See #100 and #81 (Update on 09/18/2019) It seems A-Frame updates their WebXR API in next release aframe/issues/4268
Thanks to WebVR-Extension project, it was a true inspiration for us when building this one.
Mozilla Public License Version 2.0