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...
XRPositionalTracker
Hérite de : XRTracker < RefCounted < Object
Hérité par : OpenXRSpatialEntityTracker, XRBodyTracker, XRControllerTracker, XRHandTracker
Un objet suivi.
Description
Une instance de cet objet représente un dispositif qui est suivi, comme un contrôleur ou un point d'ancrage. Les casques ne sont pas représentés ici car ils sont gérés en interne.
Quand les contrôleurs sont activés et que XRInterface les détecte, les instances de cet objet sont automatiquement ajoutées à cette liste d'objets suivis actifs accessibles par le XRServer.
Les XRNode3D et XRAnchor3D consomment tous les deux des objets de ce type et doivent être utilisés dans votre projet. Les trackers positionnels sont juste des objets sous le capot qui font fonctionner tout ça. Ceux-ci sont généralement exposés de sorte que les interfaces basées sur GDExtension peuvent interagir avec eux.
Tutoriels
Propriétés
|
||
|
Méthodes
get_input(name: StringName) const |
|
get_pose(name: StringName) const |
|
has_pose(name: StringName) const |
|
void |
invalidate_pose(name: StringName) |
void |
set_input(name: StringName, value: Variant) |
void |
set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) |
Signaux
button_pressed(action_name: String) 🔗
Émis quand un bouton sur ce tracker est pressé. Notez que de nombreux environnements d'exécution XR permettent de mapper d'autres entrées sur des boutons.
button_released(action_name: String) 🔗
Émis lorsqu'un bouton sur ce tracker est relâché.
input_float_changed(action_name: String, value: float) 🔗
Émis lorsqu'une gâchette ou une entrée similaire sur ce tracker change de valeur.
input_vector2_changed(action_name: String, vector: Vector2) 🔗
Émis lorsqu'un joystick ou un pavé directionnel sur ce tracker bouge.
Émis lorsque l'état d'une pose suivie par ce tracker change.
pose_lost_tracking(pose: XRPose) 🔗
Émis quand une pose suivie par ce tracker cesse de recevoir des données de suivi à jour.
profile_changed(role: String) 🔗
Émis lorsque le profil de notre tracker change.
Énumérations
enum TrackerHand: 🔗
TrackerHand TRACKER_HAND_UNKNOWN = 0
La main de ce traqueur est inconnue ou sa valeur est invalide.
TrackerHand TRACKER_HAND_LEFT = 1
Ce tracker est la manette de la main gauche.
TrackerHand TRACKER_HAND_RIGHT = 2
Ce tracker est la manette de la main droite.
TrackerHand TRACKER_HAND_MAX = 3
Représente la taille de l'énumération TrackerHand.
Descriptions des propriétés
TrackerHand hand = 0 🔗
void set_tracker_hand(value: TrackerHand)
TrackerHand get_tracker_hand()
Définit à quelle main correspond ce tracker.
Le profil associé à ce tracker, dépendant de l'interface mais indiquera le type du contrôleur suivi.
Descriptions des méthodes
Variant get_input(name: StringName) const 🔗
Obsolète : Use through XRControllerTracker.
Renvoie une entrée pour ce tracker. Peut renvoyer une valeur booléenne, flottante ou Vector2 selon que l'entrée soit un bouton, une gâchette ou un joystick/pavé directionnel.
XRPose get_pose(name: StringName) const 🔗
Renvoie l'objet d'état XRPose actuel pour la pose name liée.
bool has_pose(name: StringName) const 🔗
Renvoie true si le tracker est disponible et suit actuellement la pose nommée name liée.
void invalidate_pose(name: StringName) 🔗
Marque cette pose comme invalide, nous ne vidons pas le dernier état rapporté, mais cela permet aux utilisateurs de décider si les trackers doivent être cachés si nous perdons le suivi ou doivent rester à leur dernière position connue.
void set_input(name: StringName, value: Variant) 🔗
Obsolète : Use through XRControllerTracker.
Change la valeur pour l'entrée donnée. Cette méthode est appelée par une implémentation d'XRInterface et ne devrait pas être utilisée directement.
void set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) 🔗
Définit la transformation, la vitesse linéaire, la vitesse angulaire et la confiance du suivi pour la pose donnée. Cette méthode est appelée par une implémentation de XRInterface et ne devrait pas être utilisée directement.