Work in progress

Godot documentation is being updated to reflect the latest changes in version 4.0. Some documentation pages may still state outdated information. This banner will tell you if you're reading one of such pages.

The contents of this page are up to date. If you can 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.