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.
Checking the stable version of the documentation...
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¶
|
||
|
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
void set_bone_update(value: BoneUpdate)
BoneUpdate get_bone_update()
Specifies the type of updates to perform on the bones.
StringName hand_tracker = &"/user/left"
void set_hand_tracker(value: StringName)
StringName get_hand_tracker()
The name of the XRHandTracker registered with XRServer to obtain the hand tracking data from.