Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

XRHandModifier3D

Inherits: SkeletonModifier3D < Node3D < Node < Object

A node for driving hand meshes from XRHandTracker data.

Description

This node uses hand tracking data from an XRHandTracker to pose the skeleton of a hand mesh.

Positioning of hands is performed by creating an XRNode3D ancestor of the hand mesh driven by the same XRHandTracker.

The hand tracking position-data is scaled by Skeleton3D.motion_scale when applied to the skeleton, which can be used to adjust the tracked hand to match the scale of the hand model.

Tutorials

Properties

BoneUpdate

bone_update

0

StringName

hand_tracker

&"/user/hand_tracker/left"


Enumerations

enum BoneUpdate: 🔗

BoneUpdate BONE_UPDATE_FULL = 0

The skeleton's bones are fully updated (both position and rotation) to match the tracked bones.

BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1

The skeleton's bones are only rotated to align with the tracked bones, preserving bone length.

BoneUpdate BONE_UPDATE_MAX = 2

Represents the size of the BoneUpdate enum.


Property Descriptions

BoneUpdate bone_update = 0 🔗

Specifies the type of updates to perform on the bones.


StringName hand_tracker = &"/user/hand_tracker/left" 🔗

The name of the XRHandTracker registered with XRServer to obtain the hand tracking data from.