
伊利亚的艾尔登法环VR
《艾尔登法环》VR重制战斗体验:原生立体OpenXR渲染、6DoF头部追踪、第一人称手部追踪武器与物理近战、完整运动控制器输入、悬浮HUD。
查看大图ERVR — 为 ELDEN RING 打造的原生 VR
真正的立体渲染。第一人称。追踪手部与武器。使用游戏自身命中判定框的物理近战。
版本 0.4.0 — 第二次公开发布
⚠ 仅限离线游玩 — 必须禁用 Easy Anti-Cheat ERVR 会注入 eldenring.exe 并写入游戏内存。切勿在启用 Easy Anti-Cheat 或连接在线游玩时运行它。 这样做可能导致永久封禁,且风险完全由你自行承担。多人游戏和反作弊不受支持,不在开发计划中,也永远不会支持。
ERVR 是什么
ERVR 是一款免费、开源的 ELDEN RING 原生 VR 模组。它创建自己的 OpenXR 会话,将游戏渲染到你的头显中,以 6DoF 追踪你的头部,将你置于第一人称视角,通过运动控制器驱动你角色的手臂和武器,并将 HUD 分离到一个悬浮的 VR 面板上。
ERVR 以 ReShade 附加组件的形式运行。下载包中已包含正确的 ReShade 附加组件构建版本。不需要 R.E.A.L. VR,且无法与 ERVR 同时安装。
版本 0.4.0 亮点
0.4.0 是 ERVR 的第二次公开发布。其重点在于让整个角色、战斗系统和立体渲染管线表现得像一款 VR 游戏,而非单纯的相机模组。
- 完整的 VR 身体: 从游戏中捕捉稳定的站立姿态,双臂求解到控制器,躯干跟随你的朝向,并保留特定装备的手指握持。
- 托雷特支持: 坐姿骑手姿态,相机锚定在骑乘角色上,以及马匹/视角协调转向(相机偏移方面仍有些 bug)。
- 同瞬时立体渲染: 第二只眼睛在冻结模拟时间的第二个引擎通道中渲染。菜单、过场动画、加载和不安全的过渡会自动回退到影院屏幕。
- 扩展的物理战斗: 动能伤害、持续刀刃接触、武器重量与惯性、双手扭矩、基于姿态的盾牌格挡和偏转触觉反馈。
- 抓握武器实现双手持握: 在剑柄附近挤压空闲手的握持键。ERVR 使用游戏自身的双手状态、力量加成和攻击列。
- 无动画的战灰: 技能效果被捕获并重放,同时你保持对身体的控制。攻击技能会为下一次物理挥击装载该技能的攻击列。
- 施法手瞄准: 法术、弓、弩和远程技能沿使用它们的手部方向发射。
- 更安全的菜单和输入: 游戏菜单打开时物理战斗暂停,左摇杆自动变为菜单导航,Quest Pro / VDXR 摇杆信号损坏过滤器已改进。
- 新游戏支持: 已验证 ELDEN RING exe 2.6.2.0(补丁 1.16.2)和 2.7.1.0(补丁 1.17.1)的地址映射。
主要功能
- 真正的立体渲染,每只眼睛分别渲染图像,或使用低开销的头部锁定影院屏幕。
- 6DoF 第一人称,相机位于角色头部,叠加头显旋转,隐藏头部,并可选减少晃动视图。
- 追踪手臂和武器,由运动控制器驱动。渲染的武器跟随手部,并且是与敌人碰撞的武器。
- 物理近战,无需攻击按钮动画。挥击触发游戏自身的 AttackBehavior 事件,因此武器伤害、属性缩放、增益、状态累积、韧性伤害、耐力消耗和命中停顿都保持 ELDEN RING 的规则。
- 动能战斗,挥击速度影响伤害和韧性。匕首追踪迅速;大型武器需要时间和投入来加速。
- 物理双手持握、盾牌和技能,以及由控制器引导的法术和弓瞄准。
- 运动控制器取代游戏手柄。 触摸控制映射到 XInput,无需连接实体控制器。
- 触觉反馈,来自游戏震动、攻击确认、盾牌偏转和双手状态变化。
- VR HUD 层,以头显分辨率显示,位置、距离、宽度和透明度可调。
- VR 移动选项,包括头部、手部、相机或身体相对移动、平滑转向和快速转向。
- 热重载配置: 大多数 ERVR.ini 更改在游戏运行时约一秒内生效。
系统要求
- Steam 版 ELDEN RING,离线游玩且禁用 EAC。
- 游戏 exe 2.6.2.0(补丁 1.16.2)或 2.7.1.0(补丁 1.17.1)。其他版本可能通过部分模式回退加载,但需要未映射地址的第一人称和战斗功能将保持禁用。
- 具有活动 OpenXR 运行时的 PC VR 头显:通过 Link 或 Air Link 连接的 Meta Quest、使用 VDXR 的 Virtual Desktop,或用于 Index、Vive、WMR、Pico、Steam Link 及其他 SteamVR 头显的 SteamVR。
- 要使用完整立体渲染,GPU 需要能够为每个显示的立体画面对 ELDEN RING 进行大约两次渲染。影院模式开销低得多。
开发和主要测试使用 Meta Quest 3 和 Touch Plus 控制器,通过 Meta Link 和 Virtual Desktop 进行。其他头显和控制器布局依赖社区反馈。
安装指南
1. 找到正确的游戏文件夹
在 Steam 中,右键点击 ELDEN RING,选择 管理 → 浏览本地文件,如果 Steam 打开的是父文件夹,则打开 Game 文件夹。正确的目标文件夹直接包含:
eldenring.exe
典型的 Steam 安装路径为:
C:\Program Files (x86)\Steam\steamapps\common\ELDEN RING\Game
2. 如果安装了 R.E.A.L. VR,请先移除
R.E.A.L. VR 和 ReShade 都使用 dxgi.dll,无法共存。安装 ERVR 前,从 Game 文件夹中删除以下 R.E.A.L. 文件:
dxgi.dll
RealVR64.dll
openvr_api.dll
cudart64_12.dll
RealVR.ini
如果 dxgi.dll 属于其他工具而非 R.E.A.L. VR,请先备份,并在替换前阅读下方的兼容性说明。
3. 解压压缩包
从 Files 标签页下载 ERVR-v0.4.0.zip。打开压缩包,将其内容复制到 eldenring.exe 所在的 Game 文件夹中。不要将整个压缩包放入额外的 ERVR-v0.4.0 文件夹内。
完成后的目录结构应为:
ELDEN RING\Game\
eldenring.exe
dxgi.dll ReShade 6.8.0 附加组件构建
ReShade.ini ReShade 配置
dinput8.dll ERVR 代理加载器
LICENSE-ReShade.txt
ERVR\
ERVR.dll 模组本体
ERVR.ini 设置
README.md
CHANGELOG.md
LICENSE.txt
THIRD_PARTY.md
如果 Windows 询问是否合并 ERVR 文件夹,选择是。更新时,在覆盖 ERVR.ini 之前请阅读下方的更新部分。
4. 选择并启动 OpenXR 运行时
- Quest Link / Air Link: 将 Meta Quest Link 设为活动的 OpenXR 运行时,连接到 Link 或 Air Link,并在启动游戏前进入 PC VR 环境。
- Virtual Desktop: 在 Virtual Desktop Streamer 中选择 VDXR 作为 OpenXR 运行时,连接头显,然后启动游戏。
- SteamVR: 将 SteamVR 设为活动的 OpenXR 运行时,并在游戏前启动 SteamVR。
ERVR 会与 Windows 当前报告为活动的 OpenXR 运行时通信。安装多个运行时没问题;同一时间只能有一个处于活动状态。
5. 禁用 EAC 并保持离线
ERVR 不会为你禁用 Easy Anti-Cheat,也不包含 EAC 绕过。 将 Steam 置于离线模式,并使用你的离线模组设置所用的 EAC 禁用方法启动游戏。除非你的设置已经为离线模组替换或重定向了正常的受保护启动器,否则不要使用它。
如果出现 Easy Anti-Cheat 启动画面或受保护启动,请关闭游戏并修复启动方法后再继续。不要加载角色或连接在线来测试是否安全。
6. 检查首次启动
在启动游戏前戴上头显。标题屏幕和菜单按设计显示在影院面板上。加载离线存档以进入完整立体渲染。
游戏启动后,打开:
ELDEN RING\Game\ERVR\ERVR.log
它应同时包含:
Active VR backend: openxr
[reshade] registered as add-on
同时检查 Game\ReShade.log。其第一行应标识 ReShade 6.8.0.2155。如果 ERVR.log 存在但 [reshade] 行从未出现,则 Game 文件夹中的 dxgi.dll 不是捆绑的 ReShade 附加组件构建。
现有模组和更新情况
已在使用 ReShade
保留你的 ReShade.ini。安装的 dxgi.dll 必须是支持附加组件的 ReShade 构建,版本 6.8 或更新。不支持附加组件的普通 ReShade 构建无法加载 ERVR 的渲染集成。
已在使用 Elden Mod Loader 或其他 dinput8.dll 加载器
不要覆盖该加载器的 dinput8.dll。保留它,并将 ERVR.dll 放在该加载器加载模组 DLL 的位置——通常是其 mods 文件夹。除非你的加载器文档要求不同布局,否则将 ERVR.ini 保留在 Game\ERVR 中。
从上一个 ERVR 版本更新
- 关闭游戏。
- 如果你修改过 Game\ERVR\ERVR.ini,请备份。
- 将 Game\ERVR\ERVR.dll 替换为 0.4.0 DLL。
- 缺失的设置会自动使用 0.4.0 默认值。要查看新设置及其注释,请将旧 INI 与新压缩包中的 ERVR.ini 进行比较,并将你的个人更改复制到新文件中。不要盲目覆盖已调优的 INI。
- 保留捆绑的 dxgi.dll 和 dinput8.dll,除非 Files 描述明确说明它们已更改,或者你正在修复安装。
Vortex
压缩包的布局就是 Game 文件夹的内容,因此根级部署可能可行。手动解压是经过测试并推荐的安装方法。部署后,验证文件夹树和上述两行日志。
卸载
删除 Game\ERVR\ERVR.dll 和 ERVR 的 dinput8.dll。仅当 ERVR 安装了 dxgi.dll 和 ReShade.ini 且没有其他模组使用 ReShade 时才删除它们。如果你将另一个包装器备份为 dxgi.dll.ervr-bak,请将其恢复为 dxgi.dll。ERVR.ini 和 ERVR.log 可自行选择保留或删除。
配置指南
配置文件为:
ELDEN RING\Game\ERVR\ERVR.ini
用记事本或其他文本编辑器打开。修改现有的键,不要在底部粘贴重复的节。大多数设置在一秒内热重载。更改 [HUD] Mode 或 [Patches] FpsTarget 后需重启游戏,如果渲染模式或分辨率更改未干净应用也需重启。
随附的 INI 故意包含大量注释。以下设置是有用的起点;除非你在测试特定问题,否则不要动 Pass2Keep、PresentLag、GpuSync、AOBs、地址链和其他诊断选项。
性能与画质
从 GameResScale 开始。 它控制 ELDEN RING 为 VR 渲染的分辨率,是主要的锐度/性能设置。
[VR]
StereoMode=full
GameRes=auto
GameResScale=1.0
- 如果游戏运行缓慢或无法保持速度,尝试 GameResScale=0.85,然后 0.75。同时降低游戏内画质设置。
- 如果性能舒适且你想要更多细节,以小步长增加 GameResScale。完整立体渲染渲染两次,因此开销上升很快。
- RenderScale 不是主要的锐度控制。 它只改变 OpenXR 重采样目标。除非诊断缩放质量,否则保持 RenderScale=1.0。
- GameRes=auto 会向 ELDEN RING 的 GraphicsConfig.xml 写入适当的分辨率,并将原始文件保存为旁边的 GraphicsConfig_ervr_backup.xml。
- StereoMode=cinema 是性能和兼容性回退方案。它在头部锁定屏幕上渲染一次平面游戏。
- FpsTarget=72 是默认值。当目标无法持续时,完整立体渲染可能拖慢整个游戏。先降低分辨率和画质;如有需要,选择一个你的 PC 能保持的较低目标。FpsTarget 在启动时应用。
一个有用的低成本完整立体渲染起点:
[VR]
StereoMode=full
GameRes=auto
GameResScale=0.75
[Patches]
FpsTarget=60
最经济且最舒适的回退:
[VR]
StereoMode=cinema
舒适度、转向和移动
[Movement]
Forward=head
SnapTurn=false
SnapTurnDegrees=30
TurnSpeed=120
- Forward=head 朝你看向的方向移动。其他选项有 hand、camera 和 body。
- 要使用快速转向,设置 SnapTurn=true 并选择 SnapTurnDegrees 值,如 30 或 45。
- 要更平滑或更慢的连续转向,降低 TurnSpeed。
- 要减少垂直动画移动,尝试 [FirstPerson] CameraBob=0。默认值 1 使相机附着于实时头部高度。
- [Locomotion] Mode=game 推荐使用。Mode=direct 为实验性,会绕过正常的水平碰撞处理。
HUD 放置
[HUD]
Mode=quad
Lock=body
Distance=2.0
Width=2.4
HeightOffset=0.0
Opacity=1.0
- Lock=body 使面板舒适地保持在世界中,并在你转向或移动足够远时重新居中。
- Lock=head 像面罩一样将其固定在你的视野中。Lock=world 将其留在单一世界位置,直到手动重新居中。
- 增加 Distance 使其更远。增加 Width 使其更大。
- 小键盘 . 重新居中 HUD,小键盘 7 切换显示,小键盘 8 循环 UI 绘制拆分。NumLock 必须开启。
- 使用 Mode=quad 时,普通显示器镜像会丢失 HUD,因为 UI 已从游戏帧中移除。这是预期行为。如果希望重建的面板绘制回显示器,设置 MirrorPanel=true。
- 更改 Mode 需重启游戏;放置和大小设置热重载。
手部、武器和身体
- 如果武器指向角度错误,调整 [FirstPerson] HandRotOffsetX/Y/Z。在 Quest 3 上,HandRotOffsetX=45 是校准默认值。
- 如果角色的手臂感觉太长或太短,以小步长调整 HandScale(围绕 1.0)。ArmStretch 控制最大 IK 触及范围。
- 如果护甲填满视野底部,稍微增加 BodyBackOffset。默认为 0.08 米。
- PoseMode=vr 是预期的 VR 身体。PoseMode=game 允许原生动画继续为身体摆姿势,可能与追踪手臂冲突。
- HideHead=true 防止角色头部遮挡相机。
战斗调优
[Gestures]
LightAttackSpeed=2.2
HeavyAttackSpeed=4.0
LeftSwingSpeed=2.4
[Combat]
Mode=auto
KineticDamageScale=1.0
Inertia=true
TwoHand=grab
TwoHandSkill=effect
CastAim=true
- 挥击阈值单位为米/秒。如果攻击难以触发,降低数值;如果普通手部移动意外触发攻击,提高数值。
- KineticDamageScale 是整体物理近战难度控制。0.75 使每次动能打击造成其调优值的 75%;1.25 使其造成 125%。
- 保持 Inertia=true 以体现武器重量。关闭它会使渲染的武器直接跟随控制器。
- 要双手持握,将空闲控制器移到剑柄处,并重新挤压该手的握持键。保持挤压以维持双手;释放以松开。
- 使用 TwoHandSkill=effect 时,双手持握时按下右扳机。武器/技能组合的首次使用可能正常播放,同时 ERVR 记录其事件以供后续无动画使用。
- CastAim=true 自动从施法手瞄准支持的法术、弓和远程技能。
- InfiniteStamina=false 是 0.4.0 的默认值。设为 true 是可选作弊,防止攻击、格挡和冲刺消耗耐力。
控制器映射
[Buttons] 节将 VR 控制映射到 XInput 名称:A、B、X、Y、LB、RB、LT、RT、LS、RS、START、BACK 和 DPAD 方向。默认面向 Quest Touch。更改映射的右侧以重新映射,或使用 none 禁用。
默认 Quest Touch 控制
- 左摇杆:移动。右摇杆:转动相机。
- A:交互 / 确认。B:闪避 / 冲刺。X:使用物品。Y:事件动作 / 手动双手修正键。
- 右摇杆按下:锁定。
- 左摇杆轻按:蹲下。按住并倾斜:快捷栏方向键。按住不动:切换菜单导航覆盖。
- 菜单键轻按:菜单。按住:地图。
- 右扳机 / 右握持:按钮模式下轻 / 重攻击。在物理第一人称中,改为挥击攻击。
- 左扳机:防御。左握持:技能。
- 挥动右手:物理攻击。挥动左手:招架、盾击或副手攻击;盾牌根据其姿态进行防御。
- 空闲手在剑柄处 + 重新挤压握持:双手持握。双手持握时右扳机:战灰。
故障排除
未创建 ERVR.log
ERVR.dll 未加载。确认 dinput8.dll 在 eldenring.exe 旁边,且 ERVR.dll 在 Game\ERVR 内。如果安装了其他 dinput8 加载器,请将 ERVR.dll 放在该加载器的 mods 文件夹中。
ERVR.log 存在,但没有“Active VR backend: openxr”
头显未串流或活动的 OpenXR 运行时错误。先启动 Link、Virtual Desktop 或 SteamVR,确认其运行时处于活动状态,然后重启游戏。
OpenXR 行存在,但没有“[reshade] registered as add-on”
安装了错误的 dxgi.dll。使用捆绑的 ReShade 6.8.0 附加组件构建。普通非附加组件的 ReShade 安装不够。
标题屏幕、菜单或过场动画是平面的
这是预期行为。ERVR 将影院面板用于菜单、过场动画、加载和过渡安全,然后返回立体游戏画面。
游戏慢动作或性能糟糕
降低游戏内画质设置和 [VR] GameResScale。不要将 FpsTarget 提高到机器无法维持的速率。使用 StereoMode=cinema 确认昂贵的第二眼通道是原因。
显示器上缺少 HUD
[HUD] Mode=quad 的预期行为。UI 直接提交到头显。如果桌面镜像也需要它,设置 MirrorPanel=true。
左摇杆跳动、漂移或改变方向
保持 [Sticks] GlitchFilter=true。这专门解决 Quest Pro / VDXR 摇杆信号损坏问题。如果仍然存在,请在硬件报告中包含调试心跳行。
第一人称或战斗功能被禁用
阅读 ERVR.log 中的 [game] 可执行文件版本行。目前只有 exe 2.6.2.0 和 2.7.1.0 具有完整的已验证地址映射。同时确保相邻的 eldenring.exe 与游戏文件匹配;被重命名的旧启动器可能导致更新后模型和偏移损坏。
仍然卡住?
设置 [General] LogLevel=debug,重现问题,关闭游戏,并将 Game\ERVR\ERVR.log 附加到 GitHub issue。没有调试日志的报告无法诊断。
杀毒软件警告和下载验证
ERVR.dll 会注入正在运行的游戏进程,dxgi.dll 是 ReShade 的未签名附加组件构建。因此可能出现通用杀毒软件检测。你无需仅凭作者之言信任这些文件:每个发布版本都由 GitHub Actions 从公开标记的源代码构建,并带有签名的来源证明。
gh attestation verify ERVR-v0.4.0.zip --repo IlyaMez/EldenringVR
发布版本还包含 SHA256 文件。捆绑的 dxgi.dll 与 ReShade_Setup_6.8.0_Addon.exe 中的 ReShade64.dll 逐字节相同;其哈希记录在 THIRD_PARTY.md 中,可与从 reshade.me 全新下载的文件进行比较。
ERVR 不包含遥测、分析、自动更新器或网络代码。它从不回传数据。
已知限制
- 完整立体渲染开销高昂,大约使游戏的渲染工作量翻倍。如果立体循环错过目标,ELDEN RING 可能会变慢而不仅仅是掉帧。
- 物理近战故意没有玩家攻击动画。因此依赖玩家动画状态的敌人行为或提示可能有所不同,游戏可能允许在挥击期间翻滚。
- 盾牌系统目前使用游戏的防御角度和 ERVR 的姿态评分,而非针对盾牌模型精确可见表面的碰撞。
- 某些战灰需要首次正常激活以记录其动画事件。蓄力和架势后续动作尚不完整。
- 只有 exe 2.6.2.0 和 2.7.1.0 具有已验证的地址映射。未来的 ELDEN RING 补丁可能需要新的偏移。
- 目前没有头显内设置菜单。直接编辑 ERVR.ini。
- 作者的硬件测试主要是 Quest 3。其他 OpenXR 头显可能需要调整控制器绑定。
Bug、支持和贡献
这是一个在时间允许时维护的业余项目。请通过 GitHub issue 跟踪器使用模板报告可重现的 bug,附上 LogLevel=debug 和 Game\ERVR\ERVR.log。问题和调优帮助请前往 GitHub Discussions。
作者没有的硬件绑定、新游戏版本的已验证偏移、测试和 pull request 特别有用。请参阅仓库中的 CONTRIBUTING.md。
源代码、许可证和致谢
源代码:github.com/IlyaMez/EldenringVR
ERVR 采用 GPL-3.0-or-later 许可证。你可以使用、研究、修改和再分发它。如果你分发修改后的构建,必须在相同许可证下发布相应的源代码。每个功能和构建都是免费的;没有任何内容被或将被付费墙限制。
- ReShade,作者 crosire — BSD-3-Clause,作为 dxgi.dll 未修改捆绑。
- MinHook — BSD-2-Clause。
- OpenXR SDK — Apache-2.0。
- 技术研究:Meowmaritus 的 DSAnimStudio、Dasaav 的 fromsoftware-rs 和 erfps2、Souls Modding wiki,以及 uberhalit 的 EldenRingFpsUnlockAndMore。
- 结构灵感:Halo-MCC-VR 和 cyberpunk-vr-port。
与 FromSoftware、Bandai Namco、Meta、Valve 或 ReShade 项目无关联、未获其认可或连接。此模组不包含任何游戏代码或游戏资源。在你拥有的游戏上离线使用,风险自负。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。