穿透
备注
仅在 OpenXR 插件的 1.1.1 及后续版本中可用。
穿透(Passthrough)是 Meta Quest 中引入的新功能,以 Meta 扩展的形式加入了 OpenXR 规范。如果硬件支持穿透模式,其他提供商可能也会对此进行实现,并在某个时间点提升进核心。
请记住,这项功能并不保证可用。穿透允许在头戴设备中使用头戴设备的摄像机输入,这样用户就能够看到真实的世界。我们可以借此在 VR 头戴设备中实现类似 AR 的体验。
如果你正在使用 first person controller
场景,在控制器节点上勾选 Start Passthrough 选项即可启用穿透功能:
如果你喜欢用代码实现,则需要首先创建一个 OpenXRConfig
的实例对象。你可以用和 first person controller
一样的方法实现,然后将 OpenXRConfig.gdns
设置为节点的脚本,或者也可以用下面的代码去进行实例化:
var openxr_config = null
func _ready():
var config_gdns = load("res://addons/godot_ovrmobile/OvrInitConfig.gdns")
if config_gdns:
openxr_config = config_gdns.new()
func start_passthrough():
if openxr_config:
return openxr_config.start_passthrough()
else:
return false
func stop_passthrough():
if openxr_config:
openxr_config.stop_passthrough()
备注
在启动穿透前,必须启用 Viewport 的 Transparent Bg 属性。如果插件检测到错误的配置,就会向日志中输出一条警告信息。
参见
开关透明背景时有一个 Bug,预计在 Godot 3.4.3 中修复。如果你想要在游戏中对穿透进行开关,就需要使用该版本或者其后续版本。