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
Hérite de : XRPositionalTracker < XRTracker < RefCounted < Object
Une main suivie en XR.
Description
Un système de suivi des mains créera une instance de cet objet et l'ajoutera au XRServer. Ce système de suivi obtiendra ensuite des données de squelette, les convertira en squelette de main Godot Humanoid et stockera ces données sur l'objet XRHandTracker.
Utilisez XRHandModifier3D pour animer un maillage de main en utilisant des données de suivi des mains.
Tutoriels
Propriétés
hand |
|
|
|
||
|
||
type |
|
Méthodes
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) |
Énumérations
enum HandTrackingSource: 🔗
HandTrackingSource HAND_TRACKING_SOURCE_UNKNOWN = 0
La source de données de suivi des mains est inconnue.
HandTrackingSource HAND_TRACKING_SOURCE_UNOBSTRUCTED = 1
La source de données de suivi à la main n'est pas obstruée, ce qui signifie qu'une méthode précise de suivi des mains est utilisée. Cela inclut du suivi optique des mains, des gants de données, etc.
HandTrackingSource HAND_TRACKING_SOURCE_CONTROLLER = 2
La source de données du suivi des mains est un contrôleur, ce qui signifie que les positions des articulations sont inférées à partir des entrées du contrôleur.
HandTrackingSource HAND_TRACKING_SOURCE_NOT_TRACKED = 3
Aucune donnée de suivi des mains n'est suivie, cela signifie que soit la main est obstruée, soit le contrôleur est éteint, ou le suivi n'est pas supporté pour le type d'entrée actuel.
HandTrackingSource HAND_TRACKING_SOURCE_MAX = 4
Représente la taille de l'énumération HandTrackingSource.
enum HandJoint: 🔗
HandJoint HAND_JOINT_PALM = 0
Articulation de la paume.
HandJoint HAND_JOINT_WRIST = 1
Articulation du poignet.
HandJoint HAND_JOINT_THUMB_METACARPAL = 2
Articulation métacarpienne du pouce.
HandJoint HAND_JOINT_THUMB_PHALANX_PROXIMAL = 3
Articulation de la phalange proximale du pouce.
HandJoint HAND_JOINT_THUMB_PHALANX_DISTAL = 4
Articulation de la phalange distale du pouce.
HandJoint HAND_JOINT_THUMB_TIP = 5
Articulation du bout du pouce.
HandJoint HAND_JOINT_INDEX_FINGER_METACARPAL = 6
Articulation métacarpienne de l'index.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_PROXIMAL = 7
Articulation de la phalange proximale de l'index.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_INTERMEDIATE = 8
Articulation de la phalange intermédiaire de l'index.
HandJoint HAND_JOINT_INDEX_FINGER_PHALANX_DISTAL = 9
Articulation de la phalange distale de l'index.
HandJoint HAND_JOINT_INDEX_FINGER_TIP = 10
Articulation du bout de l'index.
HandJoint HAND_JOINT_MIDDLE_FINGER_METACARPAL = 11
Articulation métacarpale du majeur.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_PROXIMAL = 12
Articulation de la phalange proximale du majeur.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_INTERMEDIATE = 13
Articulation de la phalange intermédiaire du majeur.
HandJoint HAND_JOINT_MIDDLE_FINGER_PHALANX_DISTAL = 14
Articulation de la phalange distale du majeur.
HandJoint HAND_JOINT_MIDDLE_FINGER_TIP = 15
Articulation du bout du majeur.
HandJoint HAND_JOINT_RING_FINGER_METACARPAL = 16
Articulation métacarpienne de l'annulaire.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_PROXIMAL = 17
Articulation de la phalange proximale de l'annulaire.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_INTERMEDIATE = 18
Articulation de la phalange intermédiaire de l'annulaire.
HandJoint HAND_JOINT_RING_FINGER_PHALANX_DISTAL = 19
Articulation de la phalange distale de l'auriculaire.
HandJoint HAND_JOINT_RING_FINGER_TIP = 20
Articulation du bout de l'annulaire.
HandJoint HAND_JOINT_PINKY_FINGER_METACARPAL = 21
Articulation métacarpienne de l'auriculaire.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_PROXIMAL = 22
Articulation de la phalange proximale de l'auriculaire.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_INTERMEDIATE = 23
Articulation de la phalange intermédiaire de l'auriculaire.
HandJoint HAND_JOINT_PINKY_FINGER_PHALANX_DISTAL = 24
Articulation de la phalange distale de l'auriculaire.
HandJoint HAND_JOINT_PINKY_FINGER_TIP = 25
Articulation du bout de l'auriculaire.
HandJoint HAND_JOINT_MAX = 26
Représente la taille de l'énumération HandJoint.
flags HandJointFlags: 🔗
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_VALID = 1
La donnée de l'orientation de l'articulation de la main est valide.
HandJointFlags HAND_JOINT_FLAG_ORIENTATION_TRACKED = 2
L'orientation de l'articulation de main est activement suivie. Peut ne pas être défini si le suivi a été temporairement perdu.
HandJointFlags HAND_JOINT_FLAG_POSITION_VALID = 4
Les données de position de l'articulation de la main est valide.
HandJointFlags HAND_JOINT_FLAG_POSITION_TRACKED = 8
La position de l'articulation de main est activement suivie. Peut ne pas être défini si le suivi a été temporairement perdu.
HandJointFlags HAND_JOINT_FLAG_LINEAR_VELOCITY_VALID = 16
La donnée de la vitesse linéaire de l'articulation de la main est valide.
HandJointFlags HAND_JOINT_FLAG_ANGULAR_VELOCITY_VALID = 32
La donnée de la vélocité angulaire de l’articulation de la main est valide.
Descriptions des propriétés
HandTrackingSource hand_tracking_source = 0 🔗
void set_hand_tracking_source(value: HandTrackingSource)
HandTrackingSource get_hand_tracking_source()
La source des données du suivi des mains.
bool has_tracking_data = false 🔗
Si true, les données de suivi des mains sont valides.
Descriptions des méthodes
Vector3 get_hand_joint_angular_velocity(joint: HandJoint) const 🔗
Renvoie la vélocité angulaire en l'articulation de main donnée.
BitField[HandJointFlags] get_hand_joint_flags(joint: HandJoint) const 🔗
Renvoie des drapeaux sur la validité des données de suivi pour l'articulation de main donnée.
Vector3 get_hand_joint_linear_velocity(joint: HandJoint) const 🔗
Renvoie la vélocité linéaire pour l'articulation de main donnée.
float get_hand_joint_radius(joint: HandJoint) const 🔗
Renvoie le rayon de l'articulation de main donnée.
Transform3D get_hand_joint_transform(joint: HandJoint) const 🔗
Renvoie la transformation pour l'articulation de main donnée.
void set_hand_joint_angular_velocity(joint: HandJoint, angular_velocity: Vector3) 🔗
Définit la vélocité angulaire pour l'articulation de main donnée.
void set_hand_joint_flags(joint: HandJoint, flags: BitField[HandJointFlags]) 🔗
Définit des drapeaux sur la validité des données de suivi pour l'articulation de main donnée.
void set_hand_joint_linear_velocity(joint: HandJoint, linear_velocity: Vector3) 🔗
Définit la vélocité linéaire pour l'articulation de main donnée.
void set_hand_joint_radius(joint: HandJoint, radius: float) 🔗
Définit le rayon de l'articulation de main donnée.
void set_hand_joint_transform(joint: HandJoint, transform: Transform3D) 🔗
Définit la transformation pour l'articulation de main donnée.