From ce84696104acf3db4571d11baf8a0f277d5c42bf Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Thu, 12 Dec 2024 17:48:21 -0700 Subject: [PATCH] Added basic item container --- .../item_octahedron/item_octahedron.blend | 3 + .../item_octahedron/item_octahedron.blend1 | Bin 0 -> 873136 bytes assets/materials/crystal.tres | 25 + assets/materials/crystal_noise.tres | 5 + assets/materials/crystal_noise_map.tres | 9 + .../materials/crystal_noise_normal_map.tres | 10 + assets/models/items/octahedron.bin | Bin 0 -> 1672 bytes assets/models/items/octahedron.gltf | 104 ++++ assets/models/items/octahedron.gltf.import | 36 ++ levels/debug_level/debug_level.tscn | 6 +- src/equipment/balls/physics_ball/game_ball.gd | 2 + src/items/item/item.gd | 19 + src/items/item/item.tscn | 450 ++++++++++++++++++ src/player/shot_setup/ball_point.gd | 6 +- src/shaders/frosted_glass.gdshader | 10 +- src/shaders/spatial_shine.gdshader | 91 ++++ 16 files changed, 769 insertions(+), 7 deletions(-) create mode 100644 asset_dev/item_octahedron/item_octahedron.blend create mode 100644 asset_dev/item_octahedron/item_octahedron.blend1 create mode 100644 assets/materials/crystal.tres create mode 100644 assets/materials/crystal_noise.tres create mode 100644 assets/materials/crystal_noise_map.tres create mode 100644 assets/materials/crystal_noise_normal_map.tres create mode 100644 assets/models/items/octahedron.bin create mode 100644 assets/models/items/octahedron.gltf create mode 100644 assets/models/items/octahedron.gltf.import create mode 100644 src/items/item/item.gd create mode 100644 src/items/item/item.tscn create mode 100644 src/shaders/spatial_shine.gdshader diff --git a/asset_dev/item_octahedron/item_octahedron.blend b/asset_dev/item_octahedron/item_octahedron.blend new file mode 100644 index 0000000..8a3fcfa --- /dev/null +++ b/asset_dev/item_octahedron/item_octahedron.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef69fc46b5d8fc418deb7e89869be64d4ebb5ecc0041568b6a7930c492ffc4c7 +size 873104 diff --git a/asset_dev/item_octahedron/item_octahedron.blend1 b/asset_dev/item_octahedron/item_octahedron.blend1 new file mode 100644 index 0000000000000000000000000000000000000000..7d02ad873e090ee629c8d499fe5fd5fd354de492 GIT binary patch literal 873136 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 HU;X=kScO`M literal 0 HcmV?d00001 diff --git a/assets/materials/crystal.tres b/assets/materials/crystal.tres new file mode 100644 index 0000000..ec18963 --- /dev/null +++ b/assets/materials/crystal.tres @@ -0,0 +1,25 @@ +[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://c5hidbq5gbmr"] + +[ext_resource type="Shader" path="res://src/shaders/frosted_glass.gdshader" id="1_iki28"] +[ext_resource type="Texture2D" uid="uid://c2p2in2p7mjyo" path="res://assets/materials/crystal_noise_normal_map.tres" id="2_cvxma"] +[ext_resource type="Texture2D" uid="uid://cx33n4h5mfcdb" path="res://assets/materials/crystal_noise_map.tres" id="3_v8v67"] + +[resource] +render_priority = 0 +shader = ExtResource("1_iki28") +shader_parameter/albedo = Color(0.5146, 0.62, 0.62, 0.0392157) +shader_parameter/roughness = 0.3 +shader_parameter/roughness_texture = ExtResource("3_v8v67") +shader_parameter/refraction = 0.0100008 +shader_parameter/refraction_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/texture_refraction = ExtResource("3_v8v67") +shader_parameter/normal_strength = 0.400001 +shader_parameter/normal_map = ExtResource("2_cvxma") +shader_parameter/subsurface_scattering_strength = 1.0 +shader_parameter/texture_subsurface_scattering = ExtResource("3_v8v67") +shader_parameter/edge_color = Color(0, 1, 1.2, 1) +shader_parameter/surface_contribution = 0.2 +shader_parameter/specular_contribution = 0.5 +shader_parameter/refraction_contribution = 10.0 +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) diff --git a/assets/materials/crystal_noise.tres b/assets/materials/crystal_noise.tres new file mode 100644 index 0000000..1199d48 --- /dev/null +++ b/assets/materials/crystal_noise.tres @@ -0,0 +1,5 @@ +[gd_resource type="FastNoiseLite" format=3 uid="uid://637qo4uj5mk"] + +[resource] +seed = 2 +fractal_octaves = 3 diff --git a/assets/materials/crystal_noise_map.tres b/assets/materials/crystal_noise_map.tres new file mode 100644 index 0000000..29f3634 --- /dev/null +++ b/assets/materials/crystal_noise_map.tres @@ -0,0 +1,9 @@ +[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://cx33n4h5mfcdb"] + +[ext_resource type="FastNoiseLite" uid="uid://637qo4uj5mk" path="res://assets/materials/crystal_noise.tres" id="1_wv67w"] + +[resource] +width = 1024 +height = 1024 +seamless = true +noise = ExtResource("1_wv67w") diff --git a/assets/materials/crystal_noise_normal_map.tres b/assets/materials/crystal_noise_normal_map.tres new file mode 100644 index 0000000..e7e4cb5 --- /dev/null +++ b/assets/materials/crystal_noise_normal_map.tres @@ -0,0 +1,10 @@ +[gd_resource type="NoiseTexture2D" load_steps=2 format=3 uid="uid://c2p2in2p7mjyo"] + +[ext_resource type="FastNoiseLite" uid="uid://637qo4uj5mk" path="res://assets/materials/crystal_noise.tres" id="1_lwomp"] + +[resource] +width = 1024 +height = 1024 +seamless = true +as_normal_map = true +noise = ExtResource("1_lwomp") diff --git a/assets/models/items/octahedron.bin b/assets/models/items/octahedron.bin new file mode 100644 index 0000000000000000000000000000000000000000..c6b42d2a2bb821b689ee5c1e4425649f51530e73 GIT binary patch literal 1672 zcmaJFJqYm7Dvk1#sQo++STX77Et$jH9pKWyYZqXZ;cfXT7{%#PYGPbLMKSy5>9= zdrO}h?_Ay!@t|R-)BEt=9zHR^Ngdf-YnzLh_il)gR@@VFJk%F*Ew@FR$X(R zi@l{!jdw0@51sDu&VrLxGb`VteuU=Kw@1N=E4o|@*R}mJFOGG~e3$%HdsiEJ^?k<* zmfpJLZ+-C!Pwx{~@Sk6gv)*kp&sqN|@K^JHsg+KB>!lN)_12kpmY?Iv2e6N_=j7#D zSiI((^If{dp3XJrIp3{X*x7T>x~Fe9ul$W&0pkr$ae-sL$M}qM?4se@ zV2HQ)fPKFE_=p|sVaj)k6Mp#`*71&-_vl~?UCw+$4}Bcq3+ImT4I_NV8GXi>Py^~a zj4f{4z$V{KRt@KRe0%iSqxUx7ZB`>{yL`L!*rmsW?}Qu1_`&UC#+188^zSncs2FnN hIb+PP8jv|;eC5_Y?*U_tiiQ^t8Ao& void: + # Note that this animation will call `queue_free` in 5 seconds! + explosion_player.play("explode") + on_collect.emit(player) + + +func _on_collection_area_body_entered(body: Node3D) -> void: + if body is GameBall: + var ball: GameBall = body + if ball.player: + _collect(ball.player) diff --git a/src/items/item/item.tscn b/src/items/item/item.tscn new file mode 100644 index 0000000..782e239 --- /dev/null +++ b/src/items/item/item.tscn @@ -0,0 +1,450 @@ +[gd_scene load_steps=29 format=3 uid="uid://comd88yp45mnb"] + +[ext_resource type="PackedScene" uid="uid://djfbit4v0qncc" path="res://assets/models/items/octahedron.gltf" id="1_a0q17"] +[ext_resource type="Script" path="res://src/items/item/item.gd" id="1_kesm6"] +[ext_resource type="Material" uid="uid://c5hidbq5gbmr" path="res://assets/materials/crystal.tres" id="2_dtimm"] +[ext_resource type="Shader" path="res://src/shaders/spatial_shine.gdshader" id="5_hvjqo"] +[ext_resource type="Texture2D" uid="uid://du3vk5nnksohs" path="res://assets/sprites/particles/sparkle.png" id="5_k1sdu"] + +[sub_resource type="Animation" id="Animation_7sxyq"] +length = 0.001 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:position:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath(".:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, -0.0523599)] +} + +[sub_resource type="Animation" id="Animation_j8bih"] +resource_name = "pivot" +length = 1.6 +loop_mode = 1 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0, 0, 0), +"points": PackedFloat32Array(0, -0.25, 0, 0.4, 0.1, 0, -0.4, -0.1, 0.4, 0.1, 0, -0.4, -0.1, 0.25, 0), +"times": PackedFloat32Array(0, 0.8, 1.6) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0, 0, 0), +"points": PackedFloat32Array(0.05, -0.25, 0, 0.4, 0, -0.05, -0.25, 0, 0.25, 0, 0.05, -0.4, 0, 0.25, 0), +"times": PackedFloat32Array(0, 0.8, 1.6) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath(".:position:z") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.25, 0, 0.4, 0.1), +"times": PackedFloat32Array(0) +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath(".:rotation") +tracks/3/interp = 2 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.4, 0.8, 1.2, 1.6), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [Vector3(0, 0, 0.0523599), Vector3(0, 0, -0.0523599), Vector3(0, 0, 0.0523599), Vector3(0, 0, -0.0523599), Vector3(0, 0, 0.0523599)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_3k4mu"] +_data = { +"RESET": SubResource("Animation_7sxyq"), +"pivot": SubResource("Animation_j8bih") +} + +[sub_resource type="Animation" id="Animation_jhb3c"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ItemMeshContainer:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -0.2, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Octahedron:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ItemMeshContainer:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 0, 0)] +} + +[sub_resource type="Animation" id="Animation_283tf"] +resource_name = "hover" +length = 24.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ItemMeshContainer:position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 6, 12, 18), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector3(0, -0.05, 0), Vector3(0, 0.05, 0), Vector3(0, -0.05, 0), Vector3(0, 0.05, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Octahedron:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0, 24), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 6.28319, -6.28319)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ItemMeshContainer:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = false +tracks/2/keys = { +"times": PackedFloat32Array(0, 24), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, -6.28319, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_jwejx"] +_data = { +"RESET": SubResource("Animation_jhb3c"), +"idle": SubResource("Animation_283tf") +} + +[sub_resource type="Curve" id="Curve_1syyy"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.751579, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_3g61g"] +curve = SubResource("Curve_1syyy") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jocqm"] +lifetime_randomness = 0.63 +particle_flag_align_y = true +emission_shape = 2 +emission_sphere_radius = 0.5 +direction = Vector3(0, 0, 0) +radial_velocity_min = 4.99998 +radial_velocity_max = 4.99998 +gravity = Vector3(0, -4, 0) +scale_curve = SubResource("CurveTexture_3g61g") + +[sub_resource type="PrismMesh" id="PrismMesh_32wcu"] +material = ExtResource("2_dtimm") +size = Vector3(0.3, -0.2, 0.3) + +[sub_resource type="Gradient" id="Gradient_f63as"] +offsets = PackedFloat32Array(0.211663, 1) +colors = PackedColorArray(1, 1, 0.51, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_r7x43"] +gradient = SubResource("Gradient_f63as") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_wolv7"] +render_priority = 0 +shader = ExtResource("5_hvjqo") +shader_parameter/spread = 0.5 +shader_parameter/cutoff = 0.5 +shader_parameter/size = 1.0 +shader_parameter/speed = 1.0 +shader_parameter/ray1_density = 8.0 +shader_parameter/ray2_density = 30.0 +shader_parameter/ray2_intensity = 0.3 +shader_parameter/core_intensity = 0.5 +shader_parameter/hdr = true +shader_parameter/seed = 5.0 +shader_parameter/grow = -0.0999992 +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) +shader_parameter/uv2_scale = Vector3(1, 1, 1) +shader_parameter/uv2_offset = Vector3(0, 0, 0) +shader_parameter/gradient = SubResource("GradientTexture1D_r7x43") + +[sub_resource type="QuadMesh" id="QuadMesh_iuh4w"] +material = SubResource("ShaderMaterial_wolv7") +size = Vector2(3, 3) + +[sub_resource type="SphereShape3D" id="SphereShape3D_munrb"] +radius = 1.0 + +[sub_resource type="Curve" id="Curve_4pwcs"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.248421, 1), 0.0, 0.0, 0, 0, Vector2(0.549474, 0.555075), 5.83005, 5.83005, 0, 0, Vector2(0.80421, 0.232888), 7.10071, 7.10071, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 5 + +[sub_resource type="CurveTexture" id="CurveTexture_xmh5j"] +curve = SubResource("Curve_4pwcs") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_xdagn"] +direction = Vector3(0, 0, 0) +spread = 180.0 +initial_velocity_min = 0.5 +initial_velocity_max = 0.5 +gravity = Vector3(0, 0, 0) +damping_min = 0.1 +damping_max = 0.1 +scale_curve = SubResource("CurveTexture_xmh5j") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ttptx"] +transparency = 1 +shading_mode = 0 +vertex_color_use_as_albedo = true +albedo_texture = ExtResource("5_k1sdu") +texture_filter = 4 +billboard_mode = 3 +billboard_keep_scale = true +particles_anim_h_frames = 1 +particles_anim_v_frames = 1 +particles_anim_loop = false + +[sub_resource type="QuadMesh" id="QuadMesh_es7cm"] +material = SubResource("StandardMaterial3D_ttptx") +size = Vector2(0.05, 0.05) + +[sub_resource type="Animation" id="Animation_niure"] +resource_name = "explode" +length = 5.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Pivot/Octahedron/ExplosionParticles:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Pivot/Octahedron/Octahedron:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Pivot/SparkleParticles:emitting") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/3/type = "method" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath(".") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(5), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"queue_free" +}] +} + +[sub_resource type="Animation" id="Animation_50jqd"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Pivot/Octahedron/ExplosionParticles:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Pivot/Octahedron/Octahedron:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Pivot/SparkleParticles:emitting") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_lqra6"] +_data = { +"RESET": SubResource("Animation_50jqd"), +"explode": SubResource("Animation_niure") +} + +[node name="Item" type="Node3D"] +script = ExtResource("1_kesm6") + +[node name="Pivot" type="Node3D" parent="."] + +[node name="Octahedron" parent="Pivot" instance=ExtResource("1_a0q17")] + +[node name="Octahedron" parent="Pivot/Octahedron" index="0"] +surface_material_override/0 = ExtResource("2_dtimm") + +[node name="ItemMeshContainer" type="Node3D" parent="Pivot/Octahedron"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0) + +[node name="Pivot" type="Node3D" parent="Pivot/Octahedron/ItemMeshContainer"] +transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0) + +[node name="PivotAnimation" type="AnimationPlayer" parent="Pivot/Octahedron/ItemMeshContainer/Pivot"] +libraries = { +"": SubResource("AnimationLibrary_3k4mu") +} +autoplay = "pivot" +speed_scale = 0.5 + +[node name="ItemAnimation" type="AnimationPlayer" parent="Pivot/Octahedron"] +libraries = { +"": SubResource("AnimationLibrary_jwejx") +} +autoplay = "idle" + +[node name="ExplosionParticles" type="GPUParticles3D" parent="Pivot/Octahedron"] +emitting = false +amount = 64 +one_shot = true +explosiveness = 1.0 +fixed_fps = 60 +interpolate = false +process_material = SubResource("ParticleProcessMaterial_jocqm") +draw_pass_1 = SubResource("PrismMesh_32wcu") + +[node name="Shine" type="MeshInstance3D" parent="Pivot"] +visible = false +mesh = SubResource("QuadMesh_iuh4w") + +[node name="CollectionArea" type="Area3D" parent="Pivot"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Pivot/CollectionArea"] +shape = SubResource("SphereShape3D_munrb") + +[node name="SparkleParticles" type="GPUParticles3D" parent="Pivot"] +amount = 64 +lifetime = 5.0 +preprocess = 5.0 +process_material = SubResource("ParticleProcessMaterial_xdagn") +draw_pass_1 = SubResource("QuadMesh_es7cm") + +[node name="ExplosionPlayer" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +libraries = { +"": SubResource("AnimationLibrary_lqra6") +} + +[connection signal="body_entered" from="Pivot/CollectionArea" to="." method="_on_collection_area_body_entered"] + +[editable path="Pivot/Octahedron"] diff --git a/src/player/shot_setup/ball_point.gd b/src/player/shot_setup/ball_point.gd index 4cf404e..cb5fc45 100644 --- a/src/player/shot_setup/ball_point.gd +++ b/src/player/shot_setup/ball_point.gd @@ -16,13 +16,17 @@ const SCENE_MAP: Dictionary = { ball = value ball_changed.emit(ball) +@onready var shot_setup: ShotSetup = $".." + ## Get a new instance of a ball of the given type. ## Returns null if the type can't be instantiated (e.g. NONE type) func get_instance(type: GameBall.Type) -> GameBall: if type in SCENE_MAP: var scene: PackedScene = SCENE_MAP.get(type) - return scene.instantiate() as GameBall + var ball: GameBall = scene.instantiate() + ball.player = shot_setup.player + return ball return null diff --git a/src/shaders/frosted_glass.gdshader b/src/shaders/frosted_glass.gdshader index b2c85ed..b9bcbfc 100644 --- a/src/shaders/frosted_glass.gdshader +++ b/src/shaders/frosted_glass.gdshader @@ -47,24 +47,24 @@ void vertex() { void fragment() { NORMAL_MAP = texture(normal_map, UV).xyz; NORMAL_MAP_DEPTH = normal_strength; - + float VdotN = dot(VIEW, NORMAL); float fresnel = clamp(SchlickFresnel(VdotN), 0.0, 1.0); - + vec4 albedo_mix = texture(albedo_texture, UV) * albedo; float roughness_mix = texture(roughness_texture, UV).r * roughness; float sss_mix = texture(texture_subsurface_scattering, UV).r * subsurface_scattering_strength; - + float a = mix(0.001, 1.0, albedo_mix.a); float a_factor_0 = mix(fresnel * edge_color.a, 1.0, a); float a_factor_1 = 0.5 * sqrt(a); float a_factor_2 = a_factor_0 + a_factor_1; - + ALBEDO = mix(edge_color.rgb * edge_color.a, albedo_mix.rgb * surface_contribution, a); ROUGHNESS = roughness_mix; SPECULAR = 0.5 * inversesqrt(specular_contribution); SSS_STRENGTH = sss_mix; - + vec3 unpacked_normal = NORMAL_MAP; unpacked_normal.xy = unpacked_normal.xy * 2.0 - 1.0; unpacked_normal.z = sqrt(max(0.0, 1.0 - dot(unpacked_normal.xy, unpacked_normal.xy))); diff --git a/src/shaders/spatial_shine.gdshader b/src/shaders/spatial_shine.gdshader new file mode 100644 index 0000000..47a6ac5 --- /dev/null +++ b/src/shaders/spatial_shine.gdshader @@ -0,0 +1,91 @@ +/* Spatial shine + * Based on https://godotshaders.com/shader/radial-shine-highlight/ + */ + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, unshaded, diffuse_burley, specular_schlick_ggx; + +uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap_anisotropic; +uniform sampler2D gradient; +uniform float spread = 0.5; +uniform float cutoff = 0.1; +uniform float size = 1.0; +uniform float speed = 1.0; +uniform float ray1_density = 8.0; +uniform float ray2_density = 30.0; +uniform float ray2_intensity = 0.3; +uniform float core_intensity = 2.0; +uniform bool hdr = false; +uniform float seed = 5.0; + + +uniform float grow : hint_range(-16.0, 16.0, 0.001); + +uniform vec3 uv1_scale; +uniform vec3 uv1_offset; +uniform vec3 uv2_scale; +uniform vec3 uv2_offset; + +float random(vec2 _uv) { + return fract(sin(dot(_uv.xy, vec2(12.9898, 78.233))) * 43758.5453123); +} + +float noise(in vec2 uv) { + vec2 i = floor(uv); + vec2 f = fract(uv); + float a = random(i); + float b = random(i + vec2(1.0, 0.0)); + float c = random(i + vec2(0.0, 1.0)); + float d = random(i + vec2(1.0, 1.0)); + vec2 u = f * f * (3.0-2.0 * f); + return mix(a, b, u.x) + (c - a)* u.y * (1.0 - u.x) + (d - b) * u.x * u.y; +} + +vec4 screen(vec4 base, vec4 blend){ + return 1.0 - (1.0 - base) * (1.0 - blend); +} + +void vertex() { + UV = UV * uv1_scale.xy + uv1_offset.xy; + + // Billboard Mode: Enabled + MODELVIEW_MATRIX = VIEW_MATRIX * mat4( + MAIN_CAM_INV_VIEW_MATRIX[0], + MAIN_CAM_INV_VIEW_MATRIX[1], + MAIN_CAM_INV_VIEW_MATRIX[2], + MODEL_MATRIX[3]); + MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX); + + // Grow: Enabled + VERTEX += NORMAL * grow; +} + +void fragment() { + vec2 centered_uv = (UV - 0.5) * size; + float radius = length(centered_uv); + float angle = atan(centered_uv.y, centered_uv.x) + PI; // Add PI to fix left side cutoff + + vec2 ray1 = vec2(angle * ray1_density + TIME * speed + seed + sin(angle * 3.0), radius * 2.0); + vec2 ray2 = vec2(angle * ray2_density + TIME * speed * 1.5 + seed + cos(angle * 2.0), radius * 2.0); + + float cut = 1.0 - smoothstep(cutoff, cutoff + 0.2, radius); + ray1 *= cut; + ray2 *= cut; + + float rays = hdr ? + noise(ray1) + (noise(ray2) * ray2_intensity) : + clamp(noise(ray1) + (noise(ray2) * ray2_intensity), 0., 1.); + + rays *= smoothstep(spread, spread * 0.3, radius); + float core = smoothstep(0.2, 0.0, radius) * core_intensity; + rays += core; + + vec4 gradient_color = texture(gradient, vec2(rays, 0.5)); + vec3 shine = vec3(rays) * gradient_color.rgb; + + float blur_amount = radius * 0.1; + vec2 blur_uv = SCREEN_UV + centered_uv * blur_amount; + vec4 blurred = texture(SCREEN_TEXTURE, blur_uv); + ALBEDO = screen(blurred, vec4(shine, rays)).rgb; + ALPHA = rays * gradient_color.a; +}