[gd_scene load_steps=13 format=3 uid="uid://b761uk7sjprrp"] [ext_resource type="Shader" path="res://assets/shaders/kaleidoscope.gdshader" id="1_nwvg1"] [ext_resource type="PackedScene" uid="uid://qehbjfkqs5pl" path="res://entities/ParticlesCool.tscn" id="1_yc1r8"] [sub_resource type="GDScript" id="GDScript_mtsk5"] script/source = "extends Control func _on_timer_timeout() -> void: $AnimationPlayer.play(\"kaleidoskope_1\"); " [sub_resource type="ShaderMaterial" id="ShaderMaterial_a6cuy"] shader = ExtResource("1_nwvg1") shader_parameter/segments = 6.0 shader_parameter/segmentReflect = true shader_parameter/polarOffset = Vector2(0.5, 0.5) shader_parameter/polarAngle = 0.0 shader_parameter/sourceOffset = Vector2(0.5, 0.5) shader_parameter/sourceScale = 2.0 shader_parameter/sourceAngle = 0.0 [sub_resource type="ViewportTexture" id="ViewportTexture_1y4ry"] viewport_path = NodePath("SubViewport") [sub_resource type="Shader" id="Shader_mxtek"] code = "shader_type canvas_item; uniform bool enabled; uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest; void vertex() { // Called for every vertex the material is visible on. } void fragment() { vec4 col = texture(TEXTURE,UV).rgba; if (enabled) { if (col.a != 0.0) { col.a = 0.0; } else { col.a = 1.0; } } else { col.a = 0.0; } COLOR = col; } //void light() { // Called for every pixel for every light affecting the CanvasItem. // Uncomment to replace the default light processing function with this one. //} " [sub_resource type="ShaderMaterial" id="ShaderMaterial_ahqjw"] shader = SubResource("Shader_mxtek") shader_parameter/enabled = null [sub_resource type="ViewportTexture" id="ViewportTexture_b44mw"] viewport_path = NodePath("TextViewPort") [sub_resource type="Animation" id="Animation_olvxy"] resource_name = "kaleidoskope_1" length = 20.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Kaleido:material:shader_parameter/segments") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0.0333334, 1.06667, 2.1, 3.06667, 4.06667, 5.06667, 6.03333, 7.1, 8.13333, 9.1), "transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), "update": 1, "values": [4.0, 6.0, 8.0, 10.0, 12.0, 8.0, 4.0, 6.0, 8.0, 6.0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Kaleido:material:shader_parameter/sourceAngle") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 1.03333), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Kaleido:material:shader_parameter/sourceOffset") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0.0333333, 9.1, 11.5333, 15.0667), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, "values": [Vector2(0.5, 0.5), Vector2(0.5, 0.5), Vector2(0.5, 0), Vector2(1, -1)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("TextMask:material:shader_parameter/enabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 11.8), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [false, true] } [sub_resource type="Animation" id="Animation_1yxhh"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Kaleido:material:shader_parameter/segments") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [6.0] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Kaleido:material:shader_parameter/sourceAngle") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Kaleido:material:shader_parameter/sourceOffset") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(0.5, 0.5)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("TextMask:material:shader_parameter/enabled") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [null] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_4qo5x"] _data = { "RESET": SubResource("Animation_1yxhh"), "kaleidoskope_1": SubResource("Animation_olvxy") } [sub_resource type="LabelSettings" id="LabelSettings_n61ct"] font_size = 104 shadow_size = 0 [node name="KaleidoScope" type="Control"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = SubResource("GDScript_mtsk5") [node name="Kaleido" type="TextureRect" parent="."] material = SubResource("ShaderMaterial_a6cuy") layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 texture = SubResource("ViewportTexture_1y4ry") [node name="TextMask" type="TextureRect" parent="."] material = SubResource("ShaderMaterial_ahqjw") layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 texture = SubResource("ViewportTexture_b44mw") [node name="SubViewport" type="SubViewport" parent="."] size = Vector2i(1152, 648) [node name="Camera3D" type="Camera3D" parent="SubViewport"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2.31619) [node name="Node3D" parent="SubViewport" instance=ExtResource("1_yc1r8")] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.910979, 0.412453, 0, -0.412453, 0.910979, 0, 0, 0) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_4qo5x") } [node name="Timer" type="Timer" parent="."] wait_time = 2.0 autostart = true [node name="TextViewPort" type="SubViewport" parent="."] transparent_bg = true size = Vector2i(1152, 648) [node name="Label" type="Label" parent="TextViewPort"] anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 offset_left = -286.0 offset_top = -44.0 offset_right = 286.0 offset_bottom = 44.0 grow_horizontal = 2 grow_vertical = 2 text = "THIS IS SOME TEXT" label_settings = SubResource("LabelSettings_n61ct") [connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]