diff --git a/asset_dev/balls/powerball/fireball.blend b/asset_dev/balls/powerball/fireball.blend index b732db8..a8ca8a5 100644 --- a/asset_dev/balls/powerball/fireball.blend +++ b/asset_dev/balls/powerball/fireball.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91479b69b0d87552d312e8f08ab41f75675a3f358cd9d886a20ae5ba99abeaa0 -size 921808 +oid sha256:9c50cc5120a39231b06c87615bf8bedc0194feb6cfc4cfdfc9f1282ca40260eb +size 894648 diff --git a/asset_dev/balls/powerball/fireball.blend1 b/asset_dev/balls/powerball/fireball.blend1 index 963f217..1a65b59 100644 Binary files a/asset_dev/balls/powerball/fireball.blend1 and b/asset_dev/balls/powerball/fireball.blend1 differ diff --git a/assets/models/balls/powerball/fireball.gltf b/assets/models/balls/powerball/fireball.gltf index 4566d9d..350f558 100644 --- a/assets/models/balls/powerball/fireball.gltf +++ b/assets/models/balls/powerball/fireball.gltf @@ -15,7 +15,17 @@ "nodes":[ { "mesh":0, - "name":"Fireball" + "name":"Fireball", + "scale":[ + 0.3999999761581421, + 0.800000011920929, + 0.3999999761581421 + ], + "translation":[ + 0, + -0.019999999552965164, + 0 + ] } ], "meshes":[ diff --git a/levels/debug_level/debug_level.tscn b/levels/debug_level/debug_level.tscn index 0f68494..9ece3b8 100644 --- a/levels/debug_level/debug_level.tscn +++ b/levels/debug_level/debug_level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=67 format=3 uid="uid://bm2o3mex10v11"] +[gd_scene load_steps=68 format=3 uid="uid://bm2o3mex10v11"] [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] @@ -13,6 +13,7 @@ [ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"] [ext_resource type="PackedScene" uid="uid://cjne55s85x7jy" path="res://src/items/extra_ball/brick_item.tscn" id="12_tj0lh"] [ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag/flag.tscn" id="13_6jtao"] +[ext_resource type="PackedScene" uid="uid://brh7twsjw2c5f" path="res://src/items/extra_ball/power_ball_item.tscn" id="13_enoia"] [ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="13_ydvlu"] [ext_resource type="PackedScene" uid="uid://cl0goj38u7r72" path="res://src/props/scenery/beach/sailboat.tscn" id="14_6reiy"] [ext_resource type="PackedScene" uid="uid://mcuhy71v6ggu" path="res://src/items/extra_ball/plasma_ball_item.tscn" id="15_ir4ss"] @@ -364,7 +365,7 @@ shape = SubResource("BoxShape3D_x3wvm") transform = Transform3D(-0.74629, 0, -0.665621, 0, 1, 0, 0.665621, 0, -0.74629, 381.024, -0.5, 224.968) [node name="ItemSpawner" type="Marker3D" parent="Course/WaterTable/Sailboat"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 5.3) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.73528, 0.292423, 0.248718) script = ExtResource("8_5kaye") item = ExtResource("8_3jmdx") amount = -1 @@ -413,8 +414,16 @@ amount = 5 spawn_on_ready = true spawn_turns = 1 +[node name="PowerBallSpawner" type="Marker3D" parent="Course/TestSpawners"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.9467, 1.1, 7.60959) +script = ExtResource("8_5kaye") +item = ExtResource("13_enoia") +amount = 5 +spawn_on_ready = true +spawn_turns = 1 + [node name="HealthSpawner" type="Marker3D" parent="Course/TestSpawners"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.651, 1, 7.92) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.0809, 1, 17.8327) script = ExtResource("8_5kaye") item = ExtResource("12_jiuxh") amount = 25 diff --git a/src/equipment/balls/power_ball/power_ball.tscn b/src/equipment/balls/power_ball/power_ball.tscn index 144c3dc..a626ed2 100644 --- a/src/equipment/balls/power_ball/power_ball.tscn +++ b/src/equipment/balls/power_ball/power_ball.tscn @@ -7,7 +7,7 @@ [ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_i8vmm"] [ext_resource type="AudioStream" uid="uid://tqr7u7vb2r0f" path="res://assets/sound/sfx/ball/effects/fireball.wav" id="6_uwolu"] -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c4cm7"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fcniu"] albedo_color = Color(2, 0.266, 0.266, 1) albedo_texture = ExtResource("2_a2gtg") albedo_texture_force_srgb = true @@ -21,7 +21,7 @@ uv1_scale = Vector3(3, 1.5, 3) texture_filter = 4 [sub_resource type="SphereMesh" id="SphereMesh_0b0i7"] -material = SubResource("StandardMaterial3D_c4cm7") +material = SubResource("StandardMaterial3D_fcniu") radius = 0.05 height = 0.1 radial_segments = 6 @@ -31,7 +31,7 @@ rings = 6 offsets = PackedFloat32Array(0.291939, 1) colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1) -[sub_resource type="GradientTexture2D" id="GradientTexture2D_sr8jb"] +[sub_resource type="GradientTexture2D" id="GradientTexture2D_ny4ye"] gradient = SubResource("Gradient_b68qa") fill = 1 fill_from = Vector2(0.5, 0.5) @@ -43,7 +43,7 @@ cull_mode = 2 shading_mode = 0 vertex_color_use_as_albedo = true albedo_color = Color(2, 1.98431, 1.6, 0.156863) -albedo_texture = SubResource("GradientTexture2D_sr8jb") +albedo_texture = SubResource("GradientTexture2D_ny4ye") [sub_resource type="Animation" id="Animation_5t74j"] resource_name = "flicker" @@ -56,10 +56,10 @@ tracks/0/path = NodePath("FireballScaleRoot:scale") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0.00610052, 0.1, 0.206101, 0.3, 0.40305, 0.5, 0.60305, 0.7, 0.80305, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9), +"times": PackedFloat32Array(0.00610052, 0.110417, 0.206101, 0.310417, 0.40305, 0.510417, 0.60305, 0.710417, 0.80305, 0.910417, 1, 1.11042, 1.2, 1.31042, 1.4, 1.51042, 1.6, 1.71042, 1.8, 1.9), "transitions": PackedFloat32Array(0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1), "update": 0, -"values": [Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1)] +"values": [Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1)] } tracks/1/type = "value" tracks/1/imported = false @@ -397,7 +397,7 @@ visible = false transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) [node name="fireball" parent="BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_i8vmm")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0) [node name="Fireball" parent="BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"] surface_material_override/0 = SubResource("StandardMaterial3D_aqmuo") diff --git a/src/items/extra_ball/power_ball_item.tscn b/src/items/extra_ball/power_ball_item.tscn new file mode 100644 index 0000000..34616d7 --- /dev/null +++ b/src/items/extra_ball/power_ball_item.tscn @@ -0,0 +1,253 @@ +[gd_scene load_steps=20 format=3 uid="uid://brh7twsjw2c5f"] + +[ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="1_v5gka"] +[ext_resource type="Script" path="res://src/items/extra_ball/extra_ball.gd" id="2_wxxbc"] +[ext_resource type="Shader" path="res://src/shaders/frosted_glass.gdshader" id="3_jybe0"] +[ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="3_y1s2r"] +[ext_resource type="Texture2D" uid="uid://c2p2in2p7mjyo" path="res://assets/materials/crystal_noise_normal_map.tres" id="4_ki8rs"] +[ext_resource type="Texture2D" uid="uid://cx33n4h5mfcdb" path="res://assets/materials/crystal_noise_map.tres" id="5_3u0nl"] +[ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_gi2ty"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_p5hhx"] +render_priority = 0 +shader = ExtResource("3_jybe0") +shader_parameter/albedo = Color(0.5146, 0.62, 0.62, 0.0392157) +shader_parameter/roughness = 0.3 +shader_parameter/roughness_texture = ExtResource("5_3u0nl") +shader_parameter/refraction = 0.0100008 +shader_parameter/refraction_texture_channel = Vector4(1, 0, 0, 0) +shader_parameter/texture_refraction = ExtResource("5_3u0nl") +shader_parameter/normal_strength = 0.400001 +shader_parameter/normal_map = ExtResource("4_ki8rs") +shader_parameter/subsurface_scattering_strength = 1.0 +shader_parameter/texture_subsurface_scattering = ExtResource("5_3u0nl") +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/alpha = 1.0 +shader_parameter/uv1_scale = Vector3(1, 1, 1) +shader_parameter/uv1_offset = Vector3(0, 0, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0d52l"] +shading_mode = 0 +albedo_color = Color(2, 0.266, 0.266, 1) +albedo_texture = ExtResource("3_y1s2r") +albedo_texture_force_srgb = true +uv1_scale = Vector3(3, 1.5, 3) +texture_filter = 4 + +[sub_resource type="SphereMesh" id="SphereMesh_qvrp7"] +material = SubResource("StandardMaterial3D_0d52l") +radius = 0.05 +height = 0.1 +radial_segments = 6 +rings = 6 + +[sub_resource type="Gradient" id="Gradient_f8tdf"] +offsets = PackedFloat32Array(0.291939, 1) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_sr8jb"] +gradient = SubResource("Gradient_f8tdf") +fill = 1 +fill_from = Vector2(0.5, 0.5) +metadata/_snap_enabled = true + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nuowb"] +cull_mode = 2 +shading_mode = 0 +vertex_color_use_as_albedo = true +albedo_color = Color(1, 0.993333, 0.8, 1) +albedo_texture = SubResource("GradientTexture2D_sr8jb") + +[sub_resource type="Animation" id="Animation_5t74j"] +resource_name = "flicker" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("FireballScaleRoot:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.00610052, 0.110417, 0.206101, 0.310417, 0.40305, 0.510417, 0.60305, 0.710417, 0.80305, 0.910417, 1, 1.11042, 1.2, 1.31042, 1.4, 1.51042, 1.6, 1.71042, 1.8, 1.9), +"transitions": PackedFloat32Array(0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1), +"update": 0, +"values": [Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("FireballScaleRoot:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = false +tracks/1/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector3(0, 0, 0), Vector3(0, 2.0944, 0)] +} + +[sub_resource type="Animation" id="Animation_2co83"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("FireballScaleRoot:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("FireballScaleRoot: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)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_hmunj"] +_data = { +"RESET": SubResource("Animation_2co83"), +"flicker": SubResource("Animation_5t74j") +} + +[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") +} + +[node name="PowerballItem" instance=ExtResource("1_v5gka")] +script = ExtResource("2_wxxbc") +ball_type = 3 +amount = 0 + +[node name="Octahedron" parent="Pivot/Octahedron" index="0"] +surface_material_override/0 = SubResource("ShaderMaterial_p5hhx") + +[node name="Pivot" parent="Pivot/Octahedron/ItemMeshContainer" index="0"] +transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0) + +[node name="BallMesh" type="MeshInstance3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot" index="1"] +transform = Transform3D(4, 0, 0, 0, 2.82843, -2.82843, 0, 2.82843, 2.82843, 0, 0, 0) +mesh = SubResource("SphereMesh_qvrp7") + +[node name="FireballPivot" type="Node3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh" index="0"] +unique_name_in_owner = true + +[node name="FireballScaleRoot" type="Node3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) + +[node name="fireball" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_gi2ty")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0) + +[node name="Fireball" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"] +sorting_offset = -1.0 +surface_material_override/0 = SubResource("StandardMaterial3D_nuowb") + +[node name="FireballAnimation" type="AnimationPlayer" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot" index="1"] +libraries = { +"": SubResource("AnimationLibrary_hmunj") +} +autoplay = "flicker" + +[node name="@AnimationPlayer@183827" type="AnimationPlayer" parent="Pivot/Octahedron" index="2"] +libraries = { +"": SubResource("AnimationLibrary_jwejx") +} +autoplay = "idle" + +[editable path="Pivot/Octahedron"] +[editable path="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot/fireball"]