mx_fractal_noise_float
mx_fractal_noise_float
一个通过叠加多层不同频率的柏林噪声(倍频程)来生成比单一噪声更丰富、更自然细节的程序化噪声节点。
核心优势
通过叠加多层噪声,能够同时生成宏观轮廓和微观细节,并允许通过倍频程、空隙度等参数精确控制,从而创造出比单一噪声更逼真、更有机的程序化纹理。
常见用途
生成程序化地形
模拟云、烟雾、火焰等体积效果
创建复杂材质表面(如风化岩石、木纹)
如何调整
通过调整三个核心参数来“雕刻”噪声:增加 `octaves` 会增加细节层次(和计算成本);增加 `lacunarity` (> 2.0) 会使细节更密集尖锐;增加 `diminish` (> 0.5) 会让高频细节更突出,使图案更“嘈杂”。
代码示例
1// 叠加5层噪声,每层频率翻倍,强度减半
2const fractalNoise = mx_fractal_noise_float(
3 position, // 采样坐标
4 int( 5 ), // octaves: 细节层次
5 float( 2.0 ), // lacunarity: 频率增长率
6 float( 0.5 ) // diminish: 强度衰减率
7);