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.

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

TrackerHand

hand

0

String

profile

""

Méthodes

Variant

get_input(name: StringName) const

XRPose

get_pose(name: StringName) const

bool

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.


pose_changed(pose: XRPose) 🔗

É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 🔗

Définit à quelle main correspond ce tracker.


String profile = "" 🔗

  • void set_tracker_profile(value: String)

  • String get_tracker_profile()

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.