Group Hints¶
- group Hints
Hints a client may pass to the server to influence hand tracking settings and behaviour.
Some hints will represent an “Axis” (e.g. application type) where values are mutually exclusive. But other hints may not be explicitly on an axis (e.g. user is typing on a virtual keyboard and microgestures) but may not be actually compatible.
Some hints values will only be supported when the hand tracking service has a Hyperion license. These will be indicated in the hint documentation below. (Requests for unlicensed hints will be ignored)
Over time supported hints will be added and removed (unknown values will be ignored).
Defines
-
LEAP_HINT_HAND_ON_OBJECT¶
Requested using “hand_on_object”.
Hand tracking is being used while holding objects (Hyperion license required)
Optimises hand tracking where hands are occluded by objects being held. Achieves higher performance in these situations at the cost of more general tracking performance e.g. Mixed and Augmented Reality.
To confirm this hint is available the application can check for the presence of the Hyperion “Hyperion” feature flag.
-
LEAP_HINT_MICROGESTURES¶
Requested using “microgestures”.
Hand tracking is for being used for Microgestures (Hyperion license required)
Optimises the hand tracking for small, finer movements for user navigation and control.
To confirm this hint is available the application can check for the presence of the “Hyperion” feature flag.
-
LEAP_HINT_FAST_HAND_MOTION¶
Requested using “fast_hand_motion”.
Tracked hands are expected to be moving quickly.
The system will optimise for hands that move quickly at the cost of using more resources (CPU, camera bandwidth, memory and power)
-
LEAP_HINT_HIGH_HAND_FIDELITY¶
Requested using “high_hand_fidelity”.
Hand position accuracy is very important.
Increases the fidelity and responsiveness of hand tracking at the expense of compute resources (CPU, camera bandwidth, memory and power). Attempts to match available system resources will be made, however, callers should take steps to maintain sufficient application resources.
-
LEAP_HINT_LOW_RESOURCE_USAGE¶
Requested using “low_resource_usage”.
Minimising resource usage (CPU, camera bandwidth, memory and power) is very important.
The system will minimise resource usage at the cost of hand tracking quality. Using this hint to avoid OS throttling on a resource-constrained system might produce the best hand tracking experience.
-
LEAP_HINT_HIGH_BACKGROUND_ILLUMINATION¶
Requested using “high_background_illumination”.
Hand tracking is running in an environment with a high level of illumination, for an IR camera system it’s only the IR illumination the is relevant.
The system will optimise to track hands more reliably in these challenging conditions with a possible costs of latency, CPU and power.
-
LEAP_HINT_BALANCED¶
Requested using “balanced”.
Default tracking where there is no preference set. This mode is enabled on service restart.
-
LEAP_HINT_USER_INPUT¶
Requested using “user_input”.
Optimises hand predictions for user input into menus, keyboards or navigation panels.
-
LEAP_HINT_APP_IMMERSIVE¶
Requested using “app_immersive”.
Application Type Axis: Hand tracking is being used by an immersive application, i.e. VR
-
LEAP_HINT_APP_PASSTHROUGH¶
Requested using “app_passthrough”.
Application Type Axis: Hand tracking is being used by an application using passthrough, i.e. AR
-
LEAP_HINT_ULTRA_PERFORMANCE_MODE¶
Requested using “ultra_performance_mode”.
Hint: Increases the fidelity and responsiveness of hand tracking at the expense of compute resources.
Attempts to match available system resources may be made However, callers should take steps to maintain sufficient application resources”
-
LEAP_HINT_HAND_ON_OBJECT¶