MobileVRInterface

Hereda: XRInterface < RefCounted < Object

Implementación de la RealidadVirtual(VR) móvil genérica.

Descripción

This is a generic mobile VR implementation where you need to provide details about the phone and HMD used. It does not rely on any existing framework. This is the most basic interface we have. For the best effect, you need a mobile phone with a gyroscope and accelerometer.

Note that even though there is no positional tracking, the camera will assume the headset is at a height of 1.85 meters. You can change this by setting eye_height.

You can initialize this interface as follows:

var interface = XRServer.find_interface("Native mobile")
if interface and interface.initialize():
    get_viewport().use_xr = true

Note: For Android, ProjectSettings.input_devices/sensors/enable_accelerometer, ProjectSettings.input_devices/sensors/enable_gravity, ProjectSettings.input_devices/sensors/enable_gyroscope and ProjectSettings.input_devices/sensors/enable_magnetometer must be enabled.

Propiedades

float

display_to_lens

4.0

float

display_width

14.5

float

eye_height

1.85

float

iod

6.0

float

k1

0.215

float

k2

0.215

Rect2

offset_rect

Rect2(0, 0, 1, 1)

float

oversample

1.5

float

vrs_min_radius

20.0

float

vrs_strength

1.0

PlayAreaMode

xr_play_area_mode

1 (overrides XRInterface)


Descripciones de Propiedades

float display_to_lens = 4.0 🔗

  • void set_display_to_lens(value: float)

  • float get_display_to_lens()

La distancia entre la pantalla y las lentes dentro del dispositivo en centímetros.


float display_width = 14.5 🔗

  • void set_display_width(value: float)

  • float get_display_width()

El ancho de la pantalla en centímetros.


float eye_height = 1.85 🔗

  • void set_eye_height(value: float)

  • float get_eye_height()

The height at which the camera is placed in relation to the ground (i.e. XROrigin3D node).


float iod = 6.0 🔗

La distancia interocular, también conocida como distancia interpupilar. La distancia entre las pupilas del ojo izquierdo y del derecho.


float k1 = 0.215 🔗

El factor k1 de la lente es una de las dos constantes que definen la fuerza de la lente utilizada e influye directamente en el efecto de distorsión de la lente.


float k2 = 0.215 🔗

El factor de lente k2, ver k1.


Rect2 offset_rect = Rect2(0, 0, 1, 1) 🔗

  • void set_offset_rect(value: Rect2)

  • Rect2 get_offset_rect()

Set the offset rect relative to the area being rendered. A length of 1 represents the whole rendering area on that axis.


float oversample = 1.5 🔗

  • void set_oversample(value: float)

  • float get_oversample()

El ajuste de sobremuestreo. Debido a la distorsión de la lente, tenemos que renderizar nuestros búferes a una resolución más alta de la que la pantalla puede manejar nativamente. Un valor entre 1,5 y 2,0 a menudo proporciona buenos resultados pero a costa del rendimiento.


float vrs_min_radius = 20.0 🔗

  • void set_vrs_min_radius(value: float)

  • float get_vrs_min_radius()

The minimum radius around the focal point where full quality is guaranteed if VRS is used as a percentage of screen size.

Note: Mobile and Forward+ renderers only. Requires Viewport.vrs_mode to be set to Viewport.VRS_XR.


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

The strength used to calculate the VRS density map. The greater this value, the more noticeable VRS is. This improves performance at the cost of quality.

Note: Mobile and Forward+ renderers only. Requires Viewport.vrs_mode to be set to Viewport.VRS_XR.