Leap Motion

Leap Motion enabled detailed hand tracking with markerless optical detection. Individual finger movements can be tracked.

Prerequisites

InstantVR

InstantVR Advanced or Edge version 3.0 or higher is required.

InstantVR Advanced or Edge version 3.3. or higher is required for non-HMD mounted placement.

Humanoid Control

Leap Motion is supported in Humanoid Control VR+ and Pro. It is also available as a separate extension for Humanoid Control VR.

Hardware

HMD mounted Leap Motion is supported when it is mounted on Oculus Rift or HTC Vive using the Leap Motion VR Developer Mount.

Operating System

Leap Motion is  supported on Microsoft Windows 10.

Runtime

Leap Motion software version 3 or higher is required.

Unity

Unity version 5.5 or higher is required.

Setup

InstantVR

The script IVR_Leap should be added to the character’s GameObject. Make sure the IVR_Leap script is listed higher than any IVR_Traditional or IVR_Animator script.

InstantVR supports the Leap Motion in the HMD (like the Oculus Rift) mounted position. The tracking is range is roughly limited to the field of view of the HMD. InstantVR Advanced version 3.3 and higher also support placing the Leap Motion tracking on a table or other non-HMD mounted positions.

The Tracker Position is not used for Leap Motion when it is mounted on the HMD. In other cases, the real world position of the Leap Motion sensor can be set in the IVR_Leap script. The position is relative to the player’s position. If the sensor is 1 meter in front of you at a height of 0.8 meter from the ground, the Tracker Position should be set to x = 0, y = 0.8, z = 1. The rotation of the sensor can be set with the Tracker Rotation parameter. You can visualize the tracker position by enabling the Show Tracker option.

Humanoid Control

For Leap Motion to work, the Leap Motion Unity Code Assets needs to be imported into the project.
Go to Edit Menu->Preferences->Humanoid and look for the Leap Motion Support entry.

Click the button to go to the download page for the Leap Motion Assets.

After the assets have been imported, Leap Motion Support can be enabled in the preferences.

Disabling Leap Motion support ensures that no code related to Leap Motion is included in the build.

Targets

To enable tracking with the Leap Motion for an avatar, Leap Motion needs to be enabled in the Humanoid Control component.

The Leap Motion (Transform) is a reference to the Transform in the scene representing the Leap Motion Sensor. This GameObject is found as a child of the Real World GameObject and is only visible in the scene when Humanoid Control->Settings->Show Real Objects has been enabled.

The Leap Motion (Transform) can be used to set the position of the tracking relative to the player in the scene.

Hand Target

Hands are fully tracked (positional and rotational) while the hands are in the tracking range of the Leap Motion.

Full hand movements are supported with bending values for each finger individually while the hands are in the tracking range of the Leap Motion.