# 着色器: rendinst_flag_layered ## 概述 此着色器专为织物动画而设计,具有基于顶点颜色的细节混合。 ## 参数 - `script:t="frequency_amplitude=1,1,1,1"` – 设置随机频率和振幅间隔。 - `script:t="wave_length=1"` – 定义波长。 - `script:t="wind_direction=0,0,1,0"` – 指定风向。 - `script:t="details_tile=1,1,1,0"` – 控制细节的平铺。 - `script:t="invert_heights=0,0.5,0,0"` – 反转细节的高度图(可以是分数)。 - `script:t="paint_details=1,0,0,1"` – 指定细节的颜色。 - `script:t="overlay_color_from=0,0,0,0"` – 使用顶点颜色的蓝色通道作为遮罩,通过线性插值 (lerp) 定义用于混合的“from”和“to”颜色。 - `script:t="overlay_color_to=0,0,0,0"` – 指定从 '0' (RGB 值 '0') 到 '1' (RGB 值 '255') 的颜色范围。 - `script:t="micro_detail_layer=0"` – 微细节的参数。 - `script:t="micro_detail_layer_v_scale=1"` - `script:t="micro_detail_layer_uv_scale=1"` - `script:t="atest=1"` 和 `script:t="details_alphatest=0,0,0,0"` – 一起使用。第一个参数启用 Alpha 测试,而第二个参数定义每个细节的 Alpha 测试强度。 ## 功能 此着色器的运行原理与其父着色器相同: - Shader [rendinst_flag_colored](rendinst_flag_colored.md) – 控制动画行为。 - Shader [rendinst_vcolor_layered](rendinst_vcolor_layered.md) – 管理细节绘制、叠加、Alpha 测试、平铺和高度贴图反转。 所有这些参数在相关的着色器文档中都有完整的描述,因此这里不再赘述 - 有关详细信息,请参阅相应的部分。 唯一的关键区别在于用于细节混合的通道。由于此着色器不仅处理三个细节,还包括动画,因此混合由与 [rendinst_vcolor_layered](rendinst_vcolor_layered.md) 不同的通道控制。 - **红色通道** – 控制动画。 - **绿色通道** – 从第一个细节中减去第二个细节。 - **蓝色通道** – 从前两个细节中减去第三个细节。 ```{important} 蓝色通道还控制叠加层(参见 [rendinst_vcolor_layered](rendinst_vcolor_layered.md))。因此,您必须决定哪个方面对于特定资产更重要 - 叠加或其他细节。 如果需要叠加,请为蓝色通道分配与第一个(或第二个)细节相同的细节,具体取决于哪个细节优先。 ```