XRHandTracker
Eredita: XRPositionalTracker < XRTracker < RefCounted < Object
Una mano tracciata in XR.
Descrizione
Un sistema di tracciamento delle mani creerà un'istanza di questo oggetto e la aggiungerà al XRServer. Questo sistema di tracciamento otterrà quindi i dati dello scheletro, li convertirà nello scheletro della mano di Godot Humanoid e memorizzerà questi dati sull'oggetto XRHandTracker.
Utilizza XRHandModifier3D per animare una mesh di mano attraverso i dati di tracciamento delle mani.
Tutorial
Proprietà
hand |
|
|
|
||
|
||
type |
|
Metodi
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) |
Enumerazioni
enum HandTrackingSource: 🔗
HandTrackingSource HAND_TRACKING_SOURCE_UNKNOWN = 0
La sorgente dei dati di tracciamento della mano è sconosciuta.
HandTrackingSource HAND_TRACKING_SOURCE_UNOBSTRUCTED = 1
La sorgente dei dati di tracciamento della mano non è ostruita, il che significa che è utilizzato un metodo accurato di tracciamento delle mani. Questi includono il tracciamento ottico delle mani, guanti per dati, ecc.
HandTrackingSource HAND_TRACKING_SOURCE_CONTROLLER = 2
La sorgente dei dati di tracciamento della mano è un controller, il che significa che le posizioni delle articolazioni sono dedotte dagli input del controller.
HandTrackingSource HAND_TRACKING_SOURCE_NOT_TRACKED = 3
Non sono tracciati dati di tracciamento della mano, il che significa che la mano è coperta, il controller è spento oppure il tracciamento non è supportato per il tipo di input attuale.
HandTrackingSource HAND_TRACKING_SOURCE_MAX = 4
Rappresenta la dimensione dell'enumerazione HandTrackingSource.
enum HandJoint: 🔗
HandJoint HAND_JOINT_PALM = 0
Articolazione del palmo.
HandJoint HAND_JOINT_WRIST = 1
Articolazione del polso.
HandJoint HAND_JOINT_THUMB_METACARPAL = 2
Articolazione metacarpale del pollice.
HandJoint HAND_JOINT_THUMB_PHALANX_PROXIMAL = 3
Articolazione prossimale della falange del pollice.
HandJoint HAND_JOINT_THUMB_PHALANX_DISTAL = 4
Articolazione distale della falange del pollice.
HandJoint HAND_JOINT_THUMB_TIP = 5
Articolazione della punta del pollice.
HandJoint HAND_JOINT_INDEX_FINGER_METACARPAL = 6
Articolazione metacarpale dell'indice.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL = 7
Articolazione prossimale della falange dell'indice.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE = 8
Articolazione intermedia della falange dell'indice.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL = 9
Articolazione distale della falange dell'indice.
HandJoint HAND_JOINT_INDEX_FINGER_TIP = 10
Articolazione della punta dell'indice.
HandJoint HAND_JOINT_MIDDLE_FINGER_METACARPAL = 11
Articolazione metacarpale del dito medio.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL = 12
Articolazione prossimale della falange del dito medio.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE = 13
Articolazione intermedia della falange del dito medio.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL = 14
Articolazione distale della falange del dito medio.
HandJoint HAND_JOINT_MIDDLE_FINGER_TIP = 15
Articolazione della punta del dito medio.
HandJoint HAND_JOINT_RING_FINGER_METACARPAL = 16
Articolazione metacarpale dell'anulare.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL = 17
Articolazione prossimale della falange dell'anulare.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE = 18
Articolazione intermedia della falange dell'anulare.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_DISTAL = 19
Articolazione distale della falange dell'anulare.
HandJoint HAND_JOINT_RING_FINGER_TIP = 20
Articolazione della punta dell'anulare.
HandJoint HAND_JOINT_PINKY_FINGER_METACARPAL = 21
Articolazione metacarpale del mignolo.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL = 22
Articolazione prossimale della falange del mignolo.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE = 23
Articolazione intermedia della falange del mignolo.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL = 24
Articolazione distale della falange del mignolo.
HandJoint HAND_JOINT_PINKY_FINGER_TIP = 25
Articolazione della punta del mignolo.
HandJoint HAND_JOINT_MAX = 26
Rappresenta la dimensione dell'enumerazione HandJoint.
flags HandJointFlags: 🔗
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_VALID = 1
I dati sull'orientamento dell'articolazione della mano sono validi.
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_TRACKED = 2
L'orientamento dell'articolazione della mano è tracciato attivamente. Potrebbe non essere impostato se il tracciamento è stato perso temporaneamente.
HandJointFlags HAND_JOINT_FLAG_POSITION_VALID = 4
I dati sulla posizione dell'articolazione della mano sono validi.
HandJointFlags HAND_JOINT_FLAG_POSITION_TRACKED = 8
La posizione dell'articolazione della mano è tracciata attivamente. Potrebbe non essere impostato se il tracciamento è stato perso temporaneamente.
HandJointFlags HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID = 16
I dati sulla velocità lineare dell'articolazione della mano sono validi.
HandJointFlags HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID = 32
I dati sulla velocità angolare dell'articolazione della mano sono validi.
Descrizioni delle proprietà
HandTrackingSource hand_tracking_source = 0 🔗
void set_hand_tracking_source(value: HandTrackingSource)
HandTrackingSource get_hand_tracking_source()
La sorgente dei dati di tracciamento della mano.
bool has_tracking_data = false 🔗
Se true, i dati di tracciamento della mano sono validi.
Descrizioni dei metodi
Vector3 get_hand_joint_angular_velocity(joint: HandJoint) const 🔗
Restituisce la velocità angolare per l'articolazione della mano fornita.
BitField[HandJointFlags] get_hand_joint_flags(joint: HandJoint) const 🔗
Restituisce i flag sulla validità dei dati di tracciamento per l'articolazione della mano fornita.
Vector3 get_hand_joint_linear_velocity(joint: HandJoint) const 🔗
Restituisce la velocità lineare per l'articolazione della mano fornita.
float get_hand_joint_radius(joint: HandJoint) const 🔗
Restituisce il raggio dell'articolazione della mano fornita.
Transform3D get_hand_joint_transform(joint: HandJoint) const 🔗
Restituisce la trasformazione per l'articolazione della mano fornita.
void set_hand_joint_angular_velocity(joint: HandJoint, angular_velocity: Vector3) 🔗
Imposta la velocità angolare per l'articolazione della mano fornita.
void set_hand_joint_flags(joint: HandJoint, flags: BitField[HandJointFlags]) 🔗
Imposta i flag sulla validità dei dati di tracciamento per l'articolazione della mano fornita.
void set_hand_joint_linear_velocity(joint: HandJoint, linear_velocity: Vector3) 🔗
Imposta la velocità lineare per l'articolazione della mano fornita.
void set_hand_joint_radius(joint: HandJoint, radius: float) 🔗
Imposta il raggio per l'articolazione della mano fornita.
void set_hand_joint_transform(joint: HandJoint, transform: Transform3D) 🔗
Imposta la trasformazione per l'articolazione della mano fornita.