史克威尔艾尼克斯(Square Enix)的《最终幻想7:重生》(Final Fantasy VII Rebirth)即将迎来一款着色器注入器Mod,出自Mod作者大卫·马托斯(David Matos)之手。该Mod旨在将修改后的着色器直接注入游戏的渲染API,从而实现视觉效果的提升。

几天前,马托斯发布了一段展示视频,演示了升级版的UE4延迟方向光像素着色器。着色器的BRDF已得到升级,作者还添加了屏幕空间光线追踪阴影和微阴影,以提升《最终幻想7:重生》的整体画面质量。此前被排除在阴影贴图之外的对象,现在可以由上述SSRT阴影填充,使环境感觉更扎实、更真实。
马托斯还分享了他作品的技术详解。他表示,《重生》的游戏内光照看起来明显比前作《最终幻想7:重制版》(Final Fantasy VII Remake)更平淡,尽管两者都运行在相同的改良版虚幻引擎4上。过场动画依然出色,但在常规游戏过程中,小物件、植被和精细的表面细节往往无法投射出任何阴影。
可能的原因是《重生》的开放世界要大得多。为了支持这一点,开发者将《重制版》中高细节的预烘焙光照替换为一种更轻量、低分辨率、更适合大地图的系统。这是为了性能做出的合理取舍,但也牺牲了游戏中的一些阴影细节。
马托斯还解释了为什么一些显而易见的解决方案在这里行不通:完整光线追踪对于如此规模的开放世界来说要求太高;简单地提高阴影贴图分辨率无法很好地适应远距离;而增加更多阴影级联(不同距离上的阴影贴图层)会严重影响性能,因为这迫使游戏每帧多次重绘整个场景。
他的解决方案依赖于屏幕空间光线追踪阴影,这是一种成熟的技术,实际上默认就内置在虚幻引擎4中,但《重生》根本没有使用它。SSRT阴影无需为每个光源重绘场景,而是仅利用屏幕上已有的深度信息来估算阴影,原理类似于屏幕空间环境光遮蔽。这种方法擅长处理细小、近距离的阴影细节,例如头发、植被以及物体之间的接触点。
由于《重生》的实际着色器是已编译的,无法直接编辑,马托斯不得不使用免费图形调试工具RenderDoc对其进行逆向工程,然后在其基础上构建改良版本。但实现这一目标并非没有代价。新阴影的早期版本每帧额外花费了3毫秒,这对于60fps的目标来说是不可接受的。
经过多轮优化,马托斯将成本降低到大约0.44毫秒(在原生4K分辨率、RTX 3080上),仅为原始光照着色器成本的两倍,却带来了显著的视觉升级。
一旦你知道该看什么,这些改进就很容易发现了:头发丝在角色脸上投射阴影,草和植被在其下方的地面上投下阴影,物体与其他表面接触处的阴影明显更锐利。这项技术也不仅限于阳光;它同样适用于灯光和火炬等局部光源,其中数个光源在《最终幻想7:重生》中目前完全禁用了阴影投射。
遗憾的是,这款着色器注入器Mod尚未公布公开发布时间表,但我们会确保及时通知各位。该Mod还有潜力修改其他着色器,包括后期处理和其他光照通道。
在其他《最终幻想7:重制版》/《重生》的Mod相关新闻中,DX12异步编译Mod可以显著改善两款游戏中的卡顿问题。



