OpenXRHand

Устарело: Use XRHandModifier3D instead.

Наследует: Node3D < Node < Object

Узел, поддерживающий отслеживание рук и пальцев в OpenXR.

Описание

Этот узел включает функцию отслеживания рук OpenXR. Узел должен быть дочерним узлом узла XROrigin3D, отслеживание обновит его положение в соответствии с отслеживаемым положением сустава ладони руки игрока (центр пястной кости среднего пальца). Этот узел также обновляет скелет правильно скинированной руки или модели аватара.

Если скелет — это рука (одна из костей руки — корневой узел скелета), то скелет будет размещен относительно положения ладони руки, а сетка руки и скелет должны быть дочерними узлами OpenXRHand.

Если кости руки являются частью полного скелета, то корень руки сохранит свое местоположение с предположением, что для позиционирования руки и руки используется IK.

По умолчанию кости скелета руки изменяются в соответствии с размером отслеживаемой руки. Чтобы сохранить смоделированные размеры костей, измените bone_update на применение только вращения.

Свойства

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

Скелет, совместимый с OpenXR.

SkeletonRig SKELETON_RIG_HUMANOID = 1

Скелет, соответствующий SkeletonProfileHumanoid.

SkeletonRig SKELETON_RIG_MAX = 2

Максимально поддерживаемые руки.


enum BoneUpdate: 🔗

BoneUpdate BONE_UPDATE_FULL = 0

Кости скелета полностью обновлены (как положение, так и поворот) для соответствия отслеживаемым костям.

BoneUpdate BONE_UPDATE_ROTATION_ONLY = 1

Кости скелета поворачиваются только для того, чтобы выровняться с отслеживаемыми костями, сохраняя длину костей.

BoneUpdate BONE_UPDATE_MAX = 2

Максимально поддерживаемый режим обновления костей.


Описания свойств

BoneUpdate bone_update = 0 🔗

Укажите тип обновлений, которые необходимо выполнить для кости.


Hands hand = 0 🔗

Указывает, отслеживает ли этот узел левую или правую руку игрока.


NodePath hand_skeleton = NodePath("") 🔗

Установите узел Skeleton3D, для которого будут обновлены положения поз.


MotionRange motion_range = 0 🔗

Установите диапазон движения (если поддерживается), ограничивающий движение руки.


SkeletonRig skeleton_rig = 0 🔗

Установите тип скелетной оснастки, с которой совместим hand_skeleton.