Skip to content

赛道 – 雨FX

汉化标题:赛道 – 雨FX
原文标题:Tracks-–-RainFX
汉化更新时间:2026-01-14 17:38:44 +08:00
英文原文最新更新时间:2021-02-22 14:10:33 +0100

通用定义

  • PUDDLES_MATERIALS - 生成积水相关物理效果的关键部分。
  • SOAKING_MATERIALS - 默认情况下,所有材质在潮湿时会变暗 35%,而被列为 SOAKING_MATERIALS 的材质会额外变暗 70%(相当于再额外增加 35% 的暗化)。
  • SMOOTH_MATERIALS - 这类材质不会变暗,而是在表面上出现雨滴,例如玻璃片、车辆、光滑干净的金属等。如果某个材质同时在 SMOOTH_... 和 SOAKING_... 中被提及,它会出现雨滴,但仍然会变暗 35%。
  • ROUGH_MATERIALS - 不会产生任何反射,也不会明显变得更有光泽,只会在潮湿时变暗。对于草地表面这是基本必需的,否则程序生成的草地无法得到合适的反射配合,尤其是在启用 Extra FX 时整体效果可能显得不正确。
  • LINES_MATERIALS - 允许将赛道表面的油漆线标记为特殊材质。它不会有可见的视觉效果,但稍后会对物理产生影响(会更滑)。
  • LINES_FILTER_MATERIALS - 与 LINES_MATERIALS 类似,但不是将整个区域作为表面油漆掩码,而是只过滤出更亮的区域,适用于像银石(Silverstone)这种油漆线不是叠加网格而是纹理一部分的赛道。
  • RELIEF_MATERIALS - 当前有问题,且不确定是否真正需要修改。其原意是在低洼区域产生更多积水;为此,CSP 会使用赛道高度图。该参数指定哪些内容会计入高度图,默认会使用所有内容。这意味着在高楼周围可能会出现更多积水,因为周围区域会被视为局部低点。如果这与现实情况不符,该参数可以快速排除建筑物等。
  • 对于上述每个 XXX_MATERIALS,你也可以使用对应的 XXX_MESHES 版本。

更具体的情况

  • 主要的赛道沥青表面应同时被定义为 PUDDLES_MATERIALS 和 SOAKING_MATERIALS。
  • 通常不需要将路缘(curbs)定义为 SOAKING_MATERIALS,因为它们在潮湿时通常不会变得更暗,但可以定义为 PUDDLES_MATERIALS。
  • 目前建议仅将 PUDDLES_MATERIALS 用于道路,因为某些处理假设它们是道路。对于看台等其他地方的积水,可能需要为非道路的小范围积水准备单独的着色器集,这些着色器不会依赖大尺度的地形高程或赛道线偏移等。
  • SOAKING_MATERIALS 的示例可以是布料屋顶。
  • 沟槽(grooves)不需要被定义为任何 Rain FX 材质/网格。现在有针对沟槽的新着色器,它们完全不会有积水。积水的作用是添加实时反射,而所有沟槽现在做的只是为 SSLR 掩蔽反射。支持积水的着色器列表见:gitlab.com/ac-custom-shaders-patch/public/acc-shaders/-/blob/master/.build/lists.txt(如需紧急添加请告知 Ilya)。
  • 关于沙面(sand surface),它可以定义为 ROUGH_MATERIALS 或 SOAKING_SURFACES,具体取决于你希望的效果(是否需要一些反射或仅仅让沙陷更暗)。建议根据其平整程度来定义:比如海滩上的细软平整沙子可以更有反射性,而常见的沙坑通常较为粗糙,没必要有反射。同时性能也会受影响,减少反射材质有助于性能。
  • 看台观众(bystanders)也可以定义为 ROUGH_MATERIALS,毕竟让他们出现反射有时看起来不自然。
  • SMOOTH_MATERIALS 的数量不会对性能产生显著影响。你可以尽可能多地定义,或仅定义驾驶视野内可见的材质。如果这些着色器当前占用的屏幕空间不大,则影响甚微。

配置教程

  1. 将下面的示例代码复制到 extension\config\tracks\loaded 文件夹中目标 *.ini 配置文件的末尾。如果你正在处理的赛道配置文件不在 GitHub 仓库中,请在 content\tracks\your_track 文件夹内创建一个 extension 文件夹,并在其中创建 ext_config.ini 文件。
  2. 在游戏中载入该赛道,使用 F7 自由摄像机在赛道上游走。建议使用无边框窗口模式以便同时编辑配置文件观察效果。
  3. 打开 Objects Inspector 应用并按 Alt 点击你想要处理的对象。
  4. 在 Object Inspector 中点击材质/网格名称以复制到剪贴板,然后粘贴到配置文件中对应的 XXX_MATERIALS/MESHES 项下。
  5. 保存配置文件,即可立即在游戏中看到效果。
  6. 对其他赛道对象重复步骤 3-5。个人使用时随意操作;若要分享给公众,请尽量详尽。
  7. 可以参考的优秀示例赛道包括 ks_nordschleifespaks_highlands
ini
[RAIN_FX]
PUDDLES_MATERIALS = some_material  ; 通配符 "?" 仍然可用
SOAKING_MATERIALS = ...
SMOOTH_MATERIALS = ...
ROUGH_MATERIALS = ...
LINES_MATERIALS = ...
LINES_FILTER_MATERIALS = ...

; 你也可以使用 ..._MESHES 对应的写法!

; 定义雨水应从哪些边缘/点开始滴落...
STREAM_EDGE_... = -1207, 39, -1750, -1173.6, 39.5, -1750.2  ; x1,y1,z1 , x2,y2,z2
STREAM_POINT_... = -1232.69, 38.48, -1411.69                ; x,y,z

; RELIEF_MATERIALS = '{ dynamic:no & !Bx? }'  ; 当前有问题

用于桥梁/隧道

  • 你可以定义雨水不应落到的区域:
ini
[TRACK_OCCLUDER_BOX_0]
DESCRIPTION=upper plane of a box, underneath no rain
POINT_0=726.001, 15.7748, 586.403
POINT_1=730.039, 15.7748, 600.85
POINT_2=723.472, 15.7748, 602.709
POINT_3=719.433, 15.7748, 588.262

[TRACK_OCCLUDER_WALL_0]
DESCRIPTION=for a wall only 2 points needed
POINT_0=678.85, 11.4539, 574.043
POINT_1=734.493, 11.4539, 759.929