[gd_resource type="VisualShader" load_steps=73 format=3 uid="uid://dju4bgl0vd6f5"] [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_obdjg"] linked_parent_graph_frame = 49 [sub_resource type="FastNoiseLite" id="FastNoiseLite_vh75p"] noise_type = 2 seed = -102 fractal_type = 0 cellular_distance_function = 1 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_eafem"] resource_name = "FoamNoise1" seamless = true noise = SubResource("FastNoiseLite_vh75p") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_004we"] linked_parent_graph_frame = 49 texture = SubResource("NoiseTexture2D_eafem") texture_type = 1 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_0o2nh"] default_input_values = [0, Vector2(0, 0), 1, Vector2(-1, -1)] linked_parent_graph_frame = 49 op_type = 0 operator = 2 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_jwewd"] default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] linked_parent_graph_frame = 49 op_type = 2 operator = 2 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_dt65u"] default_input_values = [0, 0.0, 1, 1.5] linked_parent_graph_frame = 49 operator = 5 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_274gg"] parameter_name = "Transparency" hint = 1 default_value_enabled = true default_value = 0.8 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_mxgkd"] parameter_name = "Roughness" hint = 1 default_value_enabled = true [sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_qysla"] expanded_output_ports = [0] parameter_name = "ColorParameter" default_value_enabled = true default_value = Color(1.4728e-05, 0.392619, 0.763696, 1) [sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_obdjg"] linked_parent_graph_frame = 49 varying_name = "Noise" varying_type = 3 [sub_resource type="VisualShaderNodeProximityFade" id="VisualShaderNodeProximityFade_obdjg"] linked_parent_graph_frame = 31 [sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_vh75p"] linked_parent_graph_frame = 31 function = 31 [sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_eafem"] linked_parent_graph_frame = 31 function = 0 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_004we"] linked_parent_graph_frame = 31 input_name = "time" [sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_0o2nh"] linked_parent_graph_frame = 31 function = 12 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_jwewd"] linked_parent_graph_frame = 31 operator = 2 [sub_resource type="VisualShaderNodeFrame" id="VisualShaderNodeFrame_dt65u"] size = Vector2(2524, 1292) title = "Foam" attached_nodes = PackedInt32Array(27, 30, 24, 29, 26, 38, 23, 34, 33, 32, 35, 36, 37, 50, 53, 54, 60, 61, 58, 59, 57, 51, 52) [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_274gg"] default_input_values = [0, 0.0, 1, 40.0] linked_parent_graph_frame = 31 operator = 5 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_qysla"] linked_parent_graph_frame = 31 parameter_name = "FoamMin" hint = 1 max = 100.0 default_value_enabled = true default_value = 40.0 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_ycrm4"] linked_parent_graph_frame = 31 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_bt44v"] default_input_values = [0, 0.0, 1, 1.0] linked_parent_graph_frame = 31 operator = 2 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_gokfr"] linked_parent_graph_frame = 31 parameter_name = "RippleNumber" hint = 1 min = 1.0 max = 25.0 default_value_enabled = true default_value = 6.0 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_5fl1t"] linked_parent_graph_frame = 31 parameter_name = "RippleSpeed" hint = 1 default_value_enabled = true default_value = 0.5 [sub_resource type="VisualShaderNodeMultiplyAdd" id="VisualShaderNodeMultiplyAdd_tk76b"] linked_parent_graph_frame = 31 [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_y7ycs"] default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(1, 1, 1), 2, Vector3(0.5, 0.5, 0.5)] op_type = 3 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_6r64g"] linked_parent_graph_frame = 49 input_name = "uv" [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_5wtf6"] default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)] linked_parent_graph_frame = 49 op_type = 0 operator = 2 [sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_cgaqp"] linked_parent_graph_frame = 49 varying_name = "Cells" varying_type = 3 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_wsoe0"] default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] linked_parent_graph_frame = 49 op_type = 2 operator = 2 [sub_resource type="FastNoiseLite" id="FastNoiseLite_c8snt"] noise_type = 2 seed = 93 fractal_type = 0 cellular_distance_function = 1 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_7x758"] resource_name = "FoamNoise3" seamless = true noise = SubResource("FastNoiseLite_c8snt") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hcimu"] linked_parent_graph_frame = 49 texture = SubResource("NoiseTexture2D_7x758") texture_type = 1 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_qfu83"] default_input_values = [0, Vector2(0, 0), 1, Vector2(-1, -1)] linked_parent_graph_frame = 49 op_type = 0 operator = 2 [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_osjwj"] linked_parent_graph_frame = 49 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_ft6xr"] linked_parent_graph_frame = 49 input_name = "time" [sub_resource type="VisualShaderNodeFrame" id="VisualShaderNodeFrame_obdjg"] size = Vector2(2124, 1224) title = "Noise" attached_nodes = PackedInt32Array(15, 17, 10, 42, 44, 45, 48, 47, 46, 8, 16, 43, 41, 22, 11, 7, 5, 62) [sub_resource type="FastNoiseLite" id="FastNoiseLite_gokfr"] noise_type = 2 seed = 1615 fractal_type = 0 cellular_distance_function = 1 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_5fl1t"] resource_name = "FoamNoise2" seamless = true noise = SubResource("FastNoiseLite_gokfr") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_tk76b"] linked_parent_graph_frame = 49 texture = SubResource("NoiseTexture2D_5fl1t") texture_type = 1 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_obdjg"] linked_parent_graph_frame = 31 parameter_name = "DistanceFade" hint = 1 max = 5.0 default_value_enabled = true default_value = 0.5 [sub_resource type="VisualShaderNodeSwitch" id="VisualShaderNodeSwitch_vh75p"] linked_parent_graph_frame = 31 [sub_resource type="VisualShaderNodeBooleanParameter" id="VisualShaderNodeBooleanParameter_eafem"] linked_parent_graph_frame = 31 parameter_name = "FoamNoise" default_value_enabled = true default_value = true [sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_004we"] default_input_values = [0, 0.0, 1, 0.0, 2, 0.5] linked_parent_graph_frame = 31 [sub_resource type="FastNoiseLite" id="FastNoiseLite_obdjg"] noise_type = 0 seed = -2150 frequency = 0.1294 fractal_type = 0 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0o2nh"] resource_name = "RippleNoise" noise = SubResource("FastNoiseLite_obdjg") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_jwewd"] linked_parent_graph_frame = 31 texture = SubResource("NoiseTexture2D_0o2nh") texture_type = 1 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_vh75p"] parameter_name = "Spec" hint = 1 default_value_enabled = true default_value = 0.969 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_vh75p"] linked_parent_graph_frame = 31 input_name = "time" [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_eafem"] linked_parent_graph_frame = 31 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_004we"] default_input_values = [0, 0.0, 1, 0.1] linked_parent_graph_frame = 31 operator = 2 [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_y7ycs"] output_port_for_preview = 0 default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] op_type = 2 [sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_0o2nh"] default_input_values = [0, 0.0, 1, 2.0] linked_parent_graph_frame = 31 operator = 5 [sub_resource type="VisualShaderNodeVaryingGetter" id="VisualShaderNodeVaryingGetter_jwewd"] linked_parent_graph_frame = 31 varying_name = "Noise" varying_type = 3 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_eafem"] linked_parent_graph_frame = 49 parameter_name = "FoamScale" hint = 1 max = 5.0 default_value_enabled = true default_value = 2.0 [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_6r64g"] linked_parent_graph_frame = 49 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_5wtf6"] linked_parent_graph_frame = 49 input_name = "time" [sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_vh75p"] parameter_name = "RippleTimeScale" default_value_enabled = true default_value = Vector2(0.05, 0.08) [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_eafem"] default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.2, 0.2, 0.2)] operator = 2 [sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_004we"] parameter_name = "MaxRippleHeight" hint = 1 default_value_enabled = true default_value = 0.5 [sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_odxaq"] parameter_name = "CellsScale" default_value_enabled = true default_value = Vector2(0.5, 0.5) [sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_ty10k"] varying_name = "Cells" varying_type = 3 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_cgfff"] input_name = "uv" [sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_savut"] default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0)] op_type = 0 operator = 2 [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_obdjg"] input_name = "time" [sub_resource type="VisualShaderNodeUVFunc" id="VisualShaderNodeUVFunc_vh75p"] default_input_values = [1, Vector2(0.1, 0.1), 2, Vector2(0, 0)] [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_dt65u"] resource_name = "FoamNoise2" seamless = true noise = SubResource("FastNoiseLite_gokfr") [sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_0o2nh"] texture = SubResource("NoiseTexture2D_dt65u") [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_0o2nh"] input_name = "vertex" [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_jwewd"] input_name = "normal" [sub_resource type="VisualShaderNodeMultiplyAdd" id="VisualShaderNodeMultiplyAdd_dt65u"] output_port_for_preview = 0 default_input_values = [0, Vector4(0, 0, 0, 0), 1, Vector4(1, 1, 1, 1), 2, Vector4(0, 0, 0, 0)] op_type = 3 [sub_resource type="VisualShaderNodeVaryingSetter" id="VisualShaderNodeVaryingSetter_274gg"] varying_name = "Noise" varying_type = 3 [resource] code = "shader_type spatial; render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_toon, specular_toon; // Varyings varying vec2 var_Noise; varying vec2 var_Cells; uniform vec2 CellsScale = vec2(0.500000, 0.500000); uniform vec2 RippleTimeScale = vec2(0.050000, 0.080000); uniform sampler2D tex_vtx_4; uniform float MaxRippleHeight : hint_range(0.0, 1.0) = 0.5; uniform vec4 ColorParameter : source_color = vec4(0.000015, 0.392619, 0.763696, 1.000000); uniform sampler2D tex_frg_11 : source_color; uniform sampler2D tex_frg_5 : source_color; uniform sampler2D tex_frg_45 : source_color; uniform float FoamScale : hint_range(0.0, 5.0) = 2.0; uniform bool FoamNoise = true; uniform float RippleSpeed : hint_range(0.0, 1.0) = 0.5; uniform float DistanceFade : hint_range(0.0, 5.0) = 0.5; uniform sampler2D depth_tex_frg_23 : hint_depth_texture; uniform float RippleNumber : hint_range(1.0, 25.0) = 6.0; uniform sampler2D tex_frg_54 : source_color; uniform float FoamMin : hint_range(0.0, 100.0) = 40.0; uniform float Transparency : hint_range(0.0, 1.0) = 0.80000001192093; uniform float Roughness : hint_range(0.0, 1.0) = 0.0; uniform float Spec : hint_range(0.0, 1.0) = 0.96899998188019; void vertex() { // Input:15 vec2 n_out15p0 = UV; // Vector2Parameter:13 vec2 n_out13p0 = CellsScale; // VectorOp:16 vec2 n_out16p0 = n_out15p0 * n_out13p0; // Vector2Parameter:10 vec2 n_out10p0 = RippleTimeScale; // Input:2 float n_out2p0 = TIME; // UVFunc:3 vec2 n_out3p0 = vec2(n_out2p0) * n_out10p0 + n_out16p0; // Texture2D:4 vec4 n_out4p0 = texture(tex_vtx_4, n_out3p0); // Input:6 vec3 n_out6p0 = NORMAL; // FloatParameter:12 float n_out12p0 = MaxRippleHeight; // VectorOp:11 vec3 n_out11p0 = n_out6p0 * vec3(n_out12p0); // Input:5 vec3 n_out5p0 = VERTEX; // MultiplyAdd:7 vec4 n_out7p0 = fma(n_out4p0, vec4(n_out11p0, 0.0), vec4(n_out5p0, 0.0)); // Output:0 VERTEX = vec3(n_out7p0.xyz); // VaryingSetter:8 var_Noise = n_out10p0; // VaryingSetter:14 var_Cells = n_out13p0; } void fragment() { // ColorParameter:2 vec4 n_out2p0 = ColorParameter; // Input:41 vec2 n_out41p0 = UV; // VaryingGetter:43 vec2 n_out43p0 = var_Cells; // VectorOp:42 vec2 n_out42p0 = n_out41p0 * n_out43p0; // VaryingGetter:22 vec2 n_out22p0 = var_Noise; // VectorOp:15 vec2 n_in15p1 = vec2(-1.00000, -1.00000); vec2 n_out15p0 = n_out22p0 * n_in15p1; // Input:8 float n_out8p0 = TIME; // UVFunc:10 vec2 n_out10p0 = vec2(n_out8p0) * n_out15p0 + n_out42p0; // Texture2D:11 vec4 n_out11p0 = texture(tex_frg_11, n_out10p0); // UVFunc:7 vec2 n_out7p0 = vec2(n_out8p0) * n_out22p0 + n_out42p0; // Texture2D:5 vec4 n_out5p0 = texture(tex_frg_5, n_out7p0); // VectorOp:16 vec4 n_out16p0 = n_out11p0 * n_out5p0; // VectorOp:46 vec2 n_in46p0 = vec2(0.00000, 0.00000); vec2 n_in46p1 = vec2(-1.00000, -1.00000); vec2 n_out46p0 = n_in46p0 * n_in46p1; // Input:48 float n_out48p0 = TIME; // UVFunc:47 vec2 n_out47p0 = vec2(n_out48p0) * n_out46p0 + UV; // Texture2D:45 vec4 n_out45p0 = texture(tex_frg_45, n_out47p0); // VectorOp:44 vec4 n_out44p0 = n_out16p0 * n_out45p0; // FloatParameter:62 float n_out62p0 = FoamScale; // FloatOp:17 float n_out17p0 = pow(n_out44p0.x, n_out62p0); // VectorOp:6 vec4 n_out6p0 = n_out2p0 + vec4(n_out17p0); // BooleanParameter:52 bool n_out52p0 = FoamNoise; // Input:27 float n_out27p0 = TIME; // FloatParameter:37 float n_out37p0 = RippleSpeed; // FloatParameter:50 float n_out50p0 = DistanceFade; float n_out23p0; // ProximityFade:23 { float __depth_tex = texture(depth_tex_frg_23, SCREEN_UV).r; vec4 __depth_world_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, __depth_tex, 1.0); __depth_world_pos.xyz /= __depth_world_pos.w; n_out23p0 = clamp(1.0 - smoothstep(__depth_world_pos.z + n_out50p0, __depth_world_pos.z, VERTEX.z), 0.0, 1.0); } // FloatFunc:24 float n_out24p0 = 1.0 - n_out23p0; // MultiplyAdd:38 float n_out38p0 = fma(n_out27p0, n_out37p0, n_out24p0); // FloatParameter:36 float n_out36p0 = RippleNumber; // FloatOp:35 float n_out35p0 = n_out38p0 * n_out36p0; // FloatFunc:26 float n_out26p0 = sin(n_out35p0); // FloatFunc:29 float n_out29p0 = abs(n_out26p0); // FloatOp:30 float n_out30p0 = n_out29p0 * n_out24p0; // VaryingGetter:61 vec2 n_out61p0 = var_Noise; // Input:57 float n_out57p0 = TIME; // FloatOp:59 float n_in59p1 = 0.10000; float n_out59p0 = n_out57p0 * n_in59p1; // UVFunc:58 vec2 n_out58p0 = vec2(n_out59p0) * n_out61p0 + UV; // Texture2D:54 vec4 n_out54p0 = texture(tex_frg_54, n_out58p0); // FloatOp:60 float n_in60p1 = 2.00000; float n_out60p0 = pow(n_out54p0.x, n_in60p1); // Mix:53 float n_in53p0 = 0.00000; float n_out53p0 = mix(n_in53p0, n_out30p0, n_out60p0); float n_out51p0; // Switch:51 n_out51p0 = mix(n_out30p0, n_out53p0, float(n_out52p0)); // FloatParameter:33 float n_out33p0 = FoamMin; // FloatOp:32 float n_out32p0 = pow(n_out24p0, n_out33p0); // FloatOp:34 float n_out34p0 = n_out51p0 + n_out32p0; // Mix:39 vec3 n_in39p1 = vec3(1.00000, 1.00000, 1.00000); vec3 n_out39p0 = mix(vec3(n_out6p0.xyz), n_in39p1, vec3(n_out34p0)); // FloatParameter:18 float n_out18p0 = Transparency; // FloatParameter:19 float n_out19p0 = Roughness; // FloatParameter:55 float n_out55p0 = Spec; // Output:0 ALBEDO = n_out39p0; ALPHA = n_out18p0; ROUGHNESS = n_out19p0; SPECULAR = n_out55p0; EMISSION = vec3(n_out6p0.xyz); } " graph_offset = Vector2(91.628, 272.02) modes/diffuse = 3 modes/specular = 1 varyings/Noise = "0,3" varyings/Cells = "0,3" nodes/vertex/0/position = Vector2(1080, 320) nodes/vertex/2/node = SubResource("VisualShaderNodeInput_obdjg") nodes/vertex/2/position = Vector2(-480, 260) nodes/vertex/3/node = SubResource("VisualShaderNodeUVFunc_vh75p") nodes/vertex/3/position = Vector2(-160, 200) nodes/vertex/4/node = SubResource("VisualShaderNodeTexture_0o2nh") nodes/vertex/4/position = Vector2(160, 220) nodes/vertex/5/node = SubResource("VisualShaderNodeInput_0o2nh") nodes/vertex/5/position = Vector2(240, 760) nodes/vertex/6/node = SubResource("VisualShaderNodeInput_jwewd") nodes/vertex/6/position = Vector2(20, 540) nodes/vertex/7/node = SubResource("VisualShaderNodeMultiplyAdd_dt65u") nodes/vertex/7/position = Vector2(840, 300) nodes/vertex/8/node = SubResource("VisualShaderNodeVaryingSetter_274gg") nodes/vertex/8/position = Vector2(-460, 540) nodes/vertex/10/node = SubResource("VisualShaderNodeVec2Parameter_vh75p") nodes/vertex/10/position = Vector2(-840, 280) nodes/vertex/11/node = SubResource("VisualShaderNodeVectorOp_eafem") nodes/vertex/11/position = Vector2(400, 480) nodes/vertex/12/node = SubResource("VisualShaderNodeFloatParameter_004we") nodes/vertex/12/position = Vector2(-100, 660) nodes/vertex/13/node = SubResource("VisualShaderNodeVec2Parameter_odxaq") nodes/vertex/13/position = Vector2(-780, 740) nodes/vertex/14/node = SubResource("VisualShaderNodeVaryingSetter_ty10k") nodes/vertex/14/position = Vector2(-390.622, 1049.07) nodes/vertex/15/node = SubResource("VisualShaderNodeInput_cgfff") nodes/vertex/15/position = Vector2(-940, 640) nodes/vertex/16/node = SubResource("VisualShaderNodeVectorOp_savut") nodes/vertex/16/position = Vector2(-417.362, 747.461) nodes/vertex/connections = PackedInt32Array(2, 0, 3, 2, 3, 0, 4, 0, 5, 0, 7, 2, 4, 0, 7, 0, 10, 0, 8, 0, 10, 0, 3, 1, 7, 0, 0, 0, 6, 0, 11, 0, 11, 0, 7, 1, 12, 0, 11, 1, 13, 0, 14, 0, 15, 0, 16, 0, 13, 0, 16, 1, 16, 0, 3, 0) nodes/fragment/0/position = Vector2(1780, 1540) nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_qysla") nodes/fragment/2/position = Vector2(240, 920) nodes/fragment/5/node = SubResource("VisualShaderNodeTexture_tk76b") nodes/fragment/5/position = Vector2(-480, 1720) nodes/fragment/6/node = SubResource("VisualShaderNodeVectorOp_y7ycs") nodes/fragment/6/position = Vector2(640, 980) nodes/fragment/7/node = SubResource("VisualShaderNodeUVFunc_6r64g") nodes/fragment/7/position = Vector2(-860, 1840) nodes/fragment/8/node = SubResource("VisualShaderNodeInput_5wtf6") nodes/fragment/8/position = Vector2(-1160, 1720) nodes/fragment/10/node = SubResource("VisualShaderNodeUVFunc_obdjg") nodes/fragment/10/position = Vector2(-840, 1460) nodes/fragment/11/node = SubResource("VisualShaderNodeTexture_004we") nodes/fragment/11/position = Vector2(-480, 1360) nodes/fragment/15/node = SubResource("VisualShaderNodeVectorOp_0o2nh") nodes/fragment/15/position = Vector2(-1060, 1460) nodes/fragment/16/node = SubResource("VisualShaderNodeVectorOp_jwewd") nodes/fragment/16/position = Vector2(-240, 1520) nodes/fragment/17/node = SubResource("VisualShaderNodeFloatOp_dt65u") nodes/fragment/17/position = Vector2(280, 1520) nodes/fragment/18/node = SubResource("VisualShaderNodeFloatParameter_274gg") nodes/fragment/18/position = Vector2(820, 1600) nodes/fragment/19/node = SubResource("VisualShaderNodeFloatParameter_mxgkd") nodes/fragment/19/position = Vector2(800, 1920) nodes/fragment/22/node = SubResource("VisualShaderNodeVaryingGetter_obdjg") nodes/fragment/22/position = Vector2(-1600, 1740) nodes/fragment/23/node = SubResource("VisualShaderNodeProximityFade_obdjg") nodes/fragment/23/position = Vector2(-620, 60) nodes/fragment/24/node = SubResource("VisualShaderNodeFloatFunc_vh75p") nodes/fragment/24/position = Vector2(-400, 60) nodes/fragment/26/node = SubResource("VisualShaderNodeFloatFunc_eafem") nodes/fragment/26/position = Vector2(380, -40) nodes/fragment/27/node = SubResource("VisualShaderNodeInput_004we") nodes/fragment/27/position = Vector2(-680, -80) nodes/fragment/29/node = SubResource("VisualShaderNodeFloatFunc_0o2nh") nodes/fragment/29/position = Vector2(560, -40) nodes/fragment/30/node = SubResource("VisualShaderNodeFloatOp_jwewd") nodes/fragment/30/position = Vector2(780, 20) nodes/fragment/31/node = SubResource("VisualShaderNodeFrame_dt65u") nodes/fragment/31/position = Vector2(-1000, -440) nodes/fragment/32/node = SubResource("VisualShaderNodeFloatOp_274gg") nodes/fragment/32/position = Vector2(420, 180) nodes/fragment/33/node = SubResource("VisualShaderNodeFloatParameter_qysla") nodes/fragment/33/position = Vector2(-160, 260) nodes/fragment/34/node = SubResource("VisualShaderNodeFloatOp_ycrm4") nodes/fragment/34/position = Vector2(1320, 340) nodes/fragment/35/node = SubResource("VisualShaderNodeFloatOp_bt44v") nodes/fragment/35/position = Vector2(200, -80) nodes/fragment/36/node = SubResource("VisualShaderNodeFloatParameter_gokfr") nodes/fragment/36/position = Vector2(-500, 180) nodes/fragment/37/node = SubResource("VisualShaderNodeFloatParameter_5fl1t") nodes/fragment/37/position = Vector2(-620, -400) nodes/fragment/38/node = SubResource("VisualShaderNodeMultiplyAdd_tk76b") nodes/fragment/38/position = Vector2(-80, -100) nodes/fragment/39/node = SubResource("VisualShaderNodeMix_y7ycs") nodes/fragment/39/position = Vector2(1540, 1020) nodes/fragment/41/node = SubResource("VisualShaderNodeInput_6r64g") nodes/fragment/41/position = Vector2(-1520, 2040) nodes/fragment/42/node = SubResource("VisualShaderNodeVectorOp_5wtf6") nodes/fragment/42/position = Vector2(-1180, 2040) nodes/fragment/43/node = SubResource("VisualShaderNodeVaryingGetter_cgaqp") nodes/fragment/43/position = Vector2(-1440, 2160) nodes/fragment/44/node = SubResource("VisualShaderNodeVectorOp_wsoe0") nodes/fragment/44/position = Vector2(-80, 1700) nodes/fragment/45/node = SubResource("VisualShaderNodeTexture_hcimu") nodes/fragment/45/position = Vector2(-360, 2060) nodes/fragment/46/node = SubResource("VisualShaderNodeVectorOp_qfu83") nodes/fragment/46/position = Vector2(-940, 2160) nodes/fragment/47/node = SubResource("VisualShaderNodeUVFunc_osjwj") nodes/fragment/47/position = Vector2(-720, 2160) nodes/fragment/48/node = SubResource("VisualShaderNodeInput_ft6xr") nodes/fragment/48/position = Vector2(-1040, 2420) nodes/fragment/49/node = SubResource("VisualShaderNodeFrame_obdjg") nodes/fragment/49/position = Vector2(-1640, 1319) nodes/fragment/50/node = SubResource("VisualShaderNodeFloatParameter_obdjg") nodes/fragment/50/position = Vector2(-960, 80) nodes/fragment/51/node = SubResource("VisualShaderNodeSwitch_vh75p") nodes/fragment/51/position = Vector2(1300, -280) nodes/fragment/52/node = SubResource("VisualShaderNodeBooleanParameter_eafem") nodes/fragment/52/position = Vector2(940, -240) nodes/fragment/53/node = SubResource("VisualShaderNodeMix_004we") nodes/fragment/53/position = Vector2(1040, 20) nodes/fragment/54/node = SubResource("VisualShaderNodeTexture_jwewd") nodes/fragment/54/position = Vector2(720, 440) nodes/fragment/55/node = SubResource("VisualShaderNodeFloatParameter_vh75p") nodes/fragment/55/position = Vector2(1300, 1920) nodes/fragment/57/node = SubResource("VisualShaderNodeInput_vh75p") nodes/fragment/57/position = Vector2(0, 640) nodes/fragment/58/node = SubResource("VisualShaderNodeUVFunc_eafem") nodes/fragment/58/position = Vector2(480, 560) nodes/fragment/59/node = SubResource("VisualShaderNodeFloatOp_004we") nodes/fragment/59/position = Vector2(280, 660) nodes/fragment/60/node = SubResource("VisualShaderNodeFloatOp_0o2nh") nodes/fragment/60/position = Vector2(940, 540) nodes/fragment/61/node = SubResource("VisualShaderNodeVaryingGetter_jwewd") nodes/fragment/61/position = Vector2(280, 560) nodes/fragment/62/node = SubResource("VisualShaderNodeFloatParameter_eafem") nodes/fragment/62/position = Vector2(-40, 1380) nodes/fragment/connections = PackedInt32Array(2, 0, 6, 0, 7, 0, 5, 0, 8, 0, 7, 2, 10, 0, 11, 0, 15, 0, 10, 1, 8, 0, 10, 2, 11, 0, 16, 0, 5, 0, 16, 1, 17, 0, 6, 1, 18, 0, 0, 1, 19, 0, 0, 3, 22, 0, 15, 0, 22, 0, 7, 1, 23, 0, 24, 0, 26, 0, 29, 0, 29, 0, 30, 0, 24, 0, 30, 1, 24, 0, 32, 0, 33, 0, 32, 1, 32, 0, 34, 1, 35, 0, 26, 0, 36, 0, 35, 1, 27, 0, 38, 0, 24, 0, 38, 2, 37, 0, 38, 1, 38, 0, 35, 0, 6, 0, 39, 0, 41, 0, 42, 0, 42, 0, 7, 0, 43, 0, 42, 1, 16, 0, 44, 0, 44, 0, 17, 0, 47, 0, 45, 0, 46, 0, 47, 1, 48, 0, 47, 2, 45, 0, 44, 1, 42, 0, 10, 0, 50, 0, 23, 0, 52, 0, 51, 0, 55, 0, 0, 4, 58, 0, 54, 0, 57, 0, 59, 0, 59, 0, 58, 2, 54, 0, 60, 0, 60, 0, 53, 2, 61, 0, 58, 1, 39, 0, 0, 0, 6, 0, 0, 5, 30, 0, 53, 1, 34, 0, 39, 2, 53, 0, 51, 1, 30, 0, 51, 2, 51, 0, 34, 0, 62, 0, 17, 1)