Attention: Here be dragons

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

XRHandModifier3D

Inherits: SkeletonModifier3D < Node3D < Node < Object

A node for driving hand meshes from XRHandTracker data.

Description

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

This node positions itself at the XRHandTracker.HAND_JOINT_PALM position and scales itself to XRServer.world_scale. Adding the hand model as a child of this node will result in the model being positioned and scaled correctly for XR experiences.

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/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/left"

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


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.