ARVRServer

Inherits: Object

Servidor para las funciones de AR y VR.

Descripción

El servidor AR/VR es el corazón de nuestra solución de Realidad Virtual y Avanzada y maneja todo el procesamiento.

Tutoriales

Propiedades

ARVRInterface

primary_interface

float

world_scale

1.0

Métodos

void

add_interface ( ARVRInterface interface )

void

add_tracker ( ARVRPositionalTracker tracker )

void

center_on_hmd ( RotationMode rotation_mode, bool keep_height )

void

clear_primary_interface_if ( ARVRInterface interface )

ARVRInterface

find_interface ( String name ) const

Transform

get_hmd_transform ( )

ARVRInterface

get_interface ( int idx ) const

int

get_interface_count ( ) const

Array

get_interfaces ( ) const

int

get_last_commit_usec ( )

int

get_last_frame_usec ( )

int

get_last_process_usec ( )

Transform

get_reference_frame ( ) const

ARVRPositionalTracker

get_tracker ( int idx ) const

int

get_tracker_count ( ) const

void

remove_interface ( ARVRInterface interface )

void

remove_tracker ( ARVRPositionalTracker tracker )

Señales

  • interface_added ( String interface_name )

Emitido cuando se ha añadido una nueva interfaz.


  • interface_removed ( String interface_name )

Emitido cuando se quita una interfaz.


Emitted when a new tracker has been added. If you don't use a fixed number of controllers or if you're using ARVRAnchors for an AR solution, it is important to react to this signal to add the appropriate ARVRController or ARVRAnchor nodes related to this new tracker.


Emitted when a tracker is removed. You should remove any ARVRController or ARVRAnchor points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one).

Enumeraciones

enum TrackerType:

  • TRACKER_CONTROLLER = 1 --- El rastreador rastrea la ubicación de un controlador.

  • TRACKER_BASESTATION = 2 --- El rastreador rastrea la ubicación de una estación base.

  • TRACKER_ANCHOR = 4 --- El rastreador rastrea la ubicación y el tamaño de un ancla AR.

  • TRACKER_ANY_KNOWN = 127 --- Se utiliza internamente para filtrar los rastreadores de cualquier tipo conocido.

  • TRACKER_UNKNOWN = 128 --- Se usa internamente si aún no hemos establecido el tipo de rastreador.

  • TRACKER_ANY = 255 --- Se utiliza internamente para seleccionar todos los rastreadores.


enum RotationMode:

  • RESET_FULL_ROTATION = 0 --- Reajustar completamente la orientación del HMD. Independientemente de la dirección en la que el usuario está mirando en el mundo real. El usuario mirará hacia adelante en el mundo virtual.

  • RESET_BUT_KEEP_TILT = 1 --- Restablece la orientación pero mantiene la inclinación del dispositivo. Así que si estamos mirando hacia abajo, seguimos mirando hacia abajo pero la orientación se reajustará.

  • DONT_RESET_ROTATION = 2 --- No reajusta la orientación del HMD, sólo la posición del jugador se centra.

Descripciones de Propiedades

Setter

set_primary_interface(value)

Getter

get_primary_interface()

The primary ARVRInterface currently bound to the ARVRServer.


Default

1.0

Setter

set_world_scale(value)

Getter

get_world_scale()

Permite ajustar la escala a las unidades de su juego. La mayoría de las plataformas AR/VR asumen una escala de 1 unidad del mundo del juego = 1 metro del mundo real.

Descripciones de Métodos

Registers an ARVRInterface object.


Registers a new ARVRPositionalTracker that tracks a spatial location in real space.


Esta es una función importante para entender correctamente. Las plataformas AR y VR manejan la posición de forma ligeramente diferente.

Para las plataformas que no ofrecen seguimiento espacial, nuestro punto de origen (0,0,0) es la ubicación de nuestro HMD, pero tienes poco control sobre la dirección a la que se dirige el jugador en el mundo real.

Para las plataformas que sí ofrecen rastreo espacial, nuestro punto de origen depende mucho del sistema. Para OpenVR, nuestro punto de origen suele ser el centro del espacio de seguimiento, en el suelo. Para otras plataformas, a menudo es la ubicación de la cámara de seguimiento.

Este método permite centrar el rastreador en la ubicación del HMD. Tomará la ubicación actual del HMD y la usará para ajustar todos los datos de rastreo; en esencia, realineará el mundo real con la posición actual de su jugador en el mundo del juego.

Para que este método produzca resultados utilizables, la información de rastreo debe estar disponible. Esto a menudo toma unos cuantos fotogramas después de comenzar el juego.

Deberías llamar a este método después de que hayan pasado unos segundos. Por ejemplo, cuando el usuario solicita un reajuste de la pantalla manteniendo un botón designado en un controlador durante un corto período de tiempo, o cuando se implementa un mecanismo de teletransporte.


Clears our current primary interface if it is set to the provided interface.


Encuentra una interfaz por su nombre. Por ejemplo, si su proyecto utiliza las capacidades de una plataforma AR/VR, puede encontrar la interfaz de esa plataforma por su nombre e inicializarla.


Devuelve la transformación de la interfaz primaria.


Devuelve la interfaz registrada en un índice determinado en nuestra lista de interfaces.


  • int get_interface_count ( ) const

Devuelve el número de interfaces registradas actualmente en el servidor AR/VR. Si su proyecto soporta múltiples plataformas AR/VR, puede mirar a través de la interfaz disponible, y presentar al usuario una selección o simplemente tratar de inicializar cada interfaz y usar la primera que devuelva true.


  • Array get_interfaces ( ) const

Devuelve una lista de las interfaces disponibles, el ID y el nombre de cada interfaz.


  • int get_last_commit_usec ( )

Returns the absolute timestamp (in μs) of the last ARVRServer commit of the AR/VR eyes to VisualServer. The value comes from an internal call to OS.get_ticks_usec.


  • int get_last_frame_usec ( )

Devuelve la duración (en μs) del último fotograma. Esto se calcula como la diferencia entre get_last_commit_usec y get_last_process_usec al hacer la confirmación.


  • int get_last_process_usec ( )

Returns the absolute timestamp (in μs) of the last ARVRServer process callback. The value comes from an internal call to OS.get_ticks_usec.


Devuelve la transformación del fotograma de referencia. Mayormente usada internamente y expuesta para las interfaces de construcción GDNative.


Devuelve el rastreador de posición en la identificación dada.


  • int get_tracker_count ( ) const

Devuelve el número de rastreadores registrados actualmente.


Removes this interface.


Removes this positional tracker.