MobileVRInterface

继承: XRInterface < RefCounted < Object

通用移动 VR 实现。

描述

这是一个通用的移动 VR 实现,你需要提供有关所用手机和 HMD 的详细信息。它不依赖于任何现有框架。这是我们拥有的最基本的接口。为了获得最佳效果,你需要一部带有陀螺仪和加速度计的手机。

请注意,即使没有位置跟踪,相机也会假定头戴设备处于 1.85 米的高度。可以通过设置 eye_height 来更改该设置。

可以按如下方式初始化该接口:

  1. var interface = XRServer.find_interface("Native mobile")
  2. if interface and interface.initialize():
  3. get_viewport().xr = true

属性

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 用作屏幕大小的百分比,则焦点周围可保证完全质量的最小半径。

注意:仅限 Mobile 和 Forward+ 渲染器。需要将 Viewport.vrs_mode 设置为 Viewport.VRS_XR


float vrs_strength = 1.0 🔗

  • void set_vrs_strength(value: float)

  • float get_vrs_strength()

用于计算 VRS 密度图的强度。该值越大,VRS 越明显。这会以牺牲质量为代价来提高性能。

注意:仅限 Mobile 和 Forward+ 渲染器。需要将 Viewport.vrs_mode 设置为 Viewport.VRS_XR