着色器: 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 测试强度。

功能

此着色器的运行原理与其父着色器相同:

所有这些参数在相关的着色器文档中都有完整的描述,因此这里不再赘述 - 有关详细信息,请参阅相应的部分。

唯一的关键区别在于用于细节混合的通道。由于此着色器不仅处理三个细节,还包括动画,因此混合由与 rendinst_vcolor_layered 不同的通道控制。

  • 红色通道 – 控制动画。

  • 绿色通道 – 从第一个细节中减去第二个细节。

  • 蓝色通道 – 从前两个细节中减去第三个细节。

Important

蓝色通道还控制叠加层(参见 rendinst_vcolor_layered)。因此,您必须决定哪个方面对于特定资产更重要 - 叠加或其他细节。

如果需要叠加,请为蓝色通道分配与第一个(或第二个)细节相同的细节,具体取决于哪个细节优先。