汉化标题:通用 – Extra FX 标志
原文页面:General-–-Extra-FX-flags
原文锚点:d57c0bb
汉化时间:2026-09-12T19:00:00+08:00
Extra FX 是 Custom Shaders Patch 的另一个扩展,它基于场景的深度和法线信息添加了大量屏幕空间效果,例如局部反射、SSAO、反射光、体积大灯或时间抗锯齿。为了让整个系统正常工作,它需要(在主渲染通道之前)第二次渲染场景,以准备法线缓冲区以及诸如运动模糊所用的运动缓冲区、SSLR 所用的反射信息等额外数据。
关于不透明的透明表面与车窗
这些效果在此处的实现方式是:为了处理车窗和类似表面,几乎所有这些透明表面都会被渲染到那些 Extra FX 缓冲区中,因此它们显示为不透明。一个例外是从车内看到的车窗:默认情况下它们不会被渲染到 Extra FX 缓冲区中,甚至会被排除在主渲染通道之外,只在 Extra FX 效果应用完毕后才绘制。可以想象,这样一来它们会盖住所有效果,但对于车内视角来说,这通常是更理想的行为。
举个例子,以下是原始场景:
以下是它在 Extra FX 缓冲区中的样子:
因此,Extra FX 不会影响玻璃后面的任何东西,车窗的反射可能看起来有些奇怪,但请注意侧后视镜是如何映在侧窗中的,同时侧窗又映在侧后视镜中。可以将其与《黑手党 3》(Mafia 3)中的反射对比一下:
好,言归正传。有时你可能想要改变这一行为。比如挡风玻璃前的弹出式仪表被错误地施加了运动模糊,或者某些大灯玻璃确实需要在其下方获得一些局部反射,等等。与往常一样,你可以通过扩展配置来实现:
[EXTRA_FX]
DELAYED_RENDER = ... ; 所有参数都是网格列表
SKIP_GBUFFER = ...
MASK_GBUFFER = ...
BLEND_GBUFFER = ...
AUTOFIX = 1 ; 1 为默认值不过有一点:使用这些选项时必须非常小心。与该领域的大多数事物一样,这里的所有东西都是一堆拼凑的折中方案。不同的情况可能需要不同的解决方案。
DELAYED_RENDER:直接将网格从 Extra FX 中跳过,并在 Extra FX 应用完毕后再绘制。适用于车内的弹出式仪表之类的东西,即位于仪表板上方、挡风玻璃前的那类仪表。请记住,由于这些网格是单独渲染的,它们不会获得与车身类似的照明调整。内部反射的遮罩对它们也不起作用。而且在启用 TAA 的情况下,即使设置中启用了 MSAA,它们也不会有 MSAA。所以,说真的,对大多数情况而言这都不是一个好选择。
SKIP_GBUFFER:将网格从 Extra FX 中跳过,但仍照常在主渲染通道中渲染它。可能适用于在大多数情况下几乎不可见的东西,比如仪表板仪表上方的玻璃(而且该玻璃仍会被正确地应用内部反射遮罩)。注意玻璃后某物的反射看起来就像是在玻璃前面一样。
MASK_GBUFFER:新近添加、仍有些实验性的选项,但我相信它应该适用于大多数SKIP_GBUFFER失效的情况。它不会完全跳过网格,而是仍会将其渲染到 Extra FX 缓冲区中,但采用完全不同的方式:压暗反射,让 SSLR 将其考虑在内。它在 SSAO 之类的东西上仍会产生伪影,但就大灯玻璃之类的东西而言,这些伪影通常远不如 SSLR 上的明显。请自行对比:

BLEND_GBUFFER:用于叠加层的选项,这类叠加层只应轻微改变反射强度之类的属性,而完全不改变底层表面的形状。如果贴纸需要以平滑渐变的方式混合,则很有用。AUTOFIX:为这些标志添加一些自动猜测,例如为赛道标记赛车线。
关于运动模糊与 TAA
这些也有一些问题,同样提供了一些选项来调整其行为。
[EXTRA_FX]
ROTATING_FILTER = ... ; 所有参数同样是网格列表
MOVING_FILTER = ...
GLASS_FILTER = ...ROTATING_FILTER:将节点标记为旋转,这样在执行运动模糊和 TAA 时就会忽略其旋转。指针之类的东西无需添加,但如果你有快速旋转的风扇之类的东西看起来全是故障伪影,这就是解决方案。车轮默认会被自动添加在这里。MOVING_FILTER:TAA 最近添加的一项改进是现在会比较物体以减少重影。默认情况下,Custom Shaders Patch 会将整辆车标记为一个移动实体,但如果你想减少模拟仪表之类的重影,就把它们列在这里,它们会被标记为独立移动的物体。对于车辆,默认值为ARROW_?, STEER_?, SHIFT_?。GLASS_FILTER:TAA 的另一个选项,用于将表面切换为快速响应模式。TAA 会减少对先前帧的关注,从而提高反应速度,代价是锯齿可能增多。非常适合数字仪表(顶部的玻璃或其后的表面)、导航屏幕或某些车窗之类的东西——如果相机移动导致车窗后的东西产生过多重影的话。
你可以在 Extra FX 调试应用中使用调试模板(stencil)视图来查看每个网格被标记成了什么。亮紫色区域是快速响应的。
关于半透明的 Grass FX
默认情况下,Grass FX 的程序化草地不会渲染到 G 缓冲区中,从而将耗时几乎减半。在大多数草地较矮、表面为哑光的赛道上这完全没问题,然而在一些草较高或其后有反射表面(如水面)的赛道上,草地会出现故障和透明的情况。要修复这个问题,请使用:
[EXTRA_FX]
FORCE_GRASSFX_GBUFFER_PASS = 1Extra FX 设置中也有一个选项,可以为所有赛道启用该通道。





