mx_worley_noise_vec2
mx_worley_noise_vec2
一个高级的细胞噪声生成器,它同时返回到最近(F1)和次近(F2)两个特征点的距离,专门用于创建清晰的细胞边界(Voronoi)图案。
核心优势
通过提供 F1 和 F2 两个距离值,使得计算它们的差值(F2 - F1)成为可能,这是生成精确、可控厚度的细胞壁、裂纹或脉络等高级结构的关键。
常见用途
生成 Voronoi 图案或带厚度的细胞壁
模拟干裂的泥土或破碎的石头
创建生物叶脉或血管网络
如何调整
核心用法是计算输出 `vec2` 的 `y` 和 `x` 分量的差值(`F2 - F1`)来获得边界。通过 `metric` 参数(0=圆形, 1=菱形)可以改变细胞的基础形状。通过 `jitter` 参数控制细胞的随机性。对 `F2 - F1` 的结果应用 `smoothstep` 是控制边界线厚度的常用技巧。
代码示例
1// 计算 F2 和 F1 的差值,这是生成 Voronoi 边界的核心
2const distances = mx_worley_noise_vec2( uv().mul(8) );
3const voronoi = distances.y.sub( distances.x );
4
5// 使用 smoothstep 锐化边界线
6const lines = smoothstep( 0.01, 0.03, voronoi );