Description
Motion controllers are the most common physical control input for VR headsets such as the touch controllers for Meta quest 2/3 and the knuckle controllers for valve index.
This consists of 2 controllers, one for the left hand and one for the right hand.
These controllers typically consist of a joystick, several front buttons, several shoulder buttons, and provide some form of motion control tracking typically inside-out tracking.
To accommodate this I propose we create several components to enable the use of motion controllers, and provide hookable eventing/tracking so that developers can utilise extensive use of motion controls for any purposes they need.
These components would consist of:
-
MotionController.vue
A single motion controller instance that represents a single motion controller, props will consist mainly of an assigned "handedness" which will dictate if it is a left or right handed controller. -
MotionControllers.vue
A parent component used to encapsulate a pair of MotionController components, one motion controller assigned to the left hand, and one motion controller assigned to the right hand
These components will be written to implement the WebXR gamepad module to facilitate this functionality https://www.w3.org/TR/webxr-gamepads-module-1/
Activity