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...
XRHandTracker
Успадковує: XRPositionalTracker < XRTracker < RefCounted < Object
Відстежена рука в XR.
Опис
Система відстеження рук створить екземпляр цього об'єкта і додасть його до XRServer. Ця система відстеження буде потім отримувати дані скелета, перетворювати його до скелета Godot Humanoid і зберігати дані на об'єкті XRHandTracker.
Використовуйте XRHandModifier3D, щоб скасувати ручну сітку за допомогою даних відстеження вручну.
Посібники
Властивості
hand |
|
|
|
||
|
||
type |
|
Методи
get_hand_joint_angular_velocity(joint: HandJoint) const |
|
BitField[HandJointFlags] |
get_hand_joint_flags(joint: HandJoint) const |
get_hand_joint_linear_velocity(joint: HandJoint) const |
|
get_hand_joint_radius(joint: HandJoint) const |
|
get_hand_joint_transform(joint: HandJoint) const |
|
void |
set_hand_joint_angular_velocity(joint: HandJoint, angular_velocity: Vector3) |
void |
set_hand_joint_flags(joint: HandJoint, flags: BitField[HandJointFlags]) |
void |
set_hand_joint_linear_velocity(joint: HandJoint, linear_velocity: Vector3) |
void |
set_hand_joint_radius(joint: HandJoint, radius: float) |
void |
set_hand_joint_transform(joint: HandJoint, transform: Transform3D) |
Переліки
enum HandTrackingSource: 🔗
HandTrackingSource HAND_TRACKING_SOURCE_UNKNOWN = 0
Джерело даних відстеження рук невідомо.
HandTrackingSource HAND_TRACKING_SOURCE_UNOBSTRUCTED = 1
Джерело даних відстеження рук необґрунтовано, що означає, що використовується точний метод відстеження рук. До них відносяться оптичні відстеження рук, рукавиці даних тощо.
HandTrackingSource HAND_TRACKING_SOURCE_CONTROLLER = 2
Джерело даних відстеження рук є контролером, що означає, що спільні позиції посилені з вхідних контролерів.
HandTrackingSource HAND_TRACKING_SOURCE_NOT_TRACKED = 3
Дані відстеження руки не відстежуються, це означає, що рука закрита, контролер вимкнено, або відстеження не підтримується для поточного типу введення.
HandTrackingSource HAND_TRACKING_SOURCE_MAX = 4
Представляємо розмір HandTrackingSource enum.
enum HandJoint: 🔗
HandJoint HAND_JOINT_PALM = 0
Пальмовий суглоб.
HandJoint HAND_JOINT_WRIST = 1
Вристий суглоб.
HandJoint HAND_JOINT_THUMB_METACARPAL = 2
Тумба метакарпатичний суглоб.
HandJoint HAND_JOINT_THUMB_PHALANX_PROXIMAL = 3
Тонкий фаланкс проксимальний суглоб.
HandJoint HAND_JOINT_THUMB_PHALANX_DISTAL = 4
Тонкий фаланкс дистальний суглоб.
HandJoint HAND_JOINT_THUMB_TIP = 5
Наконечник натяжний суглоб.
HandJoint HAND_JOINT_INDEX_FINGER_METACARPAL = 6
Індекс пальцевий метакарпатичний суглоб.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL = 7
Індекс пальця фаланкс проксимальний суглоб.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE = 8
Індекс пальця фаланкс проміжний суглоб.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL = 9
Індекс палець фаланкс дистальний суглоб.
HandJoint HAND_JOINT_INDEX_FINGER_TIP = 10
Індекс кінчика пальця суглоба.
HandJoint HAND_JOINT_MIDDLE_FINGER_METACARPAL = 11
Середній палець метакарпатичний суглоб.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL = 12
Середній палець фаланкс проксимальний суглоб.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE = 13
Середній палець фаланкс проміжний суглоб.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL = 14
Середній палець фаланкс дистальний суглоб.
HandJoint HAND_JOINT_MIDDLE_FINGER_TIP = 15
Середній кінчик пальця суглоб.
HandJoint HAND_JOINT_RING_FINGER_METACARPAL = 16
Кільце пальця метакарпального суглоба.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL = 17
Кільце палець фаланкс проксимальний суглоб.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE = 18
Кільце палець фаланкс проміжний суглоб.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_DISTAL = 19
Кільце палець фаланкс дистальний суглоб.
HandJoint HAND_JOINT_RING_FINGER_TIP = 20
Кільце кінчика пальця суглоба.
HandJoint HAND_JOINT_PINKY_FINGER_METACARPAL = 21
Рожевий пальчик метакарпатичний суглоб.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL = 22
Рожевий палець фаланкс проксимальний суглоб.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE = 23
Рожевий палець фаланкс проміжний суглоб.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL = 24
Рожевий палець фаланкс дистальний суглоб.
HandJoint HAND_JOINT_PINKY_FINGER_TIP = 25
Рожевий кінчик пальця суглоб.
HandJoint HAND_JOINT_MAX = 26
Представляємо розмір HandJoint enum.
flags HandJointFlags: 🔗
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_VALID = 1
Дані орієнтації ручного суглоба діє.
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_TRACKED = 2
Активно відстежується орієнтація ручного суглоба. Чи не буде встановлено, чи тимчасово втрачено відстеження.
HandJointFlags HAND_JOINT_FLAG_POSITION_VALID = 4
Дані положення ручного суглоба дійсні.
HandJointFlags HAND_JOINT_FLAG_POSITION_TRACKED = 8
Посада ручного суглоба активно відстежується. Чи не буде встановлено, чи тимчасово втрачено відстеження.
HandJointFlags HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID = 16
Дані лінійної швидкості ручного суглоба дійсні.
HandJointFlags HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID = 32
Дані кутової швидкості ручного суглоба дійсні.
Описи властивостей
HandTrackingSource hand_tracking_source = 0 🔗
void set_hand_tracking_source(value: HandTrackingSource)
HandTrackingSource get_hand_tracking_source()
Джерело даних відстеження рук.
bool has_tracking_data = false 🔗
Якщо true, дані про відстеження руки дійсні.
Описи методів
Vector3 get_hand_joint_angular_velocity(joint: HandJoint) const 🔗
Повертає кутову швидкість для даної руки.
BitField[HandJointFlags] get_hand_joint_flags(joint: HandJoint) const 🔗
Повертає прапорці щодо достовірності даних відстеження для заданого суглоба кисті.
Vector3 get_hand_joint_linear_velocity(joint: HandJoint) const 🔗
Повертає лінійну швидкість даної руки.
float get_hand_joint_radius(joint: HandJoint) const 🔗
Повертає радіус даної руки.
Transform3D get_hand_joint_transform(joint: HandJoint) const 🔗
Повертає трансформацію на ручний суглоб.
void set_hand_joint_angular_velocity(joint: HandJoint, angular_velocity: Vector3) 🔗
Налаштовує кутову швидкість для ручного суглоба.
void set_hand_joint_flags(joint: HandJoint, flags: BitField[HandJointFlags]) 🔗
Налаштовує прапори про дійсність даних відстеження для даної руки.
void set_hand_joint_linear_velocity(joint: HandJoint, linear_velocity: Vector3) 🔗
Налаштовує лінійну швидкість даної руки.
void set_hand_joint_radius(joint: HandJoint, radius: float) 🔗
Налаштовує радіус даної руки з'єднання.
void set_hand_joint_transform(joint: HandJoint, transform: Transform3D) 🔗
Налаштовує трансформацію для ручного суглоба.