mod
mod
一个执行取模(求余数)运算的函数节点,主要通过将一个连续变化的值约束在特定范围内,来创造重复、循环或平铺的效果。
核心优势
它抽象了底层的着色器语言 `mod` 函数,使开发者能在一个可读、类型安全且跨平台的节点系统中轻松创建复杂的重复图案和动画,从而避免了编写原始的 GLSL/WGSL 字符串代码。
常见用途
程序化图案:通过对 UV 坐标取模来创建条纹、网格等重复图案。
滚动纹理:在 UV 坐标上加上时间再取模,以实现水流、云朵等纹理的无缝滚动动画。
周期性动画:对时间值取模,以生成物体的锯齿波形运动。
无限空间平铺:对顶点位置进行取模,以创造一个看起来无限重复的世界的假象。
如何调整
其效果由输入节点控制。将输入值(如 `uv().x`)乘以一个数可以控制重复的频率(更多的条纹,更密的网格)。在取模运算前给输入值加上一个动态值(如 `time`)则会产生滚动或动画效果。
代码示例
1// 通过缩放 UV.x 坐标来创建 10 条垂直条纹
2const frequency = 10.0;
3const stripes = TSL.mod( uv().x.mul( frequency ), 1.0 );