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) 🔗
Налаштовує трансформацію для ручного суглоба.