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.

OpenXRHand

已棄用: Use XRHandModifier3D instead.

繼承: Node3D < Node < Object

Node supporting hand and finger tracking in OpenXR.

說明

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 the player's tracked hand Palm joint location (the center of the middle finger's metacarpal bone). This node also updates the skeleton of a properly skinned hand or avatar model.

If the skeleton is a hand (one of the hand bones is the root node of the skeleton), then the skeleton will be placed relative to the hand palm location and the hand mesh and skeleton should be children of the OpenXRHand node.

If the hand bones are part of a full skeleton, then the root of the hand will keep its location with the assumption that IK is used to position the hand and arm.

By default the skeleton hand bones are repositioned to match the size of the tracked hand. To preserve the modeled bone sizes change bone_update to apply rotation only.

屬性

BoneUpdate

bone_update

0

Hands

hand

0

NodePath

hand_skeleton

NodePath("")

MotionRange

motion_range

0

SkeletonRig

skeleton_rig

0


列舉

enum Hands: 🔗

Hands HAND_LEFT = 0

追蹤玩家的左手。

Hands HAND_RIGHT = 1

追蹤玩家的右手。

Hands HAND_MAX = 2

最大支援的手數。


enum MotionRange: 🔗

MotionRange MOTION_RANGE_UNOBSTRUCTED = 0

玩家抓握時,手部骨架呈握拳狀。

MotionRange MOTION_RANGE_CONFORM_TO_CONTROLLER = 1

玩家抓握時,手部骨架遵循玩家所持的控制器。

MotionRange MOTION_RANGE_MAX = 2

最大支援的運動範圍。


enum SkeletonRig: 🔗

SkeletonRig SKELETON_RIG_OPENXR = 0

An OpenXR compliant skeleton.

SkeletonRig SKELETON_RIG_HUMANOID = 1

A SkeletonProfileHumanoid compliant skeleton.

SkeletonRig SKELETON_RIG_MAX = 2

最大支援的手數。


enum BoneUpdate: 🔗

BoneUpdate BONE_UPDATE_FULL = 0

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

BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1

The skeletons bones are only rotated to align with the tracked bones, preserving bone length.

BoneUpdate BONE_UPDATE_MAX = 2

Maximum supported bone update mode.


屬性說明

BoneUpdate bone_update = 0 🔗

Specify the type of updates to perform on the bone.


Hands hand = 0 🔗

指定該節點是追蹤玩家的左手還是右手。


NodePath hand_skeleton = NodePath("") 🔗

設定一個Skeleton3D節點,該節點的姿勢位置將被更新。


MotionRange motion_range = 0 🔗

設定限制手部運動的運動範圍(前提是支援)。


SkeletonRig skeleton_rig = 0 🔗

Set the type of skeleton rig the hand_skeleton is compliant with.