[gd_scene load_steps=3 format=2] [sub_resource type="Shader" id=1] code = "/* 砂嵐エフェクト by あるる(きのもと 結衣) Screen Noise Effect Shader by Yui Kinomoto @arlez80 MIT License */ shader_type canvas_item; uniform float seed = 81.0; uniform float power : hint_range( 0.0, 1.0 ) = 0.0022; uniform float speed = 0.1; vec2 random( vec2 pos ) { return fract( sin( vec2( dot(pos, vec2(12.9898,78.233)) , dot(pos, vec2(-148.998,-65.233)) ) ) * 43758.5453 ); } uniform float amount = 0.060; void fragment( ) { vec2 uv = SCREEN_UV + ( random( UV + vec2( seed - TIME * speed, TIME * speed ) ) - vec2( 0.5, 0.5 ) ) * power; COLOR = textureLod( SCREEN_TEXTURE, uv, 0.0 ); vec2 buv = UV; //buv.r = buv.r % 25.0 float factor = 200.0; buv.r = round(buv.r * factor) / factor; buv.g = round(buv.g * factor) / factor; float a = fract(sin(dot(buv, vec2(12.9898, 78.233) * TIME)) * 438.5453) * 1.9; a = a * amount; COLOR.r -= a; COLOR.g -= a; COLOR.b -= a; }" [sub_resource type="ShaderMaterial" id=2] shader = SubResource( 1 ) shader_param/seed = 81.0 shader_param/power = 0.0022 shader_param/speed = 0.1 shader_param/amount = 0.06 [node name="shader" type="Spatial"] [node name="CanvasLayer" type="CanvasLayer" parent="."] layer = 100 [node name="ColorRect" type="ColorRect" parent="CanvasLayer"] material = SubResource( 2 ) anchor_right = 1.0 anchor_bottom = 1.0 mouse_filter = 2