Up to date

This page is up to date for Godot 4.1. If you still find outdated information, please open an issue.

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:

Hands HAND_LEFT = 0

Tracking the player’s left hand.

Hands HAND_RIGHT = 1

Tracking the player’s right hand.

Hands HAND_MAX = 2

Maximum supported hands.


enum MotionRange:

MotionRange MOTION_RANGE_UNOBSTRUCTED = 0

When player grips, hand skeleton will form a full fist.

MotionRange MOTION_RANGE_CONFORM_TO_CONTROLLER = 1

When player grips, hand skeleton conforms to the controller the player is holding.

MotionRange MOTION_RANGE_MAX = 2

Maximum supported motion ranges.


Property Descriptions

Hands hand = 0

  • void set_hand ( Hands value )

  • Hands get_hand ( )

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


NodePath hand_skeleton = NodePath("")

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


MotionRange motion_range = 0

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