Pico unity openxr sdk 与 openxr 1.9.1 不兼容,但我无法在编辑器中降级 openxr 版本

问题描述 投票:0回答:1

我是一名学生,正在为 Meta Quest 3 和 PICO 4 统一开发 VR 游戏。由于它们都与 openxr 兼容,我认为可以在两个耳机上运行相同的项目。我可以很好地构建 quest 3,但在构建 PICO 4 时,我无法玩游戏。更改设置以允许 PICO 4 控制器支持后,我收到以下错误:“目前仅支持版本 1.9.1 之前的 unity openXR 插件”。 SDK 的“已知问题”页面上重复了这一点,其中指出由于内存泄漏,不支持版本 1.9.1。

不幸的是我无法更改项目中使用的 openxr 版本。它与 Unity 的工作方式似乎是引擎自动安装版本 1.9.1,用户无法更改它。我可以按下“修复”按钮,表明它将版本更改回较早的版本,但似乎这个旧版本立即更新回 1.9.1。所以我陷入困境,希望这里比我更聪明或更有经验的人可以提供帮助。

这只是构建耳机时的一个问题。在编辑器中进行测试时,即使我没有启用 PICO 控制器支持,它也能在两个耳机上正常工作。

unity-game-engine virtual-reality openxr
1个回答
0
投票

我在 OpenXR Plugin 1.9.1 版本中没有找到任何有关“内存泄漏”的具体信息,但由于 Pico 已经声明了这一点,并且 OpenXR 已经很长时间没有更新了,所以最好的方法可能是使用较低版本的Unity 并安装 OpenXR 插件版本 1.8.2。

我尝试过以下方法:

  1. 手动修改\Packages\manifest.json,将OpenXR Plugin改为:

“com.unity.xr.openxr”:“1.8.2”

注意其依赖包的版本也需要更改。

不幸的是,这些包似乎与Unity版本耦合,导致编译错误。

  1. 修改 PicoFeatures.cs,第 110 行:
new ValidationRule(this)
{
    message = "Only Unity OpenXR Plugin prior to version 1.9.1 is supported right now.",
    checkPredicate = () =>
    {
        return true; //HERE!! Just return true!!
    },
    ...
}

但此修改尚未经过官方测试,可能会因版本变更而导致异常。

© www.soinside.com 2019 - 2024. All rights reserved.