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

Успадковує: XRInterface < RefCounted < Object

Створення мобільної VR.

Опис

Це загальна реалізація віртуальної реальності для мобільних пристроїв, де вам потрібно надати деталі про використовуваний телефон і HMD. Він не спирається на жодну існуючу структуру. Це найпростіший інтерфейс, який у нас є. Для кращого ефекту потрібен мобільний телефон з гіроскопом і акселерометром.

Зауважте, що навіть якщо позиційне відстеження відсутнє, камера вважатиме, що гарнітура знаходиться на висоті 1,85 метра. Ви можете змінити це, встановивши eye_height.

Ви можете ініціалізувати цей інтерфейс наступним чином:

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

Примітка: для Android ProjectSettings.input_devices/sensors/enable_accelerometer, ProjectSettings.input_devices/sensors/enable_gravity, ProjectSettings.input_devices/sensors/enable_gyroscope і ProjectSettings.input_devices/sensors/enable_magnetometer має бути ввімкнено.

Властивості

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)


Описи властивостей

float display_to_lens = 4.0 🔗

  • void set_display_to_lens(value: float)

  • float get_display_to_lens()

Відстань між дисплеєм і лінзами всередині пристрою в сантиметрах.


float display_width = 14.5 🔗

  • void set_display_width(value: float)

  • float get_display_width()

Ширина дисплея в сантиметрах.


float eye_height = 1.85 🔗

  • void set_eye_height(value: float)

  • float get_eye_height()

Висота, при якій камера поміщається по відношенню до землі (тобто XROrigin3D вузол).


float iod = 6.0 🔗

Інтерокулярна відстань, також відома як міжпублична відстань. Відстань між учнями лівого і правого ока.


float k1 = 0.215 🔗

Код об'єктива k1 є одним з двох констанцій, які визначають міцність використовуваної лінзи і безпосередньо впливає на ефект спотворення об'єктива.


float k2 = 0.215 🔗

Код об'єктива k2, див. k1.


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

  • void set_offset_rect(value: Rect2)

  • Rect2 get_offset_rect()

Налаштуйте вихідний пункт відносно площі, що буде надано. Довжина 1 являє собою всю площу рендерингу на цій осі.


float oversample = 1.5 🔗

  • void set_oversample(value: float)

  • float get_oversample()

Налаштування перезавантаження. Завдяки спотворенню об'єктива ми повинні надати нашим буферам більш високу роздільну здатність, тоді екран може нативно обробляти. Вартість між 1.5 і 2.0 часто забезпечує хороші результати, але за вартістю виконання.


float vrs_min_radius = 20.0 🔗

  • void set_vrs_min_radius(value: float)

  • float get_vrs_min_radius()

Мінімальний радіус навколо вогнища, де повна якість гарантована, якщо VRS використовується як відсоток розміру екрану.

Примітка: Мобільні та переадресні + рендерери тільки. Потрібні Viewport.vrs_mode бути встановленими на Viewport. VRS_XR.


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

Потужність використовується для розрахунку карти щільності VRS. Чим більше це значення, тим більш помітні VRS. Це покращує продуктивність за вартістю якості.

Примітка: Мобільні та переадресні + рендерери тільки. Потрібні Viewport.vrs_mode бути встановленими на Viewport. VRS_XR.