shader_type spatial; uniform vec3 color = vec3(0, 0.9, 0); uniform float timeScale = 1; uniform float noiseScale = 1; uniform sampler2D noise; void fragment() { ALBEDO = color; EMISSION = color; if (UV.y < 0.5){ ALPHA = clamp(texture(noise, vec2(UV.x * noiseScale, TIME * timeScale)).x - (1.0 - UV.y), 0, 1) + UV.y - 0.3; }else{ ALPHA = (1.0 - texture(noise, UV * noiseScale + TIME * timeScale).x) / 2.0; } }