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

Hérite de : XRInterface < RefCounted < Object

Implémentation de RV mobile générique.

Description

Il s'agit d'une implémentation VR mobile générique où vous devez fournir des détails sur le téléphone et le casque utilisés. Il ne repose sur aucune bibliothèque existante. C'est l'interface la plus basique que nous avons. Pour un meilleur résultat, vous avez besoin d'un téléphone mobile avec un gyroscope et un accéléromètre intégrés.

Notez que même s'il n'y a pas de suivi de la position, la caméra suppose que le casque est à une hauteur de 1.85 mètres. Vous pouvez changer cela en définissant eye_height.

Vous pouvez initialiser cette interface ainsi :

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

Note : Pour Android, ProjectSettings.input_devices/sensors/enable_accelerometer, ProjectSettings.input_devices/sensors/enable_gravity, ProjectSettings.input_devices/sensors/enable_gyroscope et ProjectSettings.input_devices/sensors/enable_magnetometer doivent être activés.

Propriétés

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)


Descriptions des propriétés

float display_to_lens = 4.0 🔗

  • void set_display_to_lens(value: float)

  • float get_display_to_lens()

La distance entre l’affichage et les lentilles à l’intérieur de l’appareil en centimètres.


float display_width = 14.5 🔗

  • void set_display_width(value: float)

  • float get_display_width()

La largeur de l'écran en centimètres.


float eye_height = 1.85 🔗

  • void set_eye_height(value: float)

  • float get_eye_height()

La hauteur à laquelle la caméra est placée par rapport au sol (c'est-à-dire au nœud XROrigin3D).


float iod = 6.0 🔗

La distance interoculaire, aussi appelée la distance interpupillaire. La distance entre la pupille de l'œil gauche et celle du l'œil droit.


float k1 = 0.215 🔗

Le facteur de lentille k1 est l'une des deux constantes qui définisse l'intensité de la lentille utilisée et influence directement l'effet de déformation des lentilles.


float k2 = 0.215 🔗

Le facteur k2 de lentille, voir k1.


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

  • void set_offset_rect(value: Rect2)

  • Rect2 get_offset_rect()

Définit le rectangle de décalage par rapport à la zone en cours de rendu. Une longueur de 1 représente l'ensemble de la zone de rendu sur cet axe.


float oversample = 1.5 🔗

  • void set_oversample(value: float)

  • float get_oversample()

Le paramètre de sur-échantillon. En raison de la distorsion de la lentille, nous devons rendre nos buffers à une résolution plus élevée que l'écran peut manipuler nativement. Une valeur entre 1.5 et 2.0 fournit souvent de bons résultats, mais avec un coût sur les performances.


float vrs_min_radius = 20.0 🔗

  • void set_vrs_min_radius(value: float)

  • float get_vrs_min_radius()

Le rayon minimal autour du point focal où la pleine qualité est garantie si VRS est utilisé en tant que pourcentage de la taille de l'écran.

Note : Moteurs de rendu Mobile et Forward+ seulement. Nécessite Viewport.vrs_mode d'être défini à Viewport.VRS_XR.


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

La force utilisée pour calculer la carte de densité VRS. Plus cette valeur est grande, plus le VRS est notable. Cela améliore la performance au coût de la qualité.

Note : Moteurs de rendu Mobile et Forward+ seulement. Nécessite Viewport.vrs_mode d'être défini à Viewport.VRS_XR.