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.
Checking the stable version of the documentation...
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¶
../tutorials/vr/index
Propiedades¶
|
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 ) |
find_interface ( String name ) const |
|
get_interface ( int idx ) const |
|
get_interface_count ( ) const |
|
get_interfaces ( ) const |
|
get_reference_frame ( ) const |
|
get_tracker ( int idx ) const |
|
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¶
ARVRInterface primary_interface
Setter |
set_primary_interface(value) |
Getter |
get_primary_interface() |
The primary ARVRInterface currently bound to the ARVRServer
.
float world_scale
Default |
|
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¶
void add_interface ( ARVRInterface interface )
Registers an ARVRInterface object.
void add_tracker ( ARVRPositionalTracker tracker )
Registers a new ARVRPositionalTracker that tracks a spatial location in real space.
void center_on_hmd ( RotationMode rotation_mode, bool keep_height )
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.
void clear_primary_interface_if ( ARVRInterface interface )
Clears our current primary interface if it is set to the provided interface.
ARVRInterface find_interface ( String name ) const
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.
Transform get_hmd_transform ( )
Devuelve la transformación de la interfaz primaria.
ARVRInterface get_interface ( int idx ) const
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.
Transform get_reference_frame ( ) const
Devuelve la transformación del fotograma de referencia. Mayormente usada internamente y expuesta para las interfaces de construcción GDNative.
ARVRPositionalTracker get_tracker ( int idx ) const
Devuelve el rastreador de posición en la identificación dada.
int get_tracker_count ( ) const
Devuelve el número de rastreadores registrados actualmente.
void remove_interface ( ARVRInterface interface )
Removes this interface.
void remove_tracker ( ARVRPositionalTracker tracker )
Removes this positional tracker.