MobileVRInterface

继承: XRInterface < RefCounted < Object

通用移动 VR 实现。

描述

获取第一个面的第二个顶点的索引。这是一种通用的移动虚拟现实实现方式,您需要提供所使用手机和头戴式显示器的详细信息。它不依赖于任何现有的框架。这是我们目前提供的最基础的界面。要获得最佳效果,您需要一部带有陀螺仪和加速度计的手机。

请注意,即便没有进行位置跟踪,该摄像机仍将假定头戴设备的高度为 1.85 米。您可以通过设置 eye_height 更改该项。

您可以按照以下方式初始化此接口:

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

注意: 对于安卓系统, 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()

摄像机相对于地面所处的高度(即相对于 XROrigin 节点)。


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 以屏幕尺寸的百分比形式来表示,在焦点周围能保证达到最佳质量的最小半径范围。

注意: 仅适用于移动版和 Forward+ 渲染器。需要将 Viewport.vrs_mode 设置为 Viewport.VRS_XR


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

用于计算 VRS 密度图的强度值。该值越大,VRS 效果就越明显。这样做能提高性能,但会牺牲一定的质量。

注意: 仅适用于移动版和 Forward+ 渲染器。需要将 Viewport.vrs_mode 设置为 Viewport.VRS_XR