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
Eredita: XRTracker < RefCounted < Object
Ereditato da: OpenXRSpatialEntityTracker, XRBodyTracker, XRControllerTracker, XRHandTracker
Un oggetto tracciato.
Descrizione
Un'istanza di questo oggetto rappresenta un dispositivo che viene tracciato, come un controller o un punto di ancoraggio. Gli HMD non sono rappresentati qui poiché sono gestiti internamente.
Quando i controller sono attivati e XRInterface li rileva, le istanze di questo oggetto sono automaticamente aggiunte a questa lista di oggetti di tracciamento attivi, accessibili attraverso il XRServer.
XRNode3D e XRAnchor3D utilizzano entrambi oggetti di questo tipo e dovrebbero essere usati nel tuo progetto. I tracciatori posizionali sono solo oggetti nascosti che fanno funzionare tutto questo. Sono per lo più esposti in modo che le interfacce basate su GDExtension possano interagire con loro.
Tutorial
Proprietà
|
||
|
Metodi
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) |
Segnali
button_pressed(action_name: String) 🔗
Emesso quando viene premuto un pulsante su questo tracciatore. Nota che molti runtime XR consentono di mappare altri input sui pulsanti.
button_released(action_name: String) 🔗
Emesso quando viene rilasciato un pulsante su questo tracciatore.
input_float_changed(action_name: String, value: float) 🔗
Emesso quando un grilletto o un input simile su questo tracciatore cambia valore.
input_vector2_changed(action_name: String, vector: Vector2) 🔗
Emesso quando una levetta o un thumbpad di questo tracciatore si muove.
Emesso quando cambia lo stato di una posa tracciata da questo tracker.
pose_lost_tracking(pose: XRPose) 🔗
Emesso quando una posa tracciata da questo tracciatore smette di ricevere dati di tracciamento aggiornati.
profile_changed(role: String) 🔗
Emesso quando cambia il profilo del nostro tracciatore.
Enumerazioni
enum TrackerHand: 🔗
TrackerHand TRACKER_HAND_UNKNOWN = 0
La mano in cui è tenuto questo tracciatore è sconosciuta o non valida.
TrackerHand TRACKER_HAND_LEFT = 1
Questo tracciatore è il controller della mano sinistra.
TrackerHand TRACKER_HAND_RIGHT = 2
Questo tracciatore è il controller della mano destra.
TrackerHand TRACKER_HAND_MAX = 3
Rappresenta la dimensione dell'enumerazione TrackerHand.
Descrizioni delle proprietà
TrackerHand hand = 0 🔗
void set_tracker_hand(value: TrackerHand)
TrackerHand get_tracker_hand()
Definisce a quale mano si riferisce questo tracciatore.
Il profilo associato a questo tracciatore. Dipende dall'interfaccia, ma indicherà il tipo di controller tracciato.
Descrizioni dei metodi
Variant get_input(name: StringName) const 🔗
Deprecato: Use through XRControllerTracker.
Restituisce un input per questo tracciatore. Può restituire un valore booleano, float o Vector2 a seconda che l'input sia un pulsante, un grilletto o una levetta/thumbpad.
XRPose get_pose(name: StringName) const 🔗
Restituisce l'oggetto di stato XRPose attuale per la posa associata con nome name.
bool has_pose(name: StringName) const 🔗
Restituisce true se il tracciatore è disponibile e sta tracciando attualmente la posa con il nome name.
void invalidate_pose(name: StringName) 🔗
Contrassegna questa posizione come non valida, non cancelliamo l'ultimo stato riportato ma consentiamo agli utenti di decidere se i tracciatori devono essere nascosti se perdiamo il tracciamento o se devono semplicemente rimanere nella loro ultima posizione nota.
void set_input(name: StringName, value: Variant) 🔗
Deprecato: Use through XRControllerTracker.
Cambia il valore per l'input specificato. Questo metodo è chiamato da un'implementazione di XRInterface e non si dovrebbe usare direttamente.
void set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) 🔗
Imposta la trasformazione, velocità lineare, velocità angolare e l'affidabilità di tracciamento per la posa fornita. Questo metodo è chiamato da un'implementazione di XRInterface e non si dovrebbe usare direttamente.