[gd_scene load_steps=17 format=3 uid="uid://cdpgby3r6xe4n"] [ext_resource type="Script" uid="uid://dbec3pvrmeehx" path="res://objects/goal_post.gd" id="1_08x2x"] [ext_resource type="Shader" uid="uid://bk3ssuhuvbahl" path="res://assets/shaders/flag.gdshader" id="2_xbid5"] [ext_resource type="Texture2D" uid="uid://cyxkbck2gs2wt" path="res://assets/textures/objects/goal_hole.png" id="3_yg6kd"] [ext_resource type="Shader" uid="uid://bwh16agcnae24" path="res://assets/shaders/confetti_spin.gdshader" id="4_2tajh"] [sub_resource type="Gradient" id="Gradient_lo531"] interpolation_mode = 1 offsets = PackedFloat32Array(0, 0.167, 0.333, 0.5, 0.667, 0.833) colors = PackedColorArray(0.146381, 0.624043, 1, 1, 0.15, 1, 0.390833, 1, 1, 0.15, 0.15, 1, 1, 0.15, 0.915, 1, 0.971667, 1, 0.15, 1, 1, 0.64, 0.2, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_gj1wn"] gradient = SubResource("Gradient_lo531") width = 32 [sub_resource type="Curve" id="Curve_7j88s"] _data = [Vector2(0, 0), 0.0, 11.4029, 0, 0, Vector2(0.218593, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -4.44921, 0.0, 0, 0] point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_pewo3"] width = 32 curve = SubResource("Curve_7j88s") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_afbs2"] particle_flag_rotate_y = true angle_min = -720.0 angle_max = 720.0 direction = Vector3(0, 1, 0) spread = 15.0 initial_velocity_min = 2.0 initial_velocity_max = 5.0 gravity = Vector3(0, -2, 0) scale_curve = SubResource("CurveTexture_pewo3") color_initial_ramp = SubResource("GradientTexture1D_gj1wn") [sub_resource type="ShaderMaterial" id="ShaderMaterial_ctg8p"] render_priority = 0 shader = ExtResource("4_2tajh") shader_parameter/spin_speed = 5.0 [sub_resource type="PlaneMesh" id="PlaneMesh_phfae"] material = SubResource("ShaderMaterial_ctg8p") size = Vector2(0.2, 0.2) orientation = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e2vbu"] shading_mode = 2 albedo_color = Color(0.196078, 0.235294, 0.223529, 1) metallic_specular = 0.0 [sub_resource type="CylinderMesh" id="CylinderMesh_i27ie"] material = SubResource("StandardMaterial3D_e2vbu") top_radius = 0.1 bottom_radius = 0.1 height = 4.0 radial_segments = 6 rings = 8 [sub_resource type="ShaderMaterial" id="ShaderMaterial_3urv4"] render_priority = 0 shader = ExtResource("2_xbid5") shader_parameter/color_bright = Color(1, 0.290196, 0.356863, 1) shader_parameter/color_dark = Color(0.870588, 0.156863, 0.223529, 1) shader_parameter/pivot = 2.0 shader_parameter/pivot_speed = 1.0 shader_parameter/waves = 6.0 shader_parameter/wave_speed = 5.0 shader_parameter/wave_scale = 0.25 [sub_resource type="QuadMesh" id="QuadMesh_mfpmh"] material = SubResource("ShaderMaterial_3urv4") size = Vector2(2, 1) subdivide_width = 6 center_offset = Vector3(1, 0, 0) [sub_resource type="CylinderShape3D" id="CylinderShape3D_eshe3"] height = 0.5 [node name="GoalPost" type="Node3D" node_paths=PackedStringArray("win_confetti")] script = ExtResource("1_08x2x") win_confetti = NodePath("Graphics/WinConfetti") [node name="Graphics" type="Node3D" parent="."] [node name="WinConfetti" type="GPUParticles3D" parent="Graphics"] emitting = false amount = 32 lifetime = 2.0 one_shot = true explosiveness = 0.8 process_material = SubResource("ParticleProcessMaterial_afbs2") draw_pass_1 = SubResource("PlaneMesh_phfae") [node name="Pole" type="MeshInstance3D" parent="Graphics"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) mesh = SubResource("CylinderMesh_i27ie") [node name="Flag" type="MeshInstance3D" parent="Graphics"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.5, 0) mesh = SubResource("QuadMesh_mfpmh") [node name="Sprite3D" type="Sprite3D" parent="Graphics"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.01, 0) pixel_size = 0.0313 axis = 1 alpha_cut = 2 texture_filter = 0 texture = ExtResource("3_yg6kd") [node name="PlayerDetector" type="Area3D" parent="."] collision_layer = 0 collision_mask = 16 monitorable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.25, 0) shape = SubResource("CylinderShape3D_eshe3") [connection signal="body_entered" from="PlayerDetector" to="." method="_on_player_detector_body_entered"]