XRPositionalTracker
Eredita: XRTracker < RefCounted < Object
Ereditato da: 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(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(name: String) 🔗
Emesso quando viene rilasciato un pulsante su questo tracciatore.
input_float_changed(name: String, value: float) 🔗
Emesso quando un grilletto o un input simile su questo tracciatore cambia valore.
input_vector2_changed(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.