PICO Unity XR SDK
PXR_HandTracking Class Reference

Static Public Member Functions

static bool GetSettingState ()
 Gets the status of hand tracking. More...
 
static ActiveInputDevice GetActiveInputDevice ()
 Gets the current input control device. More...
 
static bool GetAimState (HandType hand, ref HandAimState aimState)
 Gets the interaction status of a specified hand. More...
 
static bool GetJointLocations (HandType hand, ref HandJointLocations jointLocations)
 Gets the pose data for a hand. More...
 

Member Function Documentation

◆ GetSettingState()

static bool GetSettingState ( )
static

Gets the status of hand tracking.

Returns
  • true: enabled
  • false: disabled

◆ GetActiveInputDevice()

static ActiveInputDevice GetActiveInputDevice ( )
static

Gets the current input control device.

Returns
  • 0(HeadActive): HMD
  • 1(ControllerActive): controller
  • 2(HandTrackingActive): hand

◆ GetAimState()

static bool GetAimState ( HandType  hand,
ref HandAimState  aimState 
)
static

Gets the interaction status of a specified hand.

Parameters
handThe hand to get the interaction status for:
  • 0(HandLeft): left hand
  • 1(HandRight): right hand
aimStateReturns the data about the interaction status of the specified hand.
Returns
The HandAimState struct that contains the following data about hand interaction status:
  • aimStatus: HandAimStatus, the status of hand tracking, including:
    • 0x00000001(AimComputed): whether the data is valid
    • 0x00000002(AimRayValid): whether the ray was displayed
    • 0x00000004(AimIndexPinching): whether the index finger pinched
    • 0x00000008(AimMiddlePinching): whether the middle finger pinched
    • 0x00000010(AimRingPinching): whether the ring finger pinched
    • 0x00000020(AimLittlePinching): whether the little finger pinched
    • 0x00000200(AimRayTouched): whether the ray touched
  • aimRayPose: Posef, ray pose
  • pinchStrengthIndex: float, the strength of index finger pinch
  • pinchStrengthMiddle: float, the strength of middle finger pinch
  • pinchStrengthRing: float, the strength of ring finger pinch
  • pinchStrengthLittle: float, the strength of little finger pinch
  • touchStrengthRay: float, the strength of ray touch If you use the hand prefabs without changing any of their default settings, such as hand joints, you can get the following data:
  • Computed: bool, whether the data is valid
  • RayPose: Posef, ray pose
  • RayValid: bool, whether the ray was displayed
  • RayTouched: bool, whether the ray touched
  • TouchStrengthRay: float, the strength of ray touch
  • IndexPinching: bool, whether the index finger pinched
  • MiddlePinching: bool, whether the middle finger pinched
  • RingPinching: bool, whether the ring finger pinched
  • LittlePinching: bool, whether the little finger pinched
  • PinchStrengthIndex: float, the strength of index finger pinch
  • PinchStrengthMiddle: float, the strength of middle finger pinch
  • PinchStrengthRing: float, the strength of ring finger pinch
  • PinchStrengthLittle: float, the strength of little finger pinch

◆ GetJointLocations()

static bool GetJointLocations ( HandType  hand,
ref HandJointLocations  jointLocations 
)
static

Gets the pose data for a hand.

Parameters
handThe hand to get pose data for:
  • 0(HandLeft): left hand
  • 1(HandRight): right hand
jointLocationsReturns the pose data of the specified hand.
Returns
The HandJointLocations struct that contains the following pose data:
  • isActive: uint, hand tracking quality (0: low; 1: high)
  • jointCount: uint, the number of joints
  • handScale: float, the scale of the hand
  • jointLocations: HandJointLocation[], the locations of joints, including:
    • locationStatus: the status of joints, including the following enumerations:
      • 0x00000001(OrientationValid): whether the hand's orientation is valid
      • 0x00000002(PositionValid): whether the hand's position is valid
      • 0x00000004(OrientationTracked): whether the hand's orientation is tracked
      • 0x00000008(PositionTracked): whether the hand's position is tracked
    • pose: the poses of joints, including:
      • Orientation: hand orientation
      • Position: hand position
    • radius: the radius of joints

The documentation for this class was generated from the following file: