噪声纹理
5 / 15
学习创建伪随机噪声纹理,理解噪声在程序化纹理生成中的重要作用。
这个示例综合了多种噪声技术——分形叠加、时间动画和蓝白颜色映射——让噪声变成会流动的类云效果:
下面拆解各个部分。
分形叠加
循环 4 次,每次叠加一层:amplitude 从 0.5 开始每次减半,frequency 从 1.0 开始每次翻倍。叠加结果同时包含大尺度的起伏和细小的纹路。
时间偏移让噪声流动
+ u_time * 0.1 让采样坐标每帧向前推进,产生缓慢流动的动画感。
颜色映射
把 fractalNoise 映射到深蓝→浅蓝→白色的渐变上:
噪声值小于 40% 时在深蓝和浅蓝之间插值,大于 40% 时在浅蓝和白色之间插值,亮部呈现出云朵感。
试着改一改
| 改动 | 效果 |
|---|---|
u_time * 0.1 改成 u_time * 0.5 | 流动加快 |
循环次数 4 改成 6 | 更丰富的细节层次 |
color1 改成 vec3(0.8, 0.3, 0.1) | 红色熔岩风格 |
0.4 两处改成 0.6 | 白色区域扩大,云更多 |
练习
示例代码输出动态流动的蓝白噪声纹理。它综合了分形叠加、时间动画和两段颜色映射——在不改变结构的前提下,把颜色方案从蓝白改成暖色(比如橙黄白),让它看起来像流动的熔岩。
答案解析
只需替换三个颜色变量,其余代码不变。
color1:暗部(噪声低值区)→ 深红color2:中间过渡 → 橙色color3:亮部(噪声高值区)→ 浅黄白
原始代码的蓝白配色让高值区显现为云。换成暖色之后,同样的亮暗结构变成熔岩流动的视觉效果。
试着把 u_time * 0.1 改成 vec2(u_time * 0.15, u_time * 0.05),让流动方向变为对角。