XRPositionalTracker

Hereda: XRTracker < RefCounted < Object

Heredado por: XRBodyTracker, XRControllerTracker, XRHandTracker

Un objeto rastreado.

Descripción

Una instancia de este objeto representa un dispositivo rastreado, como un controlador o un punto de anclaje. Los HMD no se representan aquí, ya que se gestionan internamente.

A medida que se activan los controladores y XRInterface los detecta, las instancias de este objeto se añaden automáticamente a la lista de objetos de seguimiento activos, accesibles a través de XRServer.

Tanto XRNode3D como XRAnchor3D consumen objetos de este tipo y deberían usarse en el proyecto. Los rastreadores posicionales son objetos internos que hacen que todo esto funcione. Estos se exponen principalmente para que las interfaces basadas en GDExtension puedan interactuar con ellos.

Tutoriales

Propiedades

TrackerHand

hand

0

String

profile

""

Métodos

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)


Señales

button_pressed(name: String) 🔗

Emitida al pulsar un botón de este tracker. Ten en cuenta que muchos entornos de ejecución XR permiten asignar otras entradas a los botones.


button_released(name: String) 🔗

Emitida cuando se libera un botón de este controlador.


input_float_changed(name: String, value: float) 🔗

Emitida cuando un disparador o entrada similar en este rastreador cambia de valor.


input_vector2_changed(name: String, vector: Vector2) 🔗

Emitida cuando se mueve un joystick o un pad en este rastreador.


pose_changed(pose: XRPose) 🔗

Emitida cuando cambia el estado de una pose rastreada por este rastreador.


pose_lost_tracking(pose: XRPose) 🔗

Emitida cuando una pose rastreada por este rastreador deja de recibir datos de seguimiento actualizados.


profile_changed(role: String) 🔗

Emitida cuando cambia el perfil de nuestro rastreador.


Enumeraciones

enum TrackerHand: 🔗

TrackerHand TRACKER_HAND_UNKNOWN = 0

La mano con la que se sostiene este rastreador es desconocida o no aplicable.

TrackerHand TRACKER_HAND_LEFT = 1

Este rastreador es el controlador de la mano izquierda.

TrackerHand TRACKER_HAND_RIGHT = 2

Este rastreador es el controlador de la mano derecha.

TrackerHand TRACKER_HAND_MAX = 3

Representa el tamaño del enum TrackerHand.


Descripciones de Propiedades

TrackerHand hand = 0 🔗

Define a qué mano se relaciona este rastreador.


String profile = "" 🔗

  • void set_tracker_profile(value: String)

  • String get_tracker_profile()

El perfil asociado a este rastreador depende de la interfaz, pero indicará el tipo de controlador que se está rastreando.


Descripciones de Métodos

Variant get_input(name: StringName) const 🔗

Obsoleto: Use through XRControllerTracker.

Devuelve una entrada para este rastreador. Puede devolver un valor booleano, de punto flotante o Vector2, dependiendo de si la entrada es un botón, un disparador o un joystick/pad.


XRPose get_pose(name: StringName) const 🔗

Devuelve el objeto de estado XRPose actual para la pose del name enlazado.


bool has_pose(name: StringName) const 🔗

Devuelve true si el rastreador está disponible y actualmente está rastreando la pose enlazada name.


void invalidate_pose(name: StringName) 🔗

Marca esta pose como inválida, no borramos el último estado informado pero permite a los usuarios decidir si los rastreadores deben ocultarse si perdemos el rastreo o simplemente permanecer en su última posición conocida.


void set_input(name: StringName, value: Variant) 🔗

Obsoleto: Use through XRControllerTracker.

Cambia el valor de la entrada dada. Este método es llamado por una implementación de XRInterface y no debe usarse directamente.


void set_pose(name: StringName, transform: Transform3D, linear_velocity: Vector3, angular_velocity: Vector3, tracking_confidence: TrackingConfidence) 🔗

Establece la transformación, la velocidad lineal, la velocidad angular y la confianza de seguimiento para la pose dada. Este método es llamado por una implementación de XRInterface y no debe usarse directamente.