非海战场景的自定义水体材质
本指南介绍了在未使用 Naval DLC 宏观位移渲染器的情况下,如何为场景赋予自己独特的水体外观——例如河流浅滩、湖泊,或任何包含水体的陆地战斗场景。
概述
默认情况下,每个非海战场景都共享一个名为 base_water_scene_default 的单一引擎水体材质。该材质控制着水的颜色、光线在水中散射的方式,以及水面的外观。
你可以按场景使用任何采用 water_surface 着色器的材质来替换它。当你这样做时,引擎将使用你的材质——并且波浪模拟参数(强度、波浪尖锐度、风向影响)将不再被游戏玩法代码覆盖,因此你可以直接在场景检查器(Scene Inspector)中进行调整。
Naval DLC 说明: 此覆盖仅在 Naval DLC 宏观位移渲染器未激活时生效。在海战任务中,该覆盖会被忽略,海战渲染管线会照常接管。
步骤 1 — 创建水体材质
- 打开 资源浏览器(Resource Browser),找到
base_water_scene_default。 - 复制它,并给它起一个清晰的名称,例如
my_module_lake_water。 - 在 材质检查器(Material Inspector) 中打开该副本。
- 确认 着色器(Shader) 字段显示的是
water_surface。只有使用这一精确着色器的材质才会出现在场景的水体材质选择器中。
步骤 2 — 在场景中设置材质
- 在编辑器中打开你的场景。
- 在 场景检查器(Scene Inspector) 中,展开 水(Water) 组。
- 找到 非海战水体材质覆盖(Non-Naval Water Material Override) 字段。
- 点击选择器并选择你的材质。
- 该列表已筛选为仅显示
water_surface材质。 - 将此字段留空以恢复为引擎默认值(
base_water_scene_default)。
- 该列表已筛选为仅显示
- 保存场景。该覆盖会被存储在场景文件中,并在每次于游戏内或编辑器中打开该场景时自动加载。
编辑器预览: 如果你的编辑器会话中启用了 Naval DLC,可见性管理器(Visibility Manager) 面板将显示一个 “Preview Naval Water Renderer”(预览海战水体渲染器)复选框。请确保在处理非海战水体时取消勾选此项——当它被勾选时,海战宏观位移渲染器处于激活状态,你的材质覆盖将不可见。取消勾选它可将视口切换到非海战路径,从而实时查看你的材质更改效果。
步骤 3 — 调整材质
在材质检查器中,对视觉效果影响最大的两个字段如下。其他一切(波浪动画、位移、焦散)都由模拟系统驱动,无法按材质单独更改。
Factor Color(因子颜色)— 水体颜色
此参数控制光线在水中向下传播时被吸收的程度。可以将其理解为水在深处所呈现的颜色。
| 通道 | 作用 |
|---|---|
| R(红色) | 红光在深处存活的程度。数值低 \= 红色迅速消失,呈现蓝绿色调。 |
| G(绿色) | 绿光存活的程度。 |
| B(蓝色) | 蓝光存活的程度。数值高 \= 清澈的蓝色水体。 |
| A(透明度) | 散射雾霭随深度加深而占主导的速度。数值低时雾霭几乎立即出现;数值较高(0.5–2.0)时则呈现自然的深度渐变。 |
可尝试的起始数值:
| 水体类型 | Factor Color(R、G、B、A) |
|---|---|
| 清澈的热带蓝水 | 0.05, 0.35, 0.80, 1.0 |
| 深邃幽暗的海洋 | 0.02, 0.10, 0.25, 1.5 |
| 浑浊的河流 | 0.10, 0.50, 0.30, 0.8 |
| 浅水潟湖 | 0.15, 0.60, 0.70, 0.5 |
| 沼泽/泥潭 | 0.20, 0.35, 0.10, 0.4 |
这些颜色数值处于线性空间。材质检查器会将其转换为 sRGB 以便于阅读——你在颜色选择器中看到的内容,大致就是你在明亮阳光下的游戏画面中会看到的效果。
Factor2 Color(因子2颜色)— 水下雾霭/散射颜色
这是在浅水中透过水面观察下方被照亮表面时所看到的那种浑浊光晕的色调。可以将其理解为水本身的颜色,而非水后面物体的颜色。
| 通道 | 作用 |
|---|---|
| R、G、B | 雾霭的颜色。一个不错的起点是采用比 Factor Color 更浅、略带绿色调的颜色。 |
| A(透明度) | 雾霭颜色在靠近水面处显现的强烈程度。0.1–0.3 是一个自然的取值范围。 |
可尝试的起始数值:
| 水体类型 | Factor2 Color(R、G、B、A) |
|---|---|
| 清澈的热带蓝水 | 0.10, 0.60, 0.50, 0.2 |
| 深邃幽暗的海洋 | 0.05, 0.20, 0.40, 0.1 |
| 浑浊的河流 | 0.15, 0.40, 0.20, 0.3 |
| 沼泽/泥潭 | 0.20, 0.30, 0.08, 0.35 |
将 Factor2 Color 设置为与 Factor Color 同色系但更浅、略偏绿色或青色的颜色。过于饱和的数值可能会显得不自然。
步骤 4 — 调整场景波浪设置
当自定义水体材质覆盖处于激活状态时,游戏玩法代码将不再对你的场景强制施加固定的波浪参数。场景检查器水组(Scene Inspector Water group) 中的滑块现在将完全生效。
| 滑块 | 作用 | 建议范围 |
|---|---|---|
| Strength(强度) | 控制波浪的能量和高度。数值越高 \= 水面越汹涌,边缘泡沫越多。 | 河流和湖泊为 0.5–3.0;暴风雨中的海岸可达 6–8 |
| Choppiness(波浪尖锐度) | 控制波峰的形状。0 \= 平滑的滚动波浪,1 \= 尖锐的波峰。 | 大多数水体为 0.3–0.7 |
| Wind Dependency(风向依赖度) | 波浪与风向对齐的强烈程度。0 \= 波浪在各个方向上均匀传播,1 \= 波浪强烈跟随风向。 | 封闭水域为 0.0–0.5;开阔水域为 0.5–1.0 |
如果没有材质覆盖,引擎会强制将 Strength 设为 10,将 Wind Dependency 设为 0,无论你在此处设置什么数值。只有在指定了自定义材质覆盖之后,这些滑块才会生效。
哪些内容无法按材质更改
以下内容由引擎模拟系统或全局渲染管线驱动。它们在每个场景的每个非海战水面上都是相同的,无法通过更改水体材质来覆盖。
- 波浪法线贴图与位移(这些来自 FFT 水体模拟)
- 焦散(Caustics)
- 水面背后场景的折射
编辑器中的热重载
当你在编辑器中打开场景的同时保存对水体材质的更改时,引擎会检测到该更改,并在几秒钟内自动刷新水体效果。你无需重新加载场景。
如果保存材质后水体没有更新,请尝试将 非海战水体材质覆盖(Non-Naval Water Material Override) 选择器关闭再重新打开,以强制刷新。
