All Projects → ultraleap → OpenXRHandTracking

ultraleap / OpenXRHandTracking

Licence: other
OpenXR API layer enabling XR_EXT_hand_tracking support using Ultraleap tracking

Projects that are alternatives of or similar to OpenXRHandTracking

UnityPlugin
Ultraleap SDK for Unity.
Stars: ✭ 447 (+1076.32%)
Mutual labels:  vr, leap-motion, mr, hand-tracking, leapmotion, xr, ultraleap
prismatic
Prismatic is a declarative JS library for creating 3D content for the Helio browser.
Stars: ✭ 35 (-7.89%)
Mutual labels:  vr, mr, xr
OpenXR-CTS
Conformance test suite for OpenXR
Stars: ✭ 38 (+0%)
Mutual labels:  vr, xr, openxr
UnityHandTrackingWithMediapipe
Realtime hand tracking and finger tracking in Unity using Mediapipe
Stars: ✭ 129 (+239.47%)
Mutual labels:  vr, hand-tracking
XRAcceptanceTests
This project is used to verify behavior of Unity configurations, compare features between Unity releases, and test for changes in performance.
Stars: ✭ 33 (-13.16%)
Mutual labels:  vr, xr
VSDK-Unity
VSDK is an XR software development kit that enables developers to quickly build XR experiences through systems for naturalistic user interactions and support across a wide variety of XR devices and peripherals. VSDK is available for Unity 3D and for Unreal Engine.
Stars: ✭ 26 (-31.58%)
Mutual labels:  vr, hand-tracking
StereoKit-PaintTutorial
Source for a Mixed Reality inking tutorial using StereoKit and C#!
Stars: ✭ 20 (-47.37%)
Mutual labels:  vr, mr
magnum-vr-ui
Magnum::Ui + Leap Motion + Oculus VR
Stars: ✭ 21 (-44.74%)
Mutual labels:  vr, leapmotion
emscripten-webxr
WebXR library for use with Emscripten.
Stars: ✭ 21 (-44.74%)
Mutual labels:  vr, xr
spacesvr
A standardized reality for the future of the 3D Web.
Stars: ✭ 135 (+255.26%)
Mutual labels:  vr, xr
YUXI-Mixed-Reality-Hardware-Toolkit
YUXI: The Mixed Reality Hardware Toolkit makes it easier to get started bridging the physical and digital using sensors and actuators to create interactions with VR/AR/MR content.
Stars: ✭ 21 (-44.74%)
Mutual labels:  vr, mr
webvrrocks
Your guide to Virtual Reality in the browser.
Stars: ✭ 116 (+205.26%)
Mutual labels:  vr, xr
Awesome Hand Pose Estimation
Awesome work on hand pose estimation/tracking
Stars: ✭ 2,196 (+5678.95%)
Mutual labels:  hand-tracking, hand-pose
OpenXR-Hpp
Open-Source OpenXR C++ language projection
Stars: ✭ 25 (-34.21%)
Mutual labels:  vr, openxr
awesome-3d
Awesome list of 3D resources. AR/MR/VR is the future, and 3D model is the basics of all of them.
Stars: ✭ 42 (+10.53%)
Mutual labels:  vr, mr
scenery
Flexible VR Visualisation for Volumetric and Geometric Data on the Java VM, powered by Kotlin and Vulkan
Stars: ✭ 107 (+181.58%)
Mutual labels:  vr, xr
icosa-viewer
3D Viewer component for Tilt Brush / Open Brush, Google Blocks files and their derivatives
Stars: ✭ 24 (-36.84%)
Mutual labels:  vr
ue4-mediapipe-plugin
UE4 MediaPipe plugin
Stars: ✭ 159 (+318.42%)
Mutual labels:  hand-tracking
WebSight
Aiding the visually impaired through real time augmented reality, AI object detection, WebGL shaders effects such as edge detection, and colour adjustments.
Stars: ✭ 26 (-31.58%)
Mutual labels:  vr
earth-webgl
Photorealistic 3D earth and space scene demo rendered and animated in WebGL.
Stars: ✭ 72 (+89.47%)
Mutual labels:  vr

Ultraleap OpenXR Hand Tracking API Layer

An implementation of the OpenXR XR_EXT_hand_tracking extension.

This library is implemented as a OpenXR API layer named XR_APILAYER_ULTRALEAP_hand_tracking, which adds:

  • XR_EXT_hand_tracking
  • XR_EXT_hand_joints_motion_range support to an existing OpenXR runtime which may or may not already support it. If an existing runtime already supports XR_EXT_hand_tracking, this API layer takes precedence and overrides it.

This API layer supports any Ultraleap or Leap Motion tracking devices supported by the existing Ultraleap Tracking Software, such as the Leap Motion Controller or the Ultraleap Stereo IR 170.

This API layer is an implicit API layer, and as-such, it requires no modification to an application to enable support. Any application which uses the XR_EXT_hand_tracking or any of the other above extensions will be able to use this layer with no modification.

Requirements

OpenXR Runtime

You will require an OpenXR runtime to be installed to use this API layer. The correct runtime will depend on your platform and XR hardware, some of the most common platforms are listed below:

Windows

Required OpenXR Extensions

Your OpenXR runtime is required to support the XR_KHR_win32_convert_performance_counter_time (Windows) or XR_KHR_convert_timespec_time (Unix) extensions. All major runtimes (including those listed above) support these.

Ultraleap Software

You will require the current Ultraleap Tracking Software to be installed to run any applications that use this API layer with OpenXR.

Downloading

The latest version of this API layer can be installed from the Releases page.

Windows Installation & Setup

Installing

Once downloaded run the EXE installer to installer the API layer.

You can verify that the installation has been successfully completed by installing the Microsoft Mixed Reality OpenXR Developer Tools App from the Microsoft Store. Once this is opened, navigate to the "System Status" tab, and you should see XR_EXT_hand_tracking listed in the Extensions section, and XR_APILAYER_ULTRALEAP_hand_tracking listed under the API Layers section.

This method of verification has only been confirmed with the Windows Mixed Reality OpenXR runtime, but should work with others as well.

Setup

The API layer will report hand-tracking as supported when this API layer is installed. To be able to actively use the hand tracking the following must all be true:

  • Leap Motion v5 Software installed and running
  • Ultraleap hand-tracking device attached and operating correctly
  • User's hands visible to the Ultraleap hand-tracking device.

Configuration

Mounting, Position & Tilt

The Ultraleap tracking device should be mounted on the front of your HMD in a suitable position, via a secure mounting method such as the Ultraleap VR Developer Mount.

The position of the Ultraleap tracking device, relative to your view position can be configured using the following environment variables (position relative to the interpupillary line).

Ultraleap Mounting Diagram

These environment variables must be set prior to the OpenXR application starting, if they are left unset, the default values (in brackets) are used:

  • ULTRALEAP_OPENXR_POS_X - Position in X in meters (default: 0.0m)
  • ULTRALEAP_OPENXR_POS_Y - Position in Y in meters (default: 0.0m)
  • ULTRALEAP_OPENXR_POS_Z - Position in Z in meters (default: -0.08m/-8cm)
  • ULTRALEAP_OPENXR_TILT_ANGLE - Tilt angle downwards in degrees from the forward facing horizontal (default 0)

Logging

The layer will log to %PROGRAMDATA%\Ultraleap\OpenXR\UltraleapOpenXR.log with errors and warnings generated during application usage of OpenXR. The logging location, and level can be controlled by the following environment variables:

  • ULTRALEAP_OPENXR_LOG_LEVEL - The logging level, supported levels are all, debug, info, warn, and error (default: "warn")

Disabling the API layer

If you wish to disable the API layer, this can be achieved by defining the DISABLE_XR_APILAYER_ULTRALEAP_HAND_TRACKING_1 environment variable to any value.

Uninstalling

Uninstallation can be performed from the Windows "Add or Remove Programs" area of the system settings.

Known issues

Known issues in this release, as well as previously fixed issues are tracked in CHANGELOG.md included with this release.

Reporting issues

If you encounter an issue with this release, please report it as an issue on our GitHub project.

Licensing

This project is licensed under the terms in LICENSE.md included with this release.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].