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...
OpenXRHand
Устарело: Use XRHandModifier3D instead.
Наследует: Node3D < Node < Object
Узел, поддерживающий отслеживание рук и пальцев в OpenXR.
Описание
Этот узел включает функцию отслеживания рук OpenXR. Узел должен быть дочерним узлом узла XROrigin3D, отслеживание обновит его положение в соответствии с отслеживаемым положением сустава ладони руки игрока (центр пястной кости среднего пальца). Этот узел также обновляет скелет правильно скинированной руки или модели аватара.
Если скелет — это рука (одна из костей руки — корневой узел скелета), то скелет будет размещен относительно положения ладони руки, а сетка руки и скелет должны быть дочерними узлами OpenXRHand.
Если кости руки являются частью полного скелета, то корень руки сохранит свое местоположение с предположением, что для позиционирования руки и руки используется IK.
По умолчанию кости скелета руки изменяются в соответствии с размером отслеживаемой руки. Чтобы сохранить смоделированные размеры костей, измените bone_update на применение только вращения.
Свойства
|
||
|
||
|
||
|
||
|
Перечисления
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 🔗
void set_bone_update(value: BoneUpdate)
BoneUpdate get_bone_update()
Укажите тип обновлений, которые необходимо выполнить для кости.
Указывает, отслеживает ли этот узел левую или правую руку игрока.
NodePath hand_skeleton = NodePath("") 🔗
Установите узел Skeleton3D, для которого будут обновлены положения поз.
MotionRange motion_range = 0 🔗
void set_motion_range(value: MotionRange)
MotionRange get_motion_range()
Установите диапазон движения (если поддерживается), ограничивающий движение руки.
SkeletonRig skeleton_rig = 0 🔗
void set_skeleton_rig(value: SkeletonRig)
SkeletonRig get_skeleton_rig()
Установите тип скелетной оснастки, с которой совместим hand_skeleton.