-
Notifications
You must be signed in to change notification settings - Fork 162
Input Modules꞉ Vive
This module converts various positions on the Vive controllers into cursors. The module's main component provides properties to configure the local offsets (relative to the controller) that determine the cursor positions.
📷 Default cursor positions for the Vive controllers
This animation shows all the available cursors enabled simultaneously. A more common usage would be to enable only one or two cursors per controller. The "Pinky" cursors, which are placed on the "inside edge" of both controllers, are pre-configured for use with the Hovercast interface.
This input module is compatible with the SteamVR SDK.
The input module scene is named HoverInputModule-Vive, located in the /Assets/Hover/InputModules/Vive/Scenes
folder.
See the Input Modules page for details about loading input module scenes and defining symbols. To install this input module via its pre-built scene:
- Attach the
HoverSceneLoader
component to an object.- For the "Scene Folder Path" and "Scene Name" properties, replace the "NAME" placeholder text with "Vive".
- To load the scene before runtime, click the "Reload Scene" button.
- Define the
HOVER_INPUT_VIVE
symbol.
To install this module manually:
- Add the [CameraRig] prefab to the scene.
- Attach the
HoverInputVive
component to the prefab's root object. - Define the
HOVER_INPUT_VIVE
symbol.
📷 The HoverInputVive
component, with per-cursor properties
- The "Cursor Data Provider" property will automatically attempt to find the
HoverCursorDataProvider
component (in the HoverKit prefab). - The "Steam Controllers" and "Look Cursor Transform" properties will be set automatically.
- The per-cursor properties (like "Left Palm" and "Right Index") are pre-configured with default values.
The following properties can be set independently for each cursor:
Property | Description |
---|---|
Local Position/Rotation | Applied to the cursor as local offsets from the controller center. |
Trigger Strength Input | The axis/button that controls the cursor's "Trigger Strength". |
Cursor Size Input | The axis/button that controls the cursor's "Size". |
Min/Max Size | The cursor's size boundaries. By default, the cursor is sized via the midpoint between these two values. |
The two "Input" properties allow the following selections:
Option | Description |
---|---|
None | Ignores input, defaults to 0% (trigger strength) or 50% (cursor size). |
Trigger | Uses the trigger's linear value. |
Touchpad Y | Uses the touchpad's linear value from down to up. |
Touchpad Up | Uses the touchpad's linear value from center to up. |
Touchpad Down | Uses the touchpad's linear value from center to down. |
Touchpad X | Uses the touchpad's linear value from left to right. |
Touchpad Left | Uses the touchpad's linear value from center to left. |
Touchpad Right | Uses the touchpad's linear value from center to right. |
Touchpad Touch | Uses the touchpad "touch" state's boolean value. |
Touchpad Press | Uses the touchpad "press" state's boolean value. |
Grip Press | Uses the grip (on the controller sides) button's boolean value. |
Menu Press | Uses the menu (above the touchpad) button's boolean value. |
📷 All cursors set to "Is Raycast" mode
This animation shows all the available cursors projecting raycast lines. Typically, a scene the requires raycast functionality would enable only one cursor per controller.
General
Features
Modules
Other