Global Architecture
]
Haply Inverse Service
The Haply Inverse Service is a foundational component that integrates Haply's tactile devices with interactive applications, running as a background Windows service to enable real-time interactions. Its functionalities include:
- Device Discovery and Management: Identifies and configures connected Haply devices automatically.
- Ownership Management: Manages access to devices across multiple applications, ensuring smooth operation.
- Real-Time State Streaming: Provides updates on device states at high frequencies for precise control.
- Command Processing: Executes commands for force or position with high fidelity, enhancing the haptic feedback.
- Background Operation: Runs in the background, maintaining device readiness without user intervention.
This service is essential for facilitating advanced haptic interactions within the Haply ecosystem.
Haply Inverse Unity Package
This package contains critical components for the integration and control of Haply's Inverse3 and VerseGrip devices within Unity environments.
Client Connection
The ClientConnection
class manages communication with the Haply Inverse Service through the haply-inverse-c.dll
C++ library and its .NET wrapper, Haply.Inverse.dll
.
It is instantiated in two contexts:
- As a singleton for Editor Mode, facilitating device list retrieval.
- Linked to the Device Mapper for communication in Play Mode.
Connection Monitor
The Connection Monitor tool offers insights into the Client Connection and connected devices' status, aiding developers in monitoring and debugging device connections.
For more details on the Connection Monitor, see here.
Haptic Rig
The Haptic Rig streamlines the setup for Inverse3 and VerseGrip devices in Unity, automatically configuring the scene with necessary game objects for device interaction. This setup is accessible through GameObject > Haply Inverse > Haptic Rig.
Options for dual Inverse3 devices or individual components are also available.
Inverse3 and VerseGrip Controllers
The Inverse3 and VerseGrip controllers map physical devices to Unity game objects, supported by the Device Mapper. They utilize high-frequency sensor data for accurate virtual interactions, ensuring consistency across devices.
Detailed information on Device Controllers can be found here.
Inverse3 and VerseGrip Cursors
These components adjust the game object's position and rotation based on the data from their corresponding device controllers, offering customizable use cases and simplifying model management. The cursor components, Inverse3 Cursor and VerseGrip Cursor, dynamically translate the devices' positional and rotational data into game object movements and orientations, allowing for intuitive and immersive interactions with the virtual scene.
Detailed information on Cursors can be found here.
Device Mapper
This utility ensures runtime connections to the Haply Inverse Service and maps devices to their respective device controllers, incorporating the Inverse Event Dispatcher for event communication.
Haptic Origin
Acts as the parent transform for device controllers, facilitating the Haptic Rig's scaling while maintaining cursor scale consistency.