mx_fractal_noise_vec2
mx_fractal_noise_vec2
一个程序化的二维分形噪声生成器,专门用于创建具有方向性的二维向量场,是实现扭曲和流动效果的理想工具。
核心优势
直接输出一个 `vec2` 向量,完美契合 UV 坐标扭曲等需要方向性输入的应用场景,避免了手动组合两个独立噪声的繁琐和低效。
常见用途
通过扰动 UV 坐标模拟水下折射或热浪扭曲
创建程序化的流场(Flow Map)来驱动粒子或水面流动
生成双通道纹理,分别控制如粗糙度和金属度等不同材质属性
如何调整
通过调整 `amplitude` 参数来直接控制整体扭曲的强度。通过调整 `octaves`、`lacunarity` 和 `diminish` 来“雕刻”扭曲的形态,例如增加 `octaves` 会使扭曲的细节更丰富,而减小 `diminish` 则会让扭曲效果更平滑柔和。
代码示例
1// 生成一个二维噪声向量来扭曲UV,用 amplitude 控制强度
2const distortion = mx_fractal_noise_vec2( vec3(uv(), timerLocal()), 4, 2.0, 0.5, 0.1 );
3
4// 将该向量加到原始UV坐标上
5const distortedUV = uv().add( distortion );