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.

MobileVRInterface

Eredita: XRInterface < RefCounted < Object

Implementazione generica di realtà virtuale (VR) mobile.

Descrizione

Questa è un'implementazione generica di VR mobile in cui devi fornire dettagli sul telefono e sull'HMD utilizzati. Non si basa su alcun framework esistente. Questa è l'interfaccia più basilare disponibile. Per ottenere l'effetto migliore, hai bisogno di un telefono cellulare con giroscopio e accelerometro.

Nota che anche se non c'è tracciamento posizionale, la telecamera presumerà che il visore si trovi a un'altezza di 1,85 metri. È possibile modificare questo valore impostando eye_height.

È possibile inizializzare questa interfaccia come segue:

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

Nota: Per Android, ProjectSettings.input_devices/sensors/enable_accelerometer, ProjectSettings.input_devices/sensors/enable_gravity, ProjectSettings.input_devices/sensors/enable_gyroscope e ProjectSettings.input_devices/sensors/enable_magnetometer devono essere abilitati.

Proprietà

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)


Descrizioni delle proprietà

float display_to_lens = 4.0 🔗

  • void set_display_to_lens(value: float)

  • float get_display_to_lens()

La distanza in centimetri tra il display e le lenti all'interno del dispositivo.


float display_width = 14.5 🔗

  • void set_display_width(value: float)

  • float get_display_width()

La larghezza del display in centimetri.


float eye_height = 1.85 🔗

  • void set_eye_height(value: float)

  • float get_eye_height()

L'altezza a cui è posizionata la telecamera rispetto al suolo (ad esempio il nodo XROrigin3D).


float iod = 6.0 🔗

La distanza interoculare, nota anche come distanza interpupillare. La distanza tra le pupille dell'occhio sinistro e destro.


float k1 = 0.215 🔗

Il fattore di lente k1 è una delle due costanti che definiscono la potenza della lente utilizzata e influenza direttamente l'effetto di distorsione della lente.


float k2 = 0.215 🔗

Il fattore di lente k2, vedi k1.


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

  • void set_offset_rect(value: Rect2)

  • Rect2 get_offset_rect()

Imposta il rettangolo dello scostamento relativo all'area in fase di rendering. Una lunghezza di 1 rappresenta l'intera area di rendering su quell'asse.


float oversample = 1.5 🔗

  • void set_oversample(value: float)

  • float get_oversample()

L'impostazione di sovracampionamento. A causa della distorsione della lente dobbiamo renderizzare i nostri buffer a una risoluzione più alta di quella che lo schermo può gestire in modo nativo. Un valore tra 1,5 e 2,0 spesso fornisce buoni risultati, ma a scapito delle prestazioni.


float vrs_min_radius = 20.0 🔗

  • void set_vrs_min_radius(value: float)

  • float get_vrs_min_radius()

Il raggio minimo attorno al punto focale in cui è garantita la massima qualità se VRS viene utilizzato come percentuale della dimensione dello schermo.

Nota: Solo per il rendering Mobile e Forward+. Richiede che Viewport.vrs_mode sia impostato su Viewport.VRS_XR.


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

L'intensità utilizzata per calcolare la mappa di densità VRS. Maggiore è questo valore, più evidente è VRS. Ciò migliora le prestazioni a scapito della qualità.

Nota: Solo rendering Mobile e Forward+. Richiede che Viewport.vrs_mode sia impostato su Viewport.VRS_XR.