Files
mir-godot/engine/assets/shader/weather/cloud.gdshader
MakerYang a902dd3de7 new
2024-08-06 18:30:21 +08:00

22 lines
661 B
Plaintext

shader_type canvas_item;
// render_mode unshaded; // 可选项
// 噪声纹理
uniform sampler2D noise_texture: repeat_enable, filter_nearest;
// 雾的密度
uniform float density: hint_range(0.0, 1.0) = 0.25;
// 雾的速度
uniform vec2 speed = vec2(0.02, 0.01);
// 在材质可见的每一个像素上调用
void fragment() {
// 使雾缓慢移动
vec2 uv = UV + speed * TIME;
// 采样噪声纹理
float noise = texture(noise_texture, uv).r;
// 将噪声从 (0.0, 1.0) 范围转换到 (-1.0, 1.0) 范围
// 并再次将其限制在 0.0 到 1.0 之间
float fog = clamp(noise * 2.0 - 1.0, 0.0, 1.0);
// 应用雾效果
COLOR.a *= fog * density;
}