diff --git a/project.godot b/project.godot index 35b6249..2ec8930 100644 --- a/project.godot +++ b/project.godot @@ -44,6 +44,7 @@ BeehaveGlobalDebugger="*res://addons/beehave/debug/global_debugger.gd" window/size/viewport_width=640 window/size/viewport_height=360 +window/size/mode=4 window/size/always_on_top=true window/stretch/mode="canvas_items" window/stretch/scale_mode="integer" diff --git a/render/shader/character.gdshader b/render/shader/character.gdshader index 4ff275c..6687dd3 100644 --- a/render/shader/character.gdshader +++ b/render/shader/character.gdshader @@ -28,4 +28,8 @@ void fragment() { } ALBEDO = col.rgb; ALPHA = 1.0; +} + +void light() { + DIFFUSE_LIGHT += ATTENUATION * LIGHT_COLOR * 1.2; } \ No newline at end of file diff --git a/render/shader/particle.gdshader b/render/shader/particle.gdshader index 6856975..401ef00 100644 --- a/render/shader/particle.gdshader +++ b/render/shader/particle.gdshader @@ -5,6 +5,10 @@ uniform sampler2D tex_main : source_color; void fragment() { vec4 col = texture(tex_main, UV); + if(col.r==0.0){ + discard; + } ALBEDO = COLOR.rgb * col.r; ALPHA = COLOR.a * col.r; + EMISSION = vec3(col.r); } diff --git a/render/texture/common/common_emission.tres b/render/texture/common/common_emission.tres new file mode 100644 index 0000000..8eb2c08 --- /dev/null +++ b/render/texture/common/common_emission.tres @@ -0,0 +1,8 @@ +[gd_resource type="CurveTexture" load_steps=2 format=3 uid="uid://ddrm1reu30eux"] + +[sub_resource type="Curve" id="Curve_jqhhd"] +_data = [Vector2(0, 1), 0.0, -1.0, 0, 1, Vector2(1, 0), -1.0, 0.0, 1, 0] +point_count = 2 + +[resource] +curve = SubResource("Curve_jqhhd") diff --git a/scene/effect/particle/_particle_slash1.tscn b/scene/effect/particle/_particle_slash1.tscn index 4bbd566..556f0cd 100644 --- a/scene/effect/particle/_particle_slash1.tscn +++ b/scene/effect/particle/_particle_slash1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=17 format=3 uid="uid://b2h4pcmlii7dg"] +[gd_scene load_steps=18 format=3 uid="uid://b2h4pcmlii7dg"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_fx8ev"] [ext_resource type="Shader" path="res://render/shader/effect_slash.gdshader" id="2_a0jwb"] @@ -8,6 +8,7 @@ [ext_resource type="Texture2D" uid="uid://csjm7d1tg6b50" path="res://render/texture/particle/mask/mask6.png" id="4_wvohg"] [ext_resource type="Texture2D" uid="uid://c1e2fcr0nucku" path="res://render/texture/particle/mask/mask9.png" id="5_n15k1"] [ext_resource type="Texture2D" uid="uid://dd3e7ol8qa5eq" path="res://render/texture/particle/noise/noise2.png" id="5_ymh7m"] +[ext_resource type="Texture2D" uid="uid://ddrm1reu30eux" path="res://render/texture/common/common_emission.tres" id="8_e30fx"] [ext_resource type="RibbonTrailMesh" uid="uid://bs5hlmt5xvqfd" path="res://render/trail_mesh/flare_sharp.tres" id="9_0e33x"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_hupcc"] @@ -34,6 +35,7 @@ angular_velocity_min = -720.0 angular_velocity_max = -720.0 gravity = Vector3(0, 0, 0) alpha_curve = SubResource("CurveTexture_fa6y5") +emission_curve = ExtResource("8_e30fx") [sub_resource type="Curve" id="Curve_a8a1y"] _data = [Vector2(0, 0.538462), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] diff --git a/scene/effect/particle/particle_hit_blunt_block.tscn b/scene/effect/particle/particle_hit_blunt_block.tscn index 508355d..0c835b8 100644 --- a/scene/effect/particle/particle_hit_blunt_block.tscn +++ b/scene/effect/particle/particle_hit_blunt_block.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=32 format=3 uid="uid://b245llgradjqo"] +[gd_scene load_steps=33 format=3 uid="uid://b245llgradjqo"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_5j1nk"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_q8k2s"] [ext_resource type="Texture2D" uid="uid://bqqa04cq6brul" path="res://render/texture/particle/shape/flare6.png" id="3_a0k01"] [ext_resource type="Texture2D" uid="uid://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="4_0du3d"] +[ext_resource type="Texture2D" uid="uid://ddrm1reu30eux" path="res://render/texture/common/common_emission.tres" id="4_bgwjy"] [ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_qn2qa"] [ext_resource type="RibbonTrailMesh" uid="uid://cv0787wcswb6d" path="res://render/trail_mesh/flare_blunt.tres" id="6_bdl6g"] @@ -42,6 +43,7 @@ gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_1vj45") color_ramp = SubResource("GradientTexture1D_ee1g0") alpha_curve = SubResource("CurveTexture_qqoo7") +emission_curve = ExtResource("4_bgwjy") [sub_resource type="QuadMesh" id="QuadMesh_0j7av"] diff --git a/scene/effect/particle/particle_hit_blunt_heavy.tscn b/scene/effect/particle/particle_hit_blunt_heavy.tscn index f5ef57a..9c63337 100644 --- a/scene/effect/particle/particle_hit_blunt_heavy.tscn +++ b/scene/effect/particle/particle_hit_blunt_heavy.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=43 format=3 uid="uid://cdq8t46i51ur5"] +[gd_scene load_steps=44 format=3 uid="uid://cdq8t46i51ur5"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_oydbn"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_j4418"] [ext_resource type="Texture2D" uid="uid://bqqa04cq6brul" path="res://render/texture/particle/shape/flare6.png" id="3_46a2r"] +[ext_resource type="Texture2D" uid="uid://ddrm1reu30eux" path="res://render/texture/common/common_emission.tres" id="4_p0ocr"] [ext_resource type="Texture2D" uid="uid://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="4_xpm5f"] [ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_rp3hs"] [ext_resource type="RibbonTrailMesh" uid="uid://cv0787wcswb6d" path="res://render/trail_mesh/flare_blunt.tres" id="6_j4o4n"] @@ -45,6 +46,7 @@ gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_5bh6x") color_ramp = SubResource("GradientTexture1D_cnmsj") alpha_curve = SubResource("CurveTexture_8mtv7") +emission_curve = ExtResource("4_p0ocr") [sub_resource type="QuadMesh" id="QuadMesh_0j7av"] diff --git a/scene/effect/particle/particle_hit_blunt_mid.tscn b/scene/effect/particle/particle_hit_blunt_mid.tscn index 3cef463..23ef32b 100644 --- a/scene/effect/particle/particle_hit_blunt_mid.tscn +++ b/scene/effect/particle/particle_hit_blunt_mid.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=24 format=3 uid="uid://bvut7t1l1v305"] +[gd_scene load_steps=25 format=3 uid="uid://bvut7t1l1v305"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_a6aoh"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_huo8i"] [ext_resource type="Texture2D" uid="uid://bqqa04cq6brul" path="res://render/texture/particle/shape/flare6.png" id="3_is87m"] [ext_resource type="Texture2D" uid="uid://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="4_3vqto"] +[ext_resource type="Texture2D" uid="uid://ddrm1reu30eux" path="res://render/texture/common/common_emission.tres" id="4_p7mgx"] [ext_resource type="RibbonTrailMesh" uid="uid://cv0787wcswb6d" path="res://render/trail_mesh/flare_blunt.tres" id="6_48ph4"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"] @@ -41,6 +42,7 @@ gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_1vj45") color_ramp = SubResource("GradientTexture1D_ee1g0") alpha_curve = SubResource("CurveTexture_qqoo7") +emission_curve = ExtResource("4_p7mgx") [sub_resource type="QuadMesh" id="QuadMesh_0j7av"] diff --git a/scene/effect/particle/particle_hit_blunt_normal.tscn b/scene/effect/particle/particle_hit_blunt_normal.tscn index 5258f30..406951c 100644 --- a/scene/effect/particle/particle_hit_blunt_normal.tscn +++ b/scene/effect/particle/particle_hit_blunt_normal.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=20 format=3 uid="uid://bep28rw64nd7q"] +[gd_scene load_steps=21 format=3 uid="uid://bep28rw64nd7q"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_vgayn"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_g5eyu"] [ext_resource type="Texture2D" uid="uid://bqqa04cq6brul" path="res://render/texture/particle/shape/flare6.png" id="3_da2in"] +[ext_resource type="Texture2D" uid="uid://ddrm1reu30eux" path="res://render/texture/common/common_emission.tres" id="4_ht0kc"] [ext_resource type="Texture2D" uid="uid://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="4_pgf8e"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"] @@ -40,6 +41,7 @@ gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_6yrf4") color_ramp = SubResource("GradientTexture1D_4ugxc") alpha_curve = SubResource("CurveTexture_xe31d") +emission_curve = ExtResource("4_ht0kc") [sub_resource type="QuadMesh" id="QuadMesh_0j7av"] diff --git a/scene/effect/particle/particle_warn_heavy.tscn b/scene/effect/particle/particle_warn_heavy.tscn index 554fff7..a0f9a02 100644 --- a/scene/effect/particle/particle_warn_heavy.tscn +++ b/scene/effect/particle/particle_warn_heavy.tscn @@ -8,7 +8,6 @@ [sub_resource type="ShaderMaterial" id="ShaderMaterial_fvph4"] render_priority = 0 shader = ExtResource("2_845vn") -shader_parameter/is_billboard = false shader_parameter/tex_main = ExtResource("3_qjy02") [sub_resource type="Curve" id="Curve_fuavy"] @@ -40,7 +39,6 @@ sub_emitter_amount_at_end = 1 [sub_resource type="ShaderMaterial" id="ShaderMaterial_0r62o"] render_priority = 0 shader = ExtResource("2_845vn") -shader_parameter/is_billboard = false shader_parameter/tex_main = ExtResource("4_xa5lc") [sub_resource type="Curve" id="Curve_dso35"] @@ -59,8 +57,8 @@ gradient = SubResource("Gradient_c5xhr") [sub_resource type="Curve" id="Curve_6goqw"] max_value = 2.0 -_data = [Vector2(0, 0.627893), 0.0, 15.9262, 0, 1, Vector2(0.0861538, 2), 0.0, 0.0, 0, 0, Vector2(0.950769, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 1, 0] -point_count = 4 +_data = [Vector2(0, 0), 0.0, 2.0, 0, 1, Vector2(1, 2), 2.0, 0.0, 1, 0] +point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_3g7q4"] curve = SubResource("Curve_6goqw") diff --git a/scene/effect/particle/particle_warn_mid.tscn b/scene/effect/particle/particle_warn_mid.tscn index 92b68e8..80aea1b 100644 --- a/scene/effect/particle/particle_warn_mid.tscn +++ b/scene/effect/particle/particle_warn_mid.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=20 format=3 uid="uid://da67pfya6g2w7"] +[gd_scene load_steps=18 format=3 uid="uid://da67pfya6g2w7"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_toftt"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_gnmdc"] @@ -8,11 +8,10 @@ [sub_resource type="ShaderMaterial" id="ShaderMaterial_fvph4"] render_priority = 0 shader = ExtResource("2_gnmdc") -shader_parameter/is_billboard = false shader_parameter/tex_main = ExtResource("3_yjvrf") [sub_resource type="Curve" id="Curve_fuavy"] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.806154, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.258065, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_5i014"] @@ -40,27 +39,19 @@ sub_emitter_amount_at_end = 1 [sub_resource type="ShaderMaterial" id="ShaderMaterial_0r62o"] render_priority = 0 shader = ExtResource("2_gnmdc") -shader_parameter/is_billboard = false shader_parameter/tex_main = ExtResource("4_4se4b") [sub_resource type="Curve" id="Curve_dso35"] -_data = [Vector2(0, 0.786236), 0.0, 2.24107, 0, 1, Vector2(0.0953846, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.10544, 0.0, 1, 0] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 1, Vector2(0.741935, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.875, 0.0, 1, 0] point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_f0x81"] curve = SubResource("Curve_dso35") -[sub_resource type="Gradient" id="Gradient_c5xhr"] -offsets = PackedFloat32Array(0, 0.144781, 1) -colors = PackedColorArray(1, 1, 1, 1, 1, 0.407407, 0.407407, 1, 1, 0, 0, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_3qqjy"] -gradient = SubResource("Gradient_c5xhr") - [sub_resource type="Curve" id="Curve_6goqw"] max_value = 2.0 -_data = [Vector2(0, 0.627893), 0.0, 15.9262, 0, 1, Vector2(0.0861538, 2), 0.0, 0.0, 0, 0, Vector2(0.950769, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 1, 0] -point_count = 4 +_data = [Vector2(0, 0), 0.0, 2.0, 0, 1, Vector2(1, 2), 2.0, 0.0, 1, 0] +point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_3g7q4"] curve = SubResource("Curve_6goqw") @@ -69,7 +60,7 @@ curve = SubResource("Curve_6goqw") particle_flag_disable_z = true gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_3g7q4") -color_ramp = SubResource("GradientTexture1D_3qqjy") +color = Color(1, 0, 0, 1) alpha_curve = SubResource("CurveTexture_f0x81") sub_emitter_mode = 2 sub_emitter_amount_at_end = 1 diff --git a/scene/effect/particle/particle_warn_normal.tscn b/scene/effect/particle/particle_warn_normal.tscn index 342e516..79319af 100644 --- a/scene/effect/particle/particle_warn_normal.tscn +++ b/scene/effect/particle/particle_warn_normal.tscn @@ -1,14 +1,14 @@ -[gd_scene load_steps=20 format=3 uid="uid://v2pu4bvnjk8c"] +[gd_scene load_steps=18 format=3 uid="uid://v2pu4bvnjk8c"] [ext_resource type="Script" path="res://script/effect/particle.gd" id="1_4fbrb"] [ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_j7csm"] -[ext_resource type="Texture2D" uid="uid://0bc1rnv1shnn" path="res://render/texture/particle/shape/circle3.png" id="3_rqs4m"] +[ext_resource type="Texture2D" uid="uid://cq58273k05p4f" path="res://render/texture/particle/shape/circle1.png" id="3_7ief2"] [ext_resource type="Texture2D" uid="uid://ddgscopu6xk3e" path="res://render/texture/particle/shape/flare7.png" id="4_d5yic"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_fvph4"] render_priority = 0 shader = ExtResource("2_j7csm") -shader_parameter/tex_main = ExtResource("3_rqs4m") +shader_parameter/tex_main = ExtResource("3_7ief2") [sub_resource type="Curve" id="Curve_fuavy"] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.806154, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] @@ -42,23 +42,16 @@ shader = ExtResource("2_j7csm") shader_parameter/tex_main = ExtResource("4_d5yic") [sub_resource type="Curve" id="Curve_dso35"] -_data = [Vector2(0, 0.786236), 0.0, 1.38947, 0, 1, Vector2(0.153846, 1), 0.0, 0.0, 0, 0, Vector2(0.741538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.86905, 0.0, 1, 0] -point_count = 4 +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.741538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.86905, 0.0, 1, 0] +point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_f0x81"] curve = SubResource("Curve_dso35") -[sub_resource type="Gradient" id="Gradient_c5xhr"] -offsets = PackedFloat32Array(0, 0.144781, 1) -colors = PackedColorArray(1, 1, 1, 1, 1, 0.407407, 0.407407, 1, 1, 0, 0, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_3qqjy"] -gradient = SubResource("Gradient_c5xhr") - [sub_resource type="Curve" id="Curve_6goqw"] max_value = 2.0 -_data = [Vector2(0, 0), 0.0, 5.6, 0, 0, Vector2(0.32, 2), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0] -point_count = 3 +_data = [Vector2(0, 0), 0.0, 2.0, 0, 1, Vector2(1, 2), 2.0, 0.0, 1, 0] +point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_3g7q4"] curve = SubResource("Curve_6goqw") @@ -69,7 +62,7 @@ angle_min = 1.07288e-05 angle_max = 360.0 gravity = Vector3(0, 0, 0) scale_curve = SubResource("CurveTexture_3g7q4") -color_ramp = SubResource("GradientTexture1D_3qqjy") +color = Color(1, 0, 0, 1) alpha_curve = SubResource("CurveTexture_f0x81") sub_emitter_mode = 2 sub_emitter_amount_at_end = 1 diff --git a/scene/level/level.tscn b/scene/level/level.tscn index 99c8abf..b1df4c0 100644 --- a/scene/level/level.tscn +++ b/scene/level/level.tscn @@ -18,9 +18,10 @@ sky_material = SubResource("ProceduralSkyMaterial_gdk30") background_mode = 1 sky = SubResource("Sky_hmsea") ambient_light_source = 2 -ambient_light_color = Color(0.803922, 0.847059, 1, 1) +ambient_light_color = Color(1, 1, 1, 1) ambient_light_energy = 0.2 glow_enabled = true +glow_hdr_threshold = 0.8 fog_height = 3.0 fog_height_density = 0.5 @@ -32,14 +33,13 @@ script = ExtResource("1_h6f14") [node name="Env" type="Node3D" parent="."] +[node name="Light" type="Node3D" parent="Env"] + [node name="DirectionalLight3D" type="DirectionalLight3D" parent="Env"] transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0) -light_color = Color(1, 0.815686, 0.847059, 1) -light_energy = 0.1 +light_energy = 0.05 shadow_enabled = true -[node name="Light" type="Node3D" parent="Env"] - [node name="WorldEnvironment" type="WorldEnvironment" parent="Env"] environment = SubResource("Environment_n7ro3") @@ -286,14 +286,17 @@ size = Vector3i(1, 1, 2) [node name="OmniLight3D" type="OmniLight3D" parent="Levels/竞技场/大厅"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.13054, 3.76393, 2.90721) light_color = Color(0.458824, 1, 1, 1) +light_energy = 0.5 [node name="OmniLight3D2" type="OmniLight3D" parent="Levels/竞技场/大厅"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.6526, 3.76393, 10.8073) light_color = Color(0.458824, 1, 1, 1) +light_energy = 0.5 [node name="OmniLight3D3" type="OmniLight3D" parent="Levels/竞技场/大厅"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.5981, 2.42218, 12.1668) light_color = Color(1, 0.203922, 0.329412, 1) +light_energy = 0.5 [node name="Level01" parent="Levels/竞技场" instance=ExtResource("2_clf01")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.8, 0, 7.68) diff --git a/script/character/battle.gd b/script/character/battle.gd index 0c12068..aeccb58 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -293,7 +293,7 @@ func settle(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResult: character_to.add_buff("shake_x", 0.2, true) #闪白 - character_to.add_buff("flash_white", 0.05) + character_to.add_buff("flash_white", 0.04) #卡帧 pause_time *= 0.6