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

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à

TrackerHand

hand

0

String

profile

""

Metodi

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)


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.


pose_changed(pose: XRPose) 🔗

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 🔗

Definisce a quale mano si riferisce questo tracciatore.


String profile = "" 🔗

  • void set_tracker_profile(value: String)

  • String get_tracker_profile()

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.