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.