穿透

备注

仅在 OpenXR 插件的 1.1.1 及后续版本中可用。

穿透(Passthrough)是 Meta Quest 中引入的新功能,以 Meta 扩展的形式加入了 OpenXR 规范。如果硬件支持穿透模式,其他提供商可能也会对此进行实现,并在某个时间点提升进核心。

请记住,这项功能并不保证可用。穿透允许在头戴设备中使用头戴设备的摄像机输入,这样用户就能够看到真实的世界。我们可以借此在 VR 头戴设备中实现类似 AR 的体验。

如果你正在使用 first person controller 场景,在控制器节点上勾选 Start Passthrough 选项即可启用穿透功能:

../../../_images/start_passthrough.png

如果你喜欢用代码实现,则需要首先创建一个 OpenXRConfig 的实例对象。你可以用和 first person controller 一样的方法实现,然后将 OpenXRConfig.gdns 设置为节点的脚本,或者也可以用下面的代码去进行实例化:

  1. var openxr_config = null
  2. func _ready():
  3. var config_gdns = load("res://addons/godot_ovrmobile/OvrInitConfig.gdns")
  4. if config_gdns:
  5. openxr_config = config_gdns.new()
  6. func start_passthrough():
  7. if openxr_config:
  8. return openxr_config.start_passthrough()
  9. else:
  10. return false
  11. func stop_passthrough():
  12. if openxr_config:
  13. openxr_config.stop_passthrough()

备注

在启动穿透前,必须启用 Viewport 的 Transparent Bg 属性。如果插件检测到错误的配置,就会向日志中输出一条警告信息。

参见

开关透明背景时有一个 Bug,预计在 Godot 3.4.3 中修复。如果你想要在游戏中对穿透进行开关,就需要使用该版本或者其后续版本。