OpenXRHand

Inherits: Node3D < Node < Object

Node supporting finger tracking in OpenXR.

Description

This node enables OpenXR's hand tracking functionality. The node should be a child node of an XROrigin3D node, tracking will update its position to where the player's actual hand is positioned. This node also updates the skeleton of a properly skinned hand model. The hand mesh should be a child node of this node.

Properties

Hands

hand

0

NodePath

hand_skeleton

NodePath("")

MotionRange

motion_range

0

Enumerations

enum Hands:

  • HAND_LEFT = 0 --- Tracking the player's left hand.

  • HAND_RIGHT = 1 --- Tracking the player's right hand.

  • HAND_MAX = 2 --- Maximum supported hands.


enum MotionRange:

  • MOTION_RANGE_UNOBSTRUCTED = 0 --- When player grips, hand skeleton will form a full fist.

  • MOTION_RANGE_CONFORM_TO_CONTROLLER = 1 --- When player grips, hand skeleton conforms to the controller the player is holding.

  • MOTION_RANGE_MAX = 2 --- Maximum supported motion ranges.

Property Descriptions

Default

0

Setter

set_hand(value)

Getter

get_hand()

Specifies whether this node tracks the left or right hand of the player.


Default

NodePath("")

Setter

set_hand_skeleton(value)

Getter

get_hand_skeleton()

Set a Skeleton3D node for which the pose positions will be updated.


Default

0

Setter

set_motion_range(value)

Getter

get_motion_range()

Set the motion range (if supported) limiting the hand motion.