Skip to content

Latest commit

 

History

History
70 lines (56 loc) · 4.5 KB

tracked-controls.md

File metadata and controls

70 lines (56 loc) · 4.5 KB
title type layout parent_section source_code examples
tracked-controls
components
docs
components
src/components/tracked-controls.js

The tracked-controls component interfaces with tracked controllers. tracked-controls uses the Gamepad API to handle tracked controllers, and is abstracted by the hand-controls component as well as the vive-controls, meta-touch-controls, windows-motion-controls components. This component elects the appropriate controller, applies pose to the entity, observes buttons state and emits appropriate events. For non-6DOF controllers, a primitive arm model is used to emulate positional data.

tracked-controls sets two components that handles different Web API versions for VR:

  • tracked-controls-webvr
  • tracked-controls-webxr

Example

Note that due to recent browser-specific changes, Vive controllers may be returned by the Gamepad API with id values of either "OpenVR Gamepad" or "OpenVR Controller", so using idPrefix for Vive / OpenVR controllers is recommended.

<a-entity tracked-controls="controller: 0; idPrefix: OpenVR"></a-entity>

Value

Property Description Default Value
autoHide Whether to toggle visibility automatically when controller is connected or disconnected. true
controller Index of the controller in array returned by the Gamepad API. 0
id Selects the controller from the Gamepad API using exact match.
idPrefix Selects the controller from the Gamepad API using prefix match.
headElement Head element for arm model if needed (if not active camera).
hand Which hand to use, if arm model is needed. (left negates X) right
space Specifies whether to use targetRayspace or gripSpace to determine controller pose. targetRaySpace

Events

Event Name Description
controllerconnected Controller connected and set up.
controllerdisconnected Controller disconnected.
axismove Axis changed (e.g., for thumbstick, touchpad). Contains axis and axesChanged in the event detail. axis is an array of values from -1.0 (left, down) to 1.0 (right, up).
buttonchanged Any touch or press of a button fires this.
buttondown Button pressed.
buttonup Button released.
touchstart Touch sensitive button touched.
touchend Touch sensitive button released.

More Resources