XRHandTracker

Успадковує: XRPositionalTracker < XRTracker < RefCounted < Object

Відстежена рука в XR.

Опис

Система відстеження рук створить екземпляр цього об'єкта і додасть його до XRServer. Ця система відстеження буде потім отримувати дані скелета, перетворювати його до скелета Godot Humanoid і зберігати дані на об'єкті XRHandTracker.

Використовуйте XRHandModifier3D, щоб скасувати ручну сітку за допомогою даних відстеження вручну.

Посібники

Властивості

TrackerHand

hand

1 (overrides XRPositionalTracker)

HandTrackingSource

hand_tracking_source

0

bool

has_tracking_data

false

TrackerType

type

16 (overrides XRTracker)

Методи

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)


Переліки

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 🔗

Джерело даних відстеження рук.


bool has_tracking_data = false 🔗

  • void set_has_tracking_data(value: bool)

  • bool get_has_tracking_data()

Якщо 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) 🔗

Налаштовує трансформацію для ручного суглоба.