Hand tracking and Ultrahaptics
Ultrahaptics uses ultrasound to create mid-air, touchless haptic feedback. The ultrasound array steers focused points of acoustic pressure in the interaction zone directly to the hand.
Ultrahaptics applications rely on the use of a 3D camera to provide accurate tracking of the position and orientation of the hands.
A camera tracking system capable of providing 3D, spatial coordinates can be used as a tracking camera with Ultrahaptics. For more sophisticated applications, finger position and direction are also needed
Our development kits are supplied with a Leap Motion® camera module. The Leap Motion® camera module is capable of tracking the hand and finger positions and orientation in real-time with good accuracy. You will need to install Leap Motion® drivers to run the Ultrahaptics Demo Suite and Sensation Editor.
Leap Motion® API
To develop your applications or to build the Ultrahaptics examples, the Leap Motion® SDK is needed (please see our guidelines on using the recommended Leap Motion® SDK for your platform). Register with Leap Motion’s developer site to download the SDK. Leap Motion®’s developer site provides a full suite of APIs as well as a Unity® plugin and example code.
Tip: Read our tutorial on building the Ultrahaptics SDK example code.
Hand tracking devices
Other third-party camera tracking systems, capable of providing 3D, spatial coordinates can also be used with Ultrahaptics, although these will need additional software for hand recognition and image processing in your application.
As any hand tracking device will have its own coordinate space, this must be translated to the Ultrahaptics device space. Our Demo Suite and Sensation Editor handle this automatically, as long as the Leap Motion® camera module is assumed to be attached to the included cradle.
When changing the location of the Leap Motion® camera module, or using an alternative tracking system, you must modify your application’s alignment settings. This is done by changing the application codes alignment matrix, used to translate between devices.