You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot 4.0稳定版Mono启用OpenXR后程序启动前崩溃求助

Godot 4.0 Mono VR项目启动崩溃(_ready未执行)排查方案

针对你遇到的Quest2通过Virtual Desktop连接SteamVR时,Godot项目启动后Logo显示10秒关闭、_ready函数未执行的问题,可按以下步骤排查:

  • 检查OpenXR运行时优先级
    Windows下SteamVR和Meta的OpenXR运行时可能存在冲突。打开设置 > 系统 > 显示 > 图形设置 > 高级图形设置,确认Godot项目的默认图形运行时指向SteamVR;或者直接在SteamVR设置中,将SteamVR设为系统默认OpenXR运行时。

  • 调整XR初始化时机
    当前_ready函数的初始化逻辑可能因Godot启动阶段的资源竞争无法执行,尝试将代码移至_enter_tree并延迟初始化:

    extends Node3D
    
    var interface : XRInterface
    
    func _enter_tree():
        print('start')
        # 延迟1帧避免启动阶段的资源冲突
        await get_tree().process_frame
        interface = XRServer.find_interface("OpenXR")
        if interface and interface.is_initialized():
            get_viewport().use_xr = true
    

    同时在项目设置中关闭XR > Startup > Auto Initialize,禁止Godot自动启动XR。

  • 验证Virtual Desktop连接状态
    启动SteamVR后,确认Quest2已被正常识别(SteamVR面板显示头显、控制器状态正常);关闭Virtual Desktop的“性能优化”或“虚拟桌面模式”,避免与Godot的XR渲染逻辑冲突。

  • 启用调试日志定位错误
    启动项目时添加命令行参数--verbose,启动后查看%APPDATA%\Godot\app_userdata\[你的项目名]\logs下的日志文件,重点关注OpenXR初始化阶段的报错信息;同时可开启SteamVR的开发者详细日志,排查连接层面的问题。

  • 检查项目XR配置
    打开项目设置,确认XR > OpenXR > Enabled已勾选,且XR > OpenXR > Runtime选择SteamVR(若有选项),避免运行时识别错误。

内容的提问来源于stack exchange,提问作者Hopeijay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:05:02