mix
mix
根据一个权重因子,在两个值(如颜色、向量或浮点数)之间进行线性插值,以实现平滑的混合或过渡。
核心优势
通过一个意图清晰、简洁的节点,调用了底层硬件高度优化的原生混合函数,极大地提升了着色器代码的可读性、可维护性和性能。
常见用途
使用遮罩贴图(Mask)混合两种颜色或纹理。
使用时间节点作为混合因子,在两种状态之间创建平滑的动画。
通过贴图来控制 PBR 材质的属性,如在干净和脏污的粗糙度之间混合。
与 smoothstep 节点结合,为程序化生成的形状创造柔和的边缘。
如何调整
将混合因子 t 想象成一个从 0 到 1 的推子。当 t=0 时,结果为起始值 a;当 t=1 时,结果为结束值 b;当 t=0.5 时,结果为 a 和 b 的 50/50 混合。将 t 连接到 uv().x 会在物体上创建从 a 到 b 的平滑空间渐变。将 t 连接到随时间变化的节点则会创建动画效果。
代码示例
1// 根据混合因子 t,在 a 和 b 之间进行混合
2// result = a * (1.0 - t) + b * t
3const finalResult = mix( a, b, t );