diff --git a/Shaders/SwipeArrow.tres b/Shaders/SwipeArrow.tres new file mode 100644 index 0000000..580e6d0 --- /dev/null +++ b/Shaders/SwipeArrow.tres @@ -0,0 +1,221 @@ +[gd_resource type="VisualShader" load_steps=21 format=3 uid="uid://dm5rgp78v61ha"] + +[ext_resource type="Texture2D" uid="uid://cmaq66vbi80ug" path="res://_Assets/Textures/Notes/SlideArrow_Texture.png" id="1_cj2ec"] +[ext_resource type="Texture2D" uid="uid://kjoqem41xatr" path="res://_Assets/Textures/Notes/SlideArrow_Mask.png" id="2_p52jd"] + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_1jpfy"] +default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] +op_type = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_3pdfb"] +default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] +op_type = 2 +operator = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_eesut"] +default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(2, 2, 2, 2)] +op_type = 2 +operator = 2 + +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_2u62d"] +expanded_output_ports = [0] +source = 5 +texture = ExtResource("1_cj2ec") + +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_nqoll"] +operator = 2 + +[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_70igk"] +expanded_output_ports = [0] +texture = ExtResource("2_p52jd") + +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_d62au"] +output_port_for_preview = 0 +operator = 2 + +[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_8jykx"] +input_name = "uv" + +[sub_resource type="VisualShaderNodeMultiplyAdd" id="VisualShaderNodeMultiplyAdd_fd4l7"] +output_port_for_preview = 0 +default_input_values = [0, Vector2(0, 0), 1, Vector2(1, 2), 2, Vector2(0, 0)] +op_type = 1 + +[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_o1o8t"] +input_name = "time" + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_81kov"] +default_input_values = [0, Vector2(0, -1), 1, Vector2(0, 0)] +op_type = 0 +operator = 2 + +[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_ypqau"] +parameter_name = "arrow" +texture_filter = 2 +texture_repeat = 1 + +[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_jbtne"] +default_input_values = [0, 0.0, 1, 1.0] +operator = 2 + +[sub_resource type="VisualShaderNodeFloatParameter" id="VisualShaderNodeFloatParameter_k4kjf"] +parameter_name = "scrollMultiplier" +default_value_enabled = true +default_value = 1.0 + +[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_u0ner"] +parameter_name = "Color" +default_value_enabled = true +default_value = Color(1, 0.501961, 0, 1) + +[sub_resource type="VisualShaderNodeMix" id="VisualShaderNodeMix_l1lmq"] + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_13pou"] +default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] +op_type = 2 + +[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_p0v4r"] +output_port_for_preview = 0 +default_input_values = [0, Quaternion(0, 0, 0, 0), 1, Quaternion(0, 0, 0, 0)] +op_type = 2 +operator = 2 + +[resource] +code = "shader_type canvas_item; +render_mode blend_mix; + +uniform vec4 Color : source_color = vec4(1.000000, 0.501961, 0.000000, 1.000000); +uniform float scrollMultiplier = 1; +uniform sampler2D arrow : filter_linear, repeat_enable; +uniform sampler2D tex_frg_16; + + + +void fragment() { +// ColorParameter:29 + vec4 n_out29p0 = Color; + + +// VectorOp:13 + vec4 n_in13p1 = vec4(2.00000, 2.00000, 2.00000, 2.00000); + vec4 n_out13p0 = n_out29p0 * n_in13p1; + + +// Input:20 + vec2 n_out20p0 = UV; + + +// Input:23 + float n_out23p0 = TIME; + + +// FloatParameter:28 + float n_out28p0 = scrollMultiplier; + + +// FloatOp:27 + float n_out27p0 = n_out23p0 * n_out28p0; + + +// VectorOp:24 + vec2 n_in24p0 = vec2(0.00000, -1.00000); + vec2 n_out24p0 = n_in24p0 * vec2(n_out27p0); + + +// MultiplyAdd:22 + vec2 n_in22p1 = vec2(1.00000, 2.00000); + vec2 n_out22p0 = fma(n_out20p0, n_in22p1, n_out24p0); + + + vec4 n_out14p0; +// Texture2D:14 + n_out14p0 = texture(arrow, n_out22p0); + float n_out14p1 = n_out14p0.r; + float n_out14p2 = n_out14p0.g; + float n_out14p3 = n_out14p0.b; + + +// VectorOp:11 + vec4 n_out11p0 = n_out13p0 * vec4(n_out14p1); + + +// VectorOp:10 + vec4 n_out10p0 = n_out11p0 + n_out29p0; + + +// Texture2D:16 + vec4 n_out16p0 = texture(tex_frg_16, UV); + float n_out16p1 = n_out16p0.r; + float n_out16p2 = n_out16p0.g; + float n_out16p3 = n_out16p0.b; + + +// FloatOp:15 + float n_out15p0 = n_out14p1 * n_out16p3; + + +// VectorOp:7 + vec4 n_out7p0 = n_out10p0 + vec4(n_out15p0); + + +// Mix:3 + float n_in3p1 = 1.00000; + float n_out3p0 = mix(n_out14p2, n_in3p1, n_out16p2); + + +// VectorOp:8 + vec4 n_out8p0 = n_out7p0 * vec4(n_out3p0); + + +// FloatOp:17 + float n_out17p0 = n_out14p3 * n_out16p1; + + +// Output:0 + COLOR.rgb = vec3(n_out8p0.xyz); + COLOR.a = n_out17p0; + + +} +" +graph_offset = Vector2(-1733.92, -13.4968) +mode = 1 +flags/light_only = false +nodes/fragment/0/position = Vector2(1500, 460) +nodes/fragment/3/node = SubResource("VisualShaderNodeMix_l1lmq") +nodes/fragment/3/position = Vector2(800, 320) +nodes/fragment/7/node = SubResource("VisualShaderNodeVectorOp_13pou") +nodes/fragment/7/position = Vector2(800, 0) +nodes/fragment/8/node = SubResource("VisualShaderNodeVectorOp_p0v4r") +nodes/fragment/8/position = Vector2(1080, 120) +nodes/fragment/10/node = SubResource("VisualShaderNodeVectorOp_1jpfy") +nodes/fragment/10/position = Vector2(560, -80) +nodes/fragment/11/node = SubResource("VisualShaderNodeVectorOp_3pdfb") +nodes/fragment/11/position = Vector2(280, -160) +nodes/fragment/13/node = SubResource("VisualShaderNodeVectorOp_eesut") +nodes/fragment/13/position = Vector2(60, -220) +nodes/fragment/14/node = SubResource("VisualShaderNodeTexture_2u62d") +nodes/fragment/14/position = Vector2(-500, 100) +nodes/fragment/15/node = SubResource("VisualShaderNodeFloatOp_nqoll") +nodes/fragment/15/position = Vector2(560, 140) +nodes/fragment/16/node = SubResource("VisualShaderNodeTexture_70igk") +nodes/fragment/16/position = Vector2(-100, 540) +nodes/fragment/17/node = SubResource("VisualShaderNodeFloatOp_d62au") +nodes/fragment/17/position = Vector2(1080, 480) +nodes/fragment/20/node = SubResource("VisualShaderNodeInput_8jykx") +nodes/fragment/20/position = Vector2(-1940, 220) +nodes/fragment/22/node = SubResource("VisualShaderNodeMultiplyAdd_fd4l7") +nodes/fragment/22/position = Vector2(-1100, 240) +nodes/fragment/23/node = SubResource("VisualShaderNodeInput_o1o8t") +nodes/fragment/23/position = Vector2(-1960, 420) +nodes/fragment/24/node = SubResource("VisualShaderNodeVectorOp_81kov") +nodes/fragment/24/position = Vector2(-1420, 460) +nodes/fragment/26/node = SubResource("VisualShaderNodeTexture2DParameter_ypqau") +nodes/fragment/26/position = Vector2(-880, 120) +nodes/fragment/27/node = SubResource("VisualShaderNodeFloatOp_jbtne") +nodes/fragment/27/position = Vector2(-1640, 520) +nodes/fragment/28/node = SubResource("VisualShaderNodeFloatParameter_k4kjf") +nodes/fragment/28/position = Vector2(-1940, 560) +nodes/fragment/29/node = SubResource("VisualShaderNodeColorParameter_u0ner") +nodes/fragment/29/position = Vector2(-460, -260) +nodes/fragment/connections = PackedInt32Array(7, 0, 8, 0, 11, 0, 10, 0, 10, 0, 7, 0, 13, 0, 11, 0, 15, 0, 7, 1, 16, 1, 17, 1, 16, 3, 15, 1, 16, 2, 3, 2, 8, 0, 0, 0, 20, 0, 22, 0, 22, 0, 14, 0, 3, 0, 8, 1, 17, 0, 0, 1, 14, 1, 11, 1, 14, 1, 15, 0, 14, 2, 3, 0, 14, 3, 17, 0, 26, 0, 14, 2, 24, 0, 22, 2, 23, 0, 27, 0, 27, 0, 24, 1, 28, 0, 27, 1, 29, 0, 13, 0, 29, 0, 10, 1) diff --git a/Things/TunnelObjects/Notes/NoteSwipeCW.tscn b/Things/TunnelObjects/Notes/NoteSwipeCW.tscn index 1fe0502..fd1336c 100644 --- a/Things/TunnelObjects/Notes/NoteSwipeCW.tscn +++ b/Things/TunnelObjects/Notes/NoteSwipeCW.tscn @@ -1,11 +1,22 @@ -[gd_scene load_steps=4 format=3 uid="uid://wk634bobe32k"] +[gd_scene load_steps=8 format=3 uid="uid://wk634bobe32k"] [ext_resource type="Script" path="res://Scripts/Things/TunnelObjects/THNotePlay.cs" id="1_aasqx"] [ext_resource type="Texture2D" uid="uid://rrwjokjt4jb8" path="res://_Assets/Textures/Notes/SwipeCW.png" id="2_ttxox"] +[ext_resource type="Shader" uid="uid://dm5rgp78v61ha" path="res://Shaders/SwipeArrow.tres" id="3_de2t7"] +[ext_resource type="Texture2D" uid="uid://cmaq66vbi80ug" path="res://_Assets/Textures/Notes/SlideArrow_Texture.png" id="4_v0t51"] [sub_resource type="LabelSettings" id="LabelSettings_1hjvl"] font_size = 86 +[sub_resource type="ShaderMaterial" id="ShaderMaterial_kk13m"] +shader = ExtResource("3_de2t7") +shader_parameter/Color = Color(1, 0.501961, 0, 1) +shader_parameter/scrollMultiplier = 1.0 +shader_parameter/arrow = ExtResource("4_v0t51") + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_fa8y1"] +width = 128 + [node name="NoteSwipeCW" type="Control" node_paths=PackedStringArray("noteBase")] layout_mode = 3 anchors_preset = 0 @@ -35,3 +46,12 @@ offset_right = 421.0 offset_bottom = -48.0 text = "<<<<<<<<<<<<<<<<<<<<<<<<" label_settings = SubResource("LabelSettings_1hjvl") + +[node name="Control" type="TextureRect" parent="."] +material = SubResource("ShaderMaterial_kk13m") +layout_mode = 0 +offset_left = 382.0 +offset_top = 76.0 +offset_right = 510.0 +offset_bottom = 332.0 +texture = SubResource("GradientTexture1D_fa8y1") diff --git a/_Assets/Textures/Notes/SlideArrow_Mask.png b/_Assets/Textures/Notes/SlideArrow_Mask.png new file mode 100644 index 0000000..eec011e Binary files /dev/null and b/_Assets/Textures/Notes/SlideArrow_Mask.png differ diff --git a/_Assets/Textures/Notes/SlideArrow_Mask.png.import b/_Assets/Textures/Notes/SlideArrow_Mask.png.import new file mode 100644 index 0000000..dd61ea1 --- /dev/null +++ b/_Assets/Textures/Notes/SlideArrow_Mask.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kjoqem41xatr" +path="res://.godot/imported/SlideArrow_Mask.png-3ae9b383f915aab3a71590d56cf195f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://_Assets/Textures/Notes/SlideArrow_Mask.png" +dest_files=["res://.godot/imported/SlideArrow_Mask.png-3ae9b383f915aab3a71590d56cf195f1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/_Assets/Textures/Notes/SlideArrow_Texture.png b/_Assets/Textures/Notes/SlideArrow_Texture.png new file mode 100644 index 0000000..49e8f1e Binary files /dev/null and b/_Assets/Textures/Notes/SlideArrow_Texture.png differ diff --git a/_Assets/Textures/Notes/SlideArrow_Texture.png.import b/_Assets/Textures/Notes/SlideArrow_Texture.png.import new file mode 100644 index 0000000..28d73a0 --- /dev/null +++ b/_Assets/Textures/Notes/SlideArrow_Texture.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmaq66vbi80ug" +path="res://.godot/imported/SlideArrow_Texture.png-2d5efc509cc95351144df708a6297e01.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://_Assets/Textures/Notes/SlideArrow_Texture.png" +dest_files=["res://.godot/imported/SlideArrow_Texture.png-2d5efc509cc95351144df708a6297e01.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1