A HapticDevice represents a connection to a device such as a Phantom Omni. Only one instance is required in a scene.
The buttons on the device trigger KeyPress and KeyRelease Meta_EventHandler nodes that can be added as children of this node.
The three buttons on the device dispatch __KeyCode values of 1100, 1101, and 1102.
bool - Enables haptics using the connected Omni device
vec3w - Contains the current position of the haptic cursor in world space
vec3w - Contains the current rotation of the haptic cursor in world space
vec3w - Contains the current velocity of the haptic cursor
float - Radius to grab geometry around the haptic cursor scaled to workspace size. Performance intensive; Can be reduced for scenes containing complex meshes at the expense of potential missed hits.
link - Link to an assembly providing the visual representation of the haptic cursor
vec3w - Translation of the haptic workspace relative according to the value of Idx_HapticSpaceMode
vec3w - Rotation offset of the haptic workspace that can be used to account for alignment of physical device installation
float - The spherical workspace diameter
SpaceMode - How to position the haptic space (using the WorkspaceTranslation).
bool - Draws a visual representation of the workspace showing the approximate range of movement of the device
TouchableFace - Specifies which faces of shapes will be touchable
Values for Idx_HapticSpaceMode.
Fixed world space. Camera may move freely as the haptic world is not connected to the camera.
Fixed world space but aligned to camera orientation. Camera must be stationary for haptics to be enabled.
Attached to camera. Camera must be stationary for haptics to be enabled.
Values for Idx_TouchableFace.
Haptic collisions use front faces of geometry.
Haptic collisions use back faces of geometry.
Haptic collisions use both faces of geometry.