Skip to main content

HandPose

class · sealed immutable thread-safe
namespace AR51.Net;

public sealed class HandPose

The joint positions of one hand, from a headset with hand tracking.

Positions are in meters, in the same AR 51 world as the body (left-handed, X right, Y up, Z forward). Instances are immutable and safe to share across threads.

Units

Positions are in meters, in the AR 51 world: left-handed, X right, Y up, Z forward (the same axes as Unity). See Data conventions.

How-to

This page is reference (facts only). For a walkthrough with a complete sample, see the Skeletons guide.

Properties​

PropertyTypeAccessDescription
PositionsIReadOnlyList<Vector3>getJoint positions in meters, indexed by HandJoint.

Method summary​

MethodReturns
GetPositionVector3

→ Full descriptions in Method details below.

Method details​

GetPosition​

method
public Vector3 GetPosition(HandJoint joint);

Gets the position of a hand joint, in meters.

Parameters
jointHandJointThe joint.
ReturnsVector3The position, or (0, 0, 0) when the headset did not report this joint.

Small types used by this class, documented here.

HandJoint​

enum
public enum HandJoint

Hand joints reported in a HandPose. The value is the index into HandPose.Positions.

note

Joints run from the wrist to each fingertip. The thumb and little finger include the metacarpal joint near the wrist, so a hand has 23 joints.

ValueMeaning
Wrist = 0Wrist.
ThumbTrapezium = 1Thumb, trapezium joint at the base of the thumb.
ThumbMetacarpal = 2Thumb, metacarpal joint.
ThumbProximal = 3Thumb, proximal joint.
ThumbDistal = 4Thumb, distal joint.
ThumbTip = 5Thumb tip.
IndexProximal = 6Index finger, proximal joint (knuckle).
IndexIntermediate = 7Index finger, intermediate joint.
IndexDistal = 8Index finger, distal joint.
IndexTip = 9Index fingertip.
MiddleProximal = 10Middle finger, proximal joint (knuckle).
MiddleIntermediate = 11Middle finger, intermediate joint.
MiddleDistal = 12Middle finger, distal joint.
MiddleTip = 13Middle fingertip.
RingProximal = 14Ring finger, proximal joint (knuckle).
RingIntermediate = 15Ring finger, intermediate joint.
RingDistal = 16Ring finger, distal joint.
RingTip = 17Ring fingertip.
LittleMetacarpal = 18Little finger, metacarpal joint.
LittleProximal = 19Little finger, proximal joint (knuckle).
LittleIntermediate = 20Little finger, intermediate joint.
LittleDistal = 21Little finger, distal joint.
LittleTip = 22Little fingertip.

See also​

Was this page helpful?