Files
VIVE-OpenXR-Unity/com.htc.upm.vive.openxr/Runtime/Features/Hand/Tracking/Documentation/OpenXRExtensions.md
2023-09-14 18:17:47 +08:00

3.1 KiB

12.28 XR_EXT_hand_tracking

Name String

XR_EXT_hand_tracking

Revision

4

New Object Types

New Enum Constants

  • XR_HAND_JOINT_COUNT_EXT XrObjectType enumeration is extended with:
  • XR_OBJECT_TYPE_HAND_TRACKER_EXT XrStructureType enumeration is extended with:
  • XR_TYPE_SYSTEM_HAND_TRACKING_PROPERTIES_EXT
  • XR_TYPE_HAND_TRACKER_CREATE_INFO_EXT
  • XR_TYPE_HAND_JOINTS_LOCATE_INFO_EXT
  • XR_TYPE_HAND_JOINT_LOCATIONS_EXT
  • XR_TYPE_HAND_JOINT_VELOCITIES_EXT

New Enums

New Structures

New Functions

VIVE Plugin

After enabling the "VIVE Focus3 Hand Tracking" from "Project Settings > XR Plugin-in Management > OpenXR > Android Tab", you can retrieve the XrHandJointLocationEXT by using the following code.

using VIVE.OpenXR.Hand;

XrHandJointLocationEXT[] HandjointLocations = new XrHandJointLocationEXT[(int)XrHandJointEXT.XR_HAND_JOINT_MAX_ENUM_EXT];
var feature = OpenXRSettings.Instance.GetFeature<ViveHandTracking>();
if (feature && feature.GetJointLocations(isLeft, out HandjointLocations))
{
    // now you have the hand joint data
}

Refer to /Plugin/Input/Scripts/VIVE/RenderHand.cs about the sample code.