《塞尔达传说:荒野之息》的全新BetterVR模组版本,让游戏在VR模式下的表现大幅提升,同时也让人期待《马里奥赛车8》的VR版本。
BetterVR模组基于Cemu模拟器运行,首个版本发布于大约七个月前。自那以后,模组经历了20次更新,每次都为游戏带来显著的改进、修复和优化。模组开发者Crementif还计划加入以下功能:
- 多人游戏支持(已移植至新的Cemu版本,仍需同步)
- 大型性能更新,重构所有立体渲染,同时修复了一些重要错误
- Linux支持
- 双持功能
《塞尔达传说:荒野之息》的现有功能包括:
- 完全立体渲染,支持6自由度和完整房间规模。不使用替代眼睛渲染。
- 完整的手和手臂支持。你可以穿上所有最华丽的服装。
- 在战斗中挥舞武器、火把和波克布林手臂。
- 通过手势装备和投掷武器。
- 使用运动控制与世界互动,解决谜题或生火。
- 大型模组兼容性。BetterVR只修改代码,不修改游戏数据。大多数其他模组应该兼容。
- 可选的第三人称模式。
BetterVR模组目前利用OpenXR,在所有主要的头显设备上都得到支持(Valve Index、HTC Vive、Oculus Rift、Meta Quest、Windows Mixed Reality等)。不过,目前仅提供Oculus Touch控制器的控制器绑定,尽管模组开发者表示,可能可以通过SteamVR或其他应用程序配置OpenXR映射。
对于Meta Quest用户,建议使用ALVR、Virtual Desktop或Steam Link代替Meta/Oculus Link,因为Link的“糟糕的帧插值”会使得《塞尔达传说:荒野之息》看起来比实际运行效果差得多。
Crementif解释说,BetterVR通过Vulkan层在Cemu模拟器和用户的显卡之间插入,这使得它能够在游戏的最终渲染图像通常会出现在屏幕上之前捕获它,然后将其重定向到VR头显上。
VR头显使用一个名为OpenXR的系统,但它与“拦截”捕获游戏图像的技巧并不兼容。因此,Crementif不得不构建一个变通方法:通过一个不同的渲染系统(D3D12)将图像管道化,以便OpenXR能够正确对话。
当然,仅仅捕获一个平面图像并将其放入头显中只会给你一个平面图像在你面前;它不会让你觉得是真正的3D。为了创造一个合适的立体3D VR体验,模组开发者不得不深入游戏代码(在Wii U的PowerPC处理器上运行)并重写其中的一部分。这包括在游戏更新之前每帧渲染两个略有不同的图像(每个眼睛一个)的技巧,以及逐帧调整相机角度和角色手的位置,以便在VR中正确对齐。
然而,最难的部分并不是VR渲染技巧:而是逆向工程游戏的实际代码。这款游戏运行在一个自定义的、大部分未文档化的引擎上,所以Crementif不得不从零开始费尽心思弄清楚游戏的工作原理(在一些非官方、不完整的反编译项目的帮助下),然后他们才能开始重写任何东西。据报道,仅逆向工程过程就花费了数千小时。
希望这种奉献精神和创新不会被任天堂压制,就像多年前被撤下的多人游戏模组一样。



