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
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 delle mani è sconosciuta.
HandTrackingSource HAND_TRACKING_SOURCE_UNOBSTRUCTED = 1
La sorgente dei dati di tracciamento delle mani 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 delle mani è 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 delle mani, 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 delle mani.
bool has_tracking_data = false 🔗
Se true, i dati di tracciamento delle mani 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.