光线追踪 - 英灵神殿

光线追踪 - 英灵神殿

为《英灵神殿》添加实时光线追踪,改进反射、阴影、环境光照和全局光照,使游戏光照更自然、视觉上更扎实,同时不会过多改变其原有风格。

[center][color=#cc0000][size=6][b]请将此视为公开测试版
如有任何问题或建议,请在帖子区发布[/b][/size][/color][/center]
[center][/center]
[center][color=#ff00ff][size=5][b]如果你从 1.0.4 起出现掉帧:
请在[i]性能选项卡[/i]中关闭 [i]Opacity Micromaps[/i][/b][/size][/color][/center]
[center][/center]
[center][size=5][b][u]VALHEIM 光线追踪[/u][/b][/size]
[/center]
[center]为 Valheim 提供硬件光线追踪光照、阴影和反射[/center]

[size=4][b][u]概述[/u][/b][/size]

Valheim Ray Tracing 为游戏添加 DirectX 12 硬件光线追踪。它会追踪你周围的世界,以改善阴影、反射、环境光遮蔽和间接光照。室内现在能接收光线追踪的光照与阴影信息,因此房间、门口以及篝火周围的空间能以更令人信服的深度被照亮,而不是仅依赖原始屏幕画面。

这是一个注重视觉效果的模组。它尤其适合截图和缓慢、细致的探索。

[size=4][b][u]特性[/u][/b][/size]

• 光线追踪的阳光和局部光源阴影。
• 间接漫反射光照和环境光遮蔽,为室内和遮蔽空间增加深度。
• 水面和其他受支持表面的反射,包括 Valheim 的动态水面。
• 对建筑、地形、道具、植被和受支持的动态物体进行场景追踪。
• 游戏内 F1 面板,用于调整效果、质量和性能设置。


[center][size=4][b][u]硬件与性能[/u][/b][/size][/center]

[center][color=#cc0000][size=4][b][font=Arial Black]Valheim Universal Upscaler 是必需的。请在使用此模组前安装它。确保 Upscaler 正在运行,然后再尝试安装 Ray Tracing。Ray Tracing 需要 [/font][/b][/size][/color][color=#ff00ff][size=4][b][font=Arial Black]UPSCALER 开启并处于活动状态[/font][/b][/size][/color][color=#cc0000][size=4][b][font=Arial Black]才能正常工作。[/font][/b][/size][/color][/center]

[b]仅在 NVIDIA 硬件上测试过。[/b]AMD 和 Intel GPU 完全未测试。需要支持硬件光线追踪的 DirectX 12 GPU;不保证在特定显卡上受支持。

[i][b]此模组运行开销很大。[/b] [/i]预计会有显著的帧率开销,尤其是在较高分辨率或启用多个光线追踪效果时。它更适合用于截图,而不是对性能敏感的游戏过程。如有需要,可在 F1 面板中降低分辨率或禁用个别效果。最好搭配支持帧生成的高端 GPU 使用。

[size=4][b][u]安装[/u][/b][/size]

1. 为 Valheim 安装 [url=https://thunderstore.io/c/valheim/p/denikson/BepInExPack_Valheim/]BepInEx [/url]和 [url=https://www.nexusmods.com/valheim/mods/3432]Valheim Universal Upscaler[/url]。
2. 将压缩包解压到你的 Valheim 游戏文件夹中,保留其 BepInEx 和 valheim_Data 文件夹结构。
3. 启动游戏并按下 F1 打开光线追踪设置。

[size=4][b][u]渲染技术[/u][/b][/size]

Valheim Ray Tracing 是一个完整的硬件光线追踪渲染器,与 Valheim 自带的渲染器并行运行。游戏仍然绘制世界。然后模组在 GPU 上构建其光线追踪副本,并针对该副本追踪阳光、阴影、间接光照、反射和水面。它不是一个屏幕空间滤镜或 ReShade 预设:光线会命中真实几何体,包括屏幕外、你身后或被其他物体遮挡的东西。




[][b]DXR(DirectX Raytracing)[/b]
微软为 D3D12 提供的硬件光线追踪层。模组为网格构建底层加速结构(BLAS),并为场景构建顶层结构(TLAS),然后使用完整的光线生成、最近命中(closest-hit)和任意命中(any-hit)着色器进行追踪。每一个光线追踪效果,从太阳阴影到多次反弹光照,都通过 GPU 专用 RT 核心上的 DXR 完成。
[/
]
[][b]DLSS Ray Reconstruction (RR)[/b]
NVIDIA 用于光线追踪图像的 AI 降噪器。它不依赖为阴影、反射和间接光照分别手工调校的模糊滤镜,而是用一个训练过的网络从嘈杂的光线追踪信号中重建干净图像。它能保留更多精细细节,例如接触阴影、湿石上的反射和穿过树叶的光,并且在运动中拖影更少。模组为 Ray Reconstruction 提供正确的逐像素运动信息,包括风吹动的树木和草以及动画生物,因此摇曳的植被能保持锐利。对于无法使用 RR 的环境,内置了降噪器。
[/
]
[][b]ReSTIR(基于储层的时空重要性重采样)[/b]
现代路径追踪游戏背后的采样技术。每个像素保留一个小的“储层”,记录它找到的最佳光路,并与相邻像素以及下一帧共享。这使得原本需要每像素数十条光线才能达到的质量,仅需约一条光线的成本即可获得。
[/
]
[][b]ReSTIR DI(直接光照)[/b]
用于直接光的 ReSTIR。附近的每个火把、火焰、火盆、灯笼和发光表面都是每个像素的候选,最佳者会被选中并进行阴影追踪。许多光源可以各自投射正确的软阴影,且没有光线穿墙泄漏。
[/
]
[][b]ReSTIR GI(全局光照)[/b]
用于间接光的 ReSTIR。找到明亮表面的反弹路径会在空间和时间上被复用,因此从门口照进来的阳光或从墙上反弹的火光能平滑地填满房间,而不是表现为噪点。
[/
]
[][b]SHaRC(空间哈希辐射缓存)[/b]
NVIDIA 世界空间辐射缓存的移植版。每帧有一小部分像素追踪更新路径,并将它们找到的光存储在世界空间哈希网格中。反弹路径随后在第一个缓存表面处停止,取用其多次反弹光照,而不是继续追踪。光可以绕过角落并穿过多个房间传播,成本仅为追踪每次反弹的一小部分。它与多次反弹 GI(路径段数为 2 或更多)配合使用。
[/
]
[][b]OMM(不透明度微图)[/b]
对 alpha 测试几何体的硬件加速:树叶、针叶、灌木、悬挂苔藓、栅栏。每个镂空纹理都会预先分类为不透明、透明和未知的微三角形,因此 GPU 在遍历时会跳过 alpha 测试植被通常需要的大部分着色器工作。Valheim 的森林是任何光线追踪器最难处理的情况,这正是 OMM 发挥作用之处。在 GeForce RTX 40 系列及更新型号上完全硬件加速。
[/
]
[][b]SER(着色器执行重排序)[/b]
在受支持的 NVIDIA GPU 上,反射和合成光线会在着色前按其命中的对象重新分组,因此 GPU 在繁忙场景中花在分歧工作上的时间更少。


[size=4][b][u]追踪内容[/u][/b][/size]

[list]
[
][b]整个场景,远距离:[/b]地形、建筑、岩石、船只、推车、道具和树木,默认追踪你周围最多 160 米(可调整)。[/]
[
][b]具有真实叶片形状的植被:[/b]树叶和针叶会通过其 alpha 纹理被追踪,因此树影和穿过树冠的光与你看到的一致。[/]
[
][b]草:[/b]草甸草通过专用的树冠模型投射阴影并遮挡天空光,因此田野具有深度,而不是看起来平坦。[/]
[
][b]风:[/b]树木和草在追踪场景中随 Valheim 自身的风移动,因此它们的阴影会随可见植被一起移动。[/]
[
][b]角色和生物:[/b]玩家、护甲、武器和生物每帧都会从游戏自身的动画网格进行追踪,包括游戏仅保留在 GPU 上的模型。披风会跟随其布料模拟。[/]
[
][b]水:[/b]Valheim 的动态波浪会在光线追踪场景中重建,包含对海岸、树木、船只和建筑的反射,以及水面来自火把和火焰的闪光。[/]
[
][b]玻璃:[/b]通过玻璃的光线追踪折射。[/]
[/list]
[size=4][b][u]调优与诊断[/u][/b][/size]

按 [b]F1[/b] 打开控制面板。每个光线追踪通道都可以单独开关和调整,Modules 选项卡显示每个通道测得的 GPU 开销,一键隔离(仅阴影、仅光照、仅反射)可准确显示帧时间花在哪里。


[size=4][b][u]备注[/u][/b][/size]

结果会因场景和可用几何体而异。一些透明、粒子和着色器驱动的效果仍属于 Valheim 原始渲染器的一部分。[color=#ff0000]这是一个仍在演进的光线追踪实现,因此可能出现并且将会出现视觉伪影和兼容性问题。[/color]
[i]给聪明的朋友们:这不是 ReShade。[/i]
[/
]