0.6.0 • Published 8 years ago

aframe-proxy-controls v0.6.0

Weekly downloads
4
License
MIT
Repository
github
Last release
8 years ago

A-Frame proxy-controls Component

A-Frame component to proxy keyboard/gamepad controls between devices over WebRTC.

Overview

With a mobile device / Google Cardboard for WebVR, designing the UI around a single button is an obstacle. This component provides an experimental way to proxy user input events (keyboard, perhaps Leap Motion later) from a keyboard-connected device to the mobile viewer.

For performance, WebRTC DataStreams are used to minimize latency between the devices. Browser support for this standard is limited - notably, Safari (including all iPhone browsers) does not support it. I will consider adding fallback support via WebSockets in the future, if the latency is bearable.

Usage

Add the proxy-controls component to the scene, and use one of the input controller components on the object(s) you want to control. For example:

<a-scene proxy-controls>
  <a-entity id="player" gamepad-controls="controller: 2"></a-entity>
</a-scene>

The gamepad-controls component is available separately, here.

Options

Options are assigned with A-Frame's entity/component/property pattern:

<a-scene camera proxy-controls="enabled: true;
                                debug: true;
                                pairCode: 'my-secret-code';
                                enableOverlay: false;">

  <!-- scene content -->                                 
                                 
</a-scene>
PropertyDefaultDescription
enabledtrueEnables/disables event updates from the host.
debugfalseEnables/disables logging in the console.
proxyUrlhttps://proxy-controls.donmccurdy.comURL of the remote proxy server / signaling server.
pairCode\<random>Pair code that should be used to match with the remote host. If not provided, a random pair code is assigned.
enableOverlaytrueEnables/disables the overlay UI showing the pair code.
enableOverlayStylestrueEnables/disables the CSS used to style the pair code overlay.

Events

When the pair code is available, a proxycontrols.paircode event is fired. If you want to hide the default overlay, use this to show the pair code to the user as needed:

scene.addEventListener('proxycontrols.paircode', function (e) {
  console.log(e.detail.pairCode);
});
0.6.0

8 years ago

0.5.6

8 years ago

0.5.5

8 years ago

0.5.4

8 years ago

0.5.3

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.3

8 years ago

0.4.2

8 years ago