XRController3D
Eredita: XRNode3D < Node3D < Node < Object
Un nodo 3D che rappresenta un controller tracciato nello spazio.
Descrizione
Questo è un nodo 3D ausiliare collegato al tracciamento dei controller. Offre anche diversi utili passthrough allo stato dei pulsanti e simili sui controller.
I controller sono collegati tramite il loro ID. È possibile creare nodi controller prima che i controller siano disponibili. Se il tuo gioco utilizza sempre due controller (uno per ogni mano), puoi predefinire i controller con ID 1 e 2; diventeranno attivi non appena i controller saranno identificati. Se prevedi che siano utilizzati controller aggiuntivi, dovresti reagire ai segnali e aggiungere nodi XRController3D alla tua scena.
La posizione del nodo controller è aggiornata automaticamente dal XRServer. Ciò rende questo nodo ideale per aggiungere nodi figlio per visualizzare il controller.
L'XRInterface attuale definisce i nomi degli input. Nel caso di OpenXR, questi sono i nomi delle azioni nell'insieme di azioni attuale dalla mappa di azioni di OpenXR.
Tutorial
Metodi
get_float(name: StringName) const |
|
get_input(name: StringName) const |
|
get_tracker_hand() const |
|
get_vector2(name: StringName) const |
|
is_button_pressed(name: StringName) const |
Segnali
button_pressed(name: String) 🔗
Emesso quando un pulsante su questo controller viene premuto.
button_released(name: String) 🔗
Emesso quando un pulsante su questo controller viene rilasciato.
input_float_changed(name: String, value: float) 🔗
Emesso quando un grilletto o un input simile su questo controller cambia valore.
input_vector2_changed(name: String, value: Vector2) 🔗
Emesso quando una levetta o un thumbpad su questo controller viene mosso.
profile_changed(role: String) 🔗
Emesso quando il profilo di interazione su questo controller viene cambiato.
Descrizioni dei metodi
float get_float(name: StringName) const 🔗
Restituisce un valore numerico per l'input con il nome name. È utilizzato per grilletti e sensori grip.
Nota: L'attuale XRInterface definisce il name per ciascun input. Nel caso di OpenXR, questi sono i nomi delle azioni nell'insieme di azioni attuale.
Variant get_input(name: StringName) const 🔗
Restituisce una Variant per l'input con il nome name. Funziona per qualsiasi tipo di input, la variante sarà tipizzata in base alla configurazione delle azioni.
Nota: L'interfaccia attuale di XRInterface definisce il name per ogni input. Nel caso di OpenXR, questi sono i nomi delle azioni nell'insieme di azioni attuale.
TrackerHand get_tracker_hand() const 🔗
Restituisce la mano che mantiene questo controller, se nota.
Vector2 get_vector2(name: StringName) const 🔗
Restituisce un Vector2 per l'input con il nome name. È utilizzato per le levette e i thumbpad presenti su molti controller.
Nota: L'interfaccia attuale di XRInterface definisce il name per ogni input. Nel caso di OpenXR, questi sono i nomi delle azioni nell'insieme di azioni attuale.
bool is_button_pressed(name: StringName) const 🔗
Restituisce true se il pulsante con il nome name è premuto.
Nota: L'attuale XRInterface definisce il name per ciascun input. Nel caso di OpenXR, questi sono i nomi delle azioni nell'insieme di azioni attuale.