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.
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.
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).