Leap Motion

From ETC Public Wiki
Jump to: navigation, search

Leap Motion is a depth-sensing controller used for hand tracking. The device can optionally be mounted on a HMD for hand tracking in VR/AR platforms.

Getting Started

Download the Orion SDK.

If using in conjunction with Oculus Rift or HTC Vive, follow the setup instructions on the website.

Download the Core Unity Assets. Also download the Interaction Engine if you intend on making responsive user interfaces, and the Hands module if you want to make your own rigged hand representations.

Programming Information

The documentation for the Leap Motion Unity Modules does a good job of explaining the intricacies of using the SDK, particularly for the Interaction Engine. When making your own custom interactable objects, a good start is to add the InteractionBehaviour component onto an object, and hook into the Hover/Contact/Grasp callbacks on the RigidBody.

Note that all interaction behaviours in Leap Motion use Unity physics; therefore all objects meant to be interacted separately with hands must be a RigidBody.

Art (2D & 3D) Information

Leap Motion has a few default hand representations -- Capsule Hands, Rigged Hands, and Attachment Hands. You can also rig your own hand models using the Hands Module.

Hand representation has a large effect on the perceived affordance of hands in VR. If you choose to use a custom hand representation, think carefully about what abilities are conveyed intrinsically by the visual representation of your hands.

Design Guidelines & Tips

While the Leap Motion tracker is fairly robust, you should always be prepared for loss of hand tracking and inaccurate hand poses, particularly when the hands are placed together.. Displaying clear feedback about the state of the tracking will be essential to maintaining a responsive experience.

Wrapper details

Leap motion details.

Example Code:

[Leap motion sample project download]