blunt sharp 受击特效细化

master
chendian 1 year ago
parent bc6dc57566
commit b9a14dd164

@ -2,15 +2,6 @@ shader_type spatial;
render_mode blend_add,unshaded,depth_test_disabled;
uniform sampler2D tex_main : source_color;
uniform bool is_billboard;
void vertex() {
if (is_billboard){
vec3 billboard_offset = VERTEX;
VERTEX.xz = normalize(INV_VIEW_MATRIX[0].xz) * billboard_offset.x + normalize(INV_VIEW_MATRIX[2].xz) * billboard_offset.z;
VERTEX.y = billboard_offset.y;
}
}
void fragment() {
vec4 col = texture(tex_main, UV);

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dwl4v4vqg7hcw"
path="res://.godot/imported/flare5.png-015154dffb24e957da90c3174684c012.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://render/texture/particle/shape/flare5.png"
dest_files=["res://.godot/imported/flare5.png-015154dffb24e957da90c3174684c012.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=0
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=false
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqqa04cq6brul"
path="res://.godot/imported/flare6.png-425b6dd7d4da8681440e5835ffe39b92.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://render/texture/particle/shape/flare6.png"
dest_files=["res://.godot/imported/flare6.png-425b6dd7d4da8681440e5835ffe39b92.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=0
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=false
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

@ -0,0 +1,18 @@
[remap]
importer="MagicaVoxel.With.Extensions.To.Mesh"
type="Mesh"
uid="uid://buriebxfb3ule"
path="res://.godot/imported/g_f_grass.vox-d98f3cc9ea0fd1d1ad58cf3bc6447136.mesh"
[deps]
source_file="res://resource/mesh_level/g_f_grass.vox"
dest_files=["res://.godot/imported/g_f_grass.vox-d98f3cc9ea0fd1d1ad58cf3bc6447136.mesh"]
[params]
Scale=0.02
GreedyMeshGenerator=true
SnapToGround=false
FirstKeyframeOnly=true

File diff suppressed because one or more lines are too long

@ -1,36 +1,36 @@
[gd_scene load_steps=39 format=3 uid="uid://chau5lnq43oku"]
[gd_scene load_steps=36 format=3 uid="uid://b245llgradjqo"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_qxvm2"]
[ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_hr443"]
[ext_resource type="Texture2D" uid="uid://ccl81e2qroccb" path="res://render/texture/particle/shape/flare2.png" id="3_07ceg"]
[ext_resource type="Texture2D" uid="uid://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="3_wm7km"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="5_8l08i"]
[ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_loelc"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="5_rglhw"]
[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://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_qn2qa"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="6_hjawx"]
[ext_resource type="Texture2D" uid="uid://dg6i5l05y3vww" path="res://render/texture/particle/gradient/gradient2.png" id="7_thsmi"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="8_egr4r"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_hr443")
shader_parameter/is_billboard = null
shader_parameter/tex_main = ExtResource("3_07ceg")
shader = ExtResource("2_q8k2s")
shader_parameter/tex_main = ExtResource("3_a0k01")
[sub_resource type="Curve" id="Curve_n5hkj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.187692, 0.398295), -1.20613, -1.20613, 0, 0, Vector2(1, 0), 0.0806379, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_qqoo7"]
curve = SubResource("Curve_n5hkj")
[sub_resource type="Gradient" id="Gradient_wb6fx"]
offsets = PackedFloat32Array(0, 0.291429, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0.649479, 1, 1, 1, 0.223529, 1)
offsets = PackedFloat32Array(0, 0.20202, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.937017, 0.527629, 0.107744, 1, 0.929412, 0.470588, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ee1g0"]
gradient = SubResource("Gradient_wb6fx")
[sub_resource type="Curve" id="Curve_2o6rl"]
max_value = 1.5
_data = [Vector2(0, 0.758242), 0.0, 2.00769, 0, 0, Vector2(0.0394089, 1.08791), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
max_value = 2.0
_data = [Vector2(0, 0.758242), 0.0, 2.00769, 0, 0, Vector2(0.0394089, 1.08791), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_1vj45"]
@ -49,27 +49,19 @@ alpha_curve = SubResource("CurveTexture_qqoo7")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i0f24"]
render_priority = 0
shader = ExtResource("2_hr443")
shader_parameter/is_billboard = null
shader_parameter/tex_main = ExtResource("3_wm7km")
shader = ExtResource("2_q8k2s")
shader_parameter/tex_main = ExtResource("4_0du3d")
[sub_resource type="Curve" id="Curve_3uvr5"]
_data = [Vector2(0, 0.461538), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_1og0n"]
curve = SubResource("Curve_3uvr5")
[sub_resource type="Gradient" id="Gradient_tj5v6"]
offsets = PackedFloat32Array(0.0171429, 0.182857)
colors = PackedColorArray(0.952941, 1, 1, 1, 0.976471, 1, 0.396078, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_g0jyv"]
gradient = SubResource("Gradient_tj5v6")
[sub_resource type="Curve" id="Curve_8klc5"]
max_value = 2.0
_data = [Vector2(0, 0.615385), 0.0, 1.4, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
max_value = 4.0
_data = [Vector2(0, 1.9732), 0.0, 1.4, 0, 0, Vector2(1, 4), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_k3cwo"]
@ -81,14 +73,12 @@ angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_k3cwo")
color_ramp = SubResource("GradientTexture1D_g0jyv")
alpha_curve = SubResource("CurveTexture_1og0n")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_hr443")
shader_parameter/is_billboard = false
shader_parameter/tex_main = ExtResource("5_loelc")
shader = ExtResource("2_q8k2s")
shader_parameter/tex_main = ExtResource("5_qn2qa")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
@ -126,31 +116,24 @@ point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wpjie"]
curve = SubResource("Curve_axcwu")
[sub_resource type="Gradient" id="Gradient_q1rex"]
offsets = PackedFloat32Array(0, 0.285714, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0.52549, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_x4ksg"]
gradient = SubResource("Gradient_q1rex")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 4.0
initial_velocity_max = 5.0
color_ramp = SubResource("GradientTexture1D_x4ksg")
alpha_curve = SubResource("CurveTexture_wpjie")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrjt4"]
render_priority = 0
shader = ExtResource("5_rglhw")
shader_parameter/tex_main = ExtResource("5_8l08i")
shader = ExtResource("6_hjawx")
shader_parameter/tex_main = ExtResource("8_egr4r")
shader_parameter/tex_gradient = ExtResource("7_thsmi")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_hrjt4")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_qxvm2")
script = ExtResource("1_5j1nk")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
@ -184,7 +167,6 @@ material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
lifetime = 2.0
one_shot = true
explosiveness = 1.0
local_coords = true

@ -0,0 +1,184 @@
[gd_scene load_steps=36 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://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="Shader" path="res://render/shader/trail.gdshader" id="6_uy36j"]
[ext_resource type="Texture2D" uid="uid://dg6i5l05y3vww" path="res://render/texture/particle/gradient/gradient2.png" id="7_gafmx"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="7_qnuli"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_j4418")
shader_parameter/tex_main = ExtResource("3_46a2r")
[sub_resource type="Curve" id="Curve_sqmgo"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.166154, 0.865408), -1.20613, -1.20613, 0, 0, Vector2(1, 0), 0.0806379, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8mtv7"]
curve = SubResource("Curve_sqmgo")
[sub_resource type="Gradient" id="Gradient_phh0n"]
offsets = PackedFloat32Array(0, 0.20202, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.937017, 0.527629, 0.107744, 1, 0.929412, 0.470588, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_cnmsj"]
gradient = SubResource("Gradient_phh0n")
[sub_resource type="Curve" id="Curve_whpja"]
max_value = 3.0
_data = [Vector2(0, 0.758242), 0.0, 2.00769, 0, 0, Vector2(0.04, 1.50365), 0.0, 0.0, 0, 0, Vector2(1, 3), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_5bh6x"]
curve = SubResource("Curve_whpja")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_6au4p"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_5bh6x")
color_ramp = SubResource("GradientTexture1D_cnmsj")
alpha_curve = SubResource("CurveTexture_8mtv7")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i0f24"]
render_priority = 0
shader = ExtResource("2_j4418")
shader_parameter/tex_main = ExtResource("4_xpm5f")
[sub_resource type="Curve" id="Curve_wtvsj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_44xyr"]
curve = SubResource("Curve_wtvsj")
[sub_resource type="Curve" id="Curve_g8aux"]
max_value = 5.0
_data = [Vector2(0, 2.42692), 0.0, 1.4, 0, 0, Vector2(1, 5), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_ikpkp"]
curve = SubResource("Curve_g8aux")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_7his1"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_ikpkp")
alpha_curve = SubResource("CurveTexture_44xyr")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_j4418")
shader_parameter/tex_main = ExtResource("5_rp3hs")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wpjie"]
curve = SubResource("Curve_axcwu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 4.0
initial_velocity_max = 5.0
alpha_curve = SubResource("CurveTexture_wpjie")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrjt4"]
render_priority = 0
shader = ExtResource("6_uy36j")
shader_parameter/tex_main = ExtResource("7_qnuli")
shader_parameter/tex_gradient = ExtResource("7_gafmx")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_hrjt4")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_oydbn")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_6au4p")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Slash2" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_i0f24")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_7his1")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
emitting = false
lifetime = 0.3
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -0,0 +1,185 @@
[gd_scene load_steps=36 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://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_eshx2"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="6_geujg"]
[ext_resource type="Texture2D" uid="uid://dg6i5l05y3vww" path="res://render/texture/particle/gradient/gradient2.png" id="7_6xivr"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="7_lwyks"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_huo8i")
shader_parameter/tex_main = ExtResource("3_is87m")
[sub_resource type="Curve" id="Curve_n5hkj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.187692, 0.398295), -1.20613, -1.20613, 0, 0, Vector2(1, 0), 0.0806379, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_qqoo7"]
curve = SubResource("Curve_n5hkj")
[sub_resource type="Gradient" id="Gradient_wb6fx"]
offsets = PackedFloat32Array(0, 0.20202, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.937017, 0.527629, 0.107744, 1, 0.929412, 0.470588, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ee1g0"]
gradient = SubResource("Gradient_wb6fx")
[sub_resource type="Curve" id="Curve_2o6rl"]
max_value = 2.0
_data = [Vector2(0, 0.758242), 0.0, 2.00769, 0, 0, Vector2(0.0394089, 1.08791), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_1vj45"]
curve = SubResource("Curve_2o6rl")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_acw2w"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_1vj45")
color_ramp = SubResource("GradientTexture1D_ee1g0")
alpha_curve = SubResource("CurveTexture_qqoo7")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i0f24"]
render_priority = 0
shader = ExtResource("2_huo8i")
shader_parameter/tex_main = ExtResource("4_3vqto")
[sub_resource type="Curve" id="Curve_3uvr5"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_1og0n"]
curve = SubResource("Curve_3uvr5")
[sub_resource type="Curve" id="Curve_8klc5"]
max_value = 4.0
_data = [Vector2(0, 1.9732), 0.0, 1.4, 0, 0, Vector2(1, 4), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_k3cwo"]
curve = SubResource("Curve_8klc5")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_3w28u"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_k3cwo")
alpha_curve = SubResource("CurveTexture_1og0n")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_huo8i")
shader_parameter/tex_main = ExtResource("5_eshx2")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wpjie"]
curve = SubResource("Curve_axcwu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 4.0
initial_velocity_max = 5.0
alpha_curve = SubResource("CurveTexture_wpjie")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrjt4"]
render_priority = 0
shader = ExtResource("6_geujg")
shader_parameter/tex_main = ExtResource("7_lwyks")
shader_parameter/tex_gradient = ExtResource("7_6xivr")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_hrjt4")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_a6aoh")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_acw2w")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Slash2" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_i0f24")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_3w28u")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
visible = false
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
emitting = false
lifetime = 0.3
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -0,0 +1,186 @@
[gd_scene load_steps=36 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://bslhqlcg8cw2l" path="res://render/texture/particle/shape/flare3.png" id="4_pgf8e"]
[ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="5_ckbu8"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="6_r5wlh"]
[ext_resource type="Texture2D" uid="uid://dg6i5l05y3vww" path="res://render/texture/particle/gradient/gradient2.png" id="7_de557"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="7_ej28x"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_g5eyu")
shader_parameter/tex_main = ExtResource("3_da2in")
[sub_resource type="Curve" id="Curve_bsejh"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.187692, 0.398295), -1.20613, -1.20613, 0, 0, Vector2(1, 0), 0.0806379, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_xe31d"]
curve = SubResource("Curve_bsejh")
[sub_resource type="Gradient" id="Gradient_sywkr"]
offsets = PackedFloat32Array(0, 0.20202, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.937017, 0.527629, 0.107744, 1, 0.929412, 0.470588, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_4ugxc"]
gradient = SubResource("Gradient_sywkr")
[sub_resource type="Curve" id="Curve_jfe5q"]
max_value = 2.0
_data = [Vector2(0, 0.758242), 0.0, 2.00769, 0, 0, Vector2(0.0394089, 1.08791), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_6yrf4"]
curve = SubResource("Curve_jfe5q")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_wem0i"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_6yrf4")
color_ramp = SubResource("GradientTexture1D_4ugxc")
alpha_curve = SubResource("CurveTexture_xe31d")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_i0f24"]
render_priority = 0
shader = ExtResource("2_g5eyu")
shader_parameter/tex_main = ExtResource("4_pgf8e")
[sub_resource type="Curve" id="Curve_jeyum"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_y5usl"]
curve = SubResource("Curve_jeyum")
[sub_resource type="Curve" id="Curve_wswcr"]
max_value = 2.0
_data = [Vector2(0, 1.00244), 0.0, 1.4, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_p7m8e"]
curve = SubResource("Curve_wswcr")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_vnhmx"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_p7m8e")
alpha_curve = SubResource("CurveTexture_y5usl")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_g5eyu")
shader_parameter/tex_main = ExtResource("5_ckbu8")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wpjie"]
curve = SubResource("Curve_axcwu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 4.0
initial_velocity_max = 5.0
alpha_curve = SubResource("CurveTexture_wpjie")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hrjt4"]
render_priority = 0
shader = ExtResource("6_r5wlh")
shader_parameter/tex_main = ExtResource("7_ej28x")
shader_parameter/tex_gradient = ExtResource("7_de557")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_hrjt4")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_vgayn")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_wem0i")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Slash2" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_i0f24")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_vnhmx")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
visible = false
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
visible = false
emitting = false
lifetime = 0.3
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -0,0 +1,142 @@
[gd_scene load_steps=28 format=3 uid="uid://dvkfbt8pr02kc"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_s10io"]
[ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_0i1uu"]
[ext_resource type="Texture2D" uid="uid://bb0yfk0u4lqqn" path="res://render/texture/particle/shape/flare1.png" id="3_knvot"]
[ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="4_e2q44"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="5_2pulc"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="6_1vtca"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_0i1uu")
shader_parameter/tex_main = ExtResource("3_knvot")
[sub_resource type="Curve" id="Curve_n5hkj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.82266, 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_hdmmt"]
curve = SubResource("Curve_n5hkj")
[sub_resource type="Curve" id="Curve_2o6rl"]
max_value = 6.0
_data = [Vector2(0, 4.81319), 0.0, 9.63692, 0, 0, Vector2(0.123153, 6), 0.0, 0.0, 0, 0, Vector2(0.221675, 6), 0.0, 0.0, 0, 0, Vector2(1, 4.68132), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_5ce5r"]
curve = SubResource("Curve_2o6rl")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_acw2w"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_5ce5r")
color = Color(0.635294, 0.827451, 1, 1)
alpha_curve = SubResource("CurveTexture_hdmmt")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_0i1uu")
shader_parameter/tex_main = ExtResource("4_e2q44")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4i24b"]
curve = SubResource("Curve_axcwu")
[sub_resource type="Gradient" id="Gradient_q1rex"]
offsets = PackedFloat32Array(0, 0.285714, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0.52549, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xgy3m"]
gradient = SubResource("Gradient_q1rex")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 5.0
initial_velocity_max = 6.0
color_ramp = SubResource("GradientTexture1D_xgy3m")
alpha_curve = SubResource("CurveTexture_4i24b")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lf1fq"]
render_priority = 0
shader = ExtResource("5_2pulc")
shader_parameter/tex_main = ExtResource("6_1vtca")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_lf1fq")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_s10io")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_acw2w")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
lifetime = 2.0
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
emitting = false
lifetime = 0.2
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -0,0 +1,142 @@
[gd_scene load_steps=28 format=3 uid="uid://b2v07gnut0gax"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_fm5t7"]
[ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_olx82"]
[ext_resource type="Texture2D" uid="uid://bb0yfk0u4lqqn" path="res://render/texture/particle/shape/flare1.png" id="3_8lcfm"]
[ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="4_bhi5c"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="5_aikbl"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="6_06rdx"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_olx82")
shader_parameter/tex_main = ExtResource("3_8lcfm")
[sub_resource type="Curve" id="Curve_n5hkj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.82266, 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_hdmmt"]
curve = SubResource("Curve_n5hkj")
[sub_resource type="Curve" id="Curve_2o6rl"]
max_value = 6.0
_data = [Vector2(0, 4.81319), 0.0, 9.63692, 0, 0, Vector2(0.123153, 6), 0.0, 0.0, 0, 0, Vector2(0.221675, 6), 0.0, 0.0, 0, 0, Vector2(1, 4.68132), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_5ce5r"]
curve = SubResource("Curve_2o6rl")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_acw2w"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_5ce5r")
color = Color(0.635294, 0.827451, 1, 1)
alpha_curve = SubResource("CurveTexture_hdmmt")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_olx82")
shader_parameter/tex_main = ExtResource("4_bhi5c")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4i24b"]
curve = SubResource("Curve_axcwu")
[sub_resource type="Gradient" id="Gradient_q1rex"]
offsets = PackedFloat32Array(0, 0.285714, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0.52549, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xgy3m"]
gradient = SubResource("Gradient_q1rex")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 5.0
initial_velocity_max = 6.0
color_ramp = SubResource("GradientTexture1D_xgy3m")
alpha_curve = SubResource("CurveTexture_4i24b")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lf1fq"]
render_priority = 0
shader = ExtResource("5_aikbl")
shader_parameter/tex_main = ExtResource("6_06rdx")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_lf1fq")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_fm5t7")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_acw2w")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
lifetime = 2.0
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
emitting = false
lifetime = 0.2
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -0,0 +1,142 @@
[gd_scene load_steps=28 format=3 uid="uid://c7l4pddr4ifx8"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_ujq6t"]
[ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_fcn8h"]
[ext_resource type="Texture2D" uid="uid://bb0yfk0u4lqqn" path="res://render/texture/particle/shape/flare1.png" id="3_3pqvn"]
[ext_resource type="Texture2D" uid="uid://colhtjt8jon3v" path="res://render/texture/particle/shape/smoke.png" id="4_88sle"]
[ext_resource type="Shader" path="res://render/shader/trail.gdshader" id="5_8gb75"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="6_r0eh2"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dkmkb"]
render_priority = 0
shader = ExtResource("2_fcn8h")
shader_parameter/tex_main = ExtResource("3_3pqvn")
[sub_resource type="Curve" id="Curve_n5hkj"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.82266, 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_hdmmt"]
curve = SubResource("Curve_n5hkj")
[sub_resource type="Curve" id="Curve_2o6rl"]
max_value = 6.0
_data = [Vector2(0, 4.81319), 0.0, 9.63692, 0, 0, Vector2(0.123153, 6), 0.0, 0.0, 0, 0, Vector2(0.221675, 6), 0.0, 0.0, 0, 0, Vector2(1, 4.68132), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_5ce5r"]
curve = SubResource("Curve_2o6rl")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_acw2w"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_5ce5r")
color = Color(0.635294, 0.827451, 1, 1)
alpha_curve = SubResource("CurveTexture_hdmmt")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vkw8i"]
render_priority = 0
shader = ExtResource("2_fcn8h")
shader_parameter/tex_main = ExtResource("4_88sle")
[sub_resource type="Curve" id="Curve_didyq"]
_data = [Vector2(0, 0.32967), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3pi6l"]
curve = SubResource("Curve_didyq")
[sub_resource type="Curve" id="Curve_6dnuy"]
max_value = 4.0
_data = [Vector2(0, 1.75824), 0.0, 0.0, 0, 0, Vector2(1, 2.76923), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_skg43"]
curve = SubResource("Curve_6dnuy")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gjwvd"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
velocity_pivot = Vector3(0, 0, 1)
spread = 180.0
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_skg43")
color = Color(0.521569, 0.509804, 0.501961, 1)
alpha_curve = SubResource("CurveTexture_3pi6l")
[sub_resource type="QuadMesh" id="QuadMesh_0kefl"]
[sub_resource type="Curve" id="Curve_axcwu"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4i24b"]
curve = SubResource("Curve_axcwu")
[sub_resource type="Gradient" id="Gradient_q1rex"]
offsets = PackedFloat32Array(0, 0.285714, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0.52549, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xgy3m"]
gradient = SubResource("Gradient_q1rex")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_5lomq"]
spread = 180.0
initial_velocity_min = 5.0
initial_velocity_max = 6.0
color_ramp = SubResource("GradientTexture1D_xgy3m")
alpha_curve = SubResource("CurveTexture_4i24b")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lf1fq"]
render_priority = 0
shader = ExtResource("5_8gb75")
shader_parameter/tex_main = ExtResource("6_r0eh2")
[sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_urftu"]
material = SubResource("ShaderMaterial_lf1fq")
size = 0.1
[node name="Particle" type="Node3D"]
script = ExtResource("1_ujq6t")
[node name="Slash" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_dkmkb")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_acw2w")
draw_pass_1 = SubResource("QuadMesh_0j7av")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_vkw8i")
cast_shadow = 0
emitting = false
amount = 2
lifetime = 2.0
one_shot = true
explosiveness = 1.0
local_coords = true
process_material = SubResource("ParticleProcessMaterial_gjwvd")
draw_pass_1 = SubResource("QuadMesh_0kefl")
[node name="Flare" type="GPUParticles3D" parent="."]
emitting = false
lifetime = 0.2
one_shot = true
explosiveness = 1.0
trail_enabled = true
trail_lifetime = 0.1
process_material = SubResource("ParticleProcessMaterial_5lomq")
draw_pass_1 = SubResource("RibbonTrailMesh_urftu")

@ -10,4 +10,5 @@ script = ExtResource("1_kd50q")
[node name="ParticleSubEmitter" type="Node3D" parent="."]
script = ExtResource("2_osya7")
sub = ExtResource("3_o8j15")
count = 2
count_min = 2
count_max = 5

@ -0,0 +1,52 @@
[gd_scene load_steps=11 format=3 uid="uid://j8xmabthl02j"]
[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_jbaqi"]
[ext_resource type="Shader" path="res://render/shader/particle.gdshader" id="2_pfsoq"]
[ext_resource type="Texture2D" uid="uid://b0bmvub81xvmf" path="res://render/texture/particle/shape/glow.png" id="7_envuu"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cr7ha"]
render_priority = 0
shader = ExtResource("2_pfsoq")
shader_parameter/tex_main = ExtResource("7_envuu")
[sub_resource type="Curve" id="Curve_5nupr"]
_data = [Vector2(0, 0.461538), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_m4lq2"]
curve = SubResource("Curve_5nupr")
[sub_resource type="Curve" id="Curve_6ruxp"]
max_value = 2.0
_data = [Vector2(0, 0.615385), 0.0, 1.4, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_aphlc"]
curve = SubResource("Curve_6ruxp")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mkgun"]
particle_flag_disable_z = true
angle_min = 1.07288e-05
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_aphlc")
alpha_curve = SubResource("CurveTexture_m4lq2")
[sub_resource type="QuadMesh" id="QuadMesh_0j7av"]
[node name="Particle" type="Node3D"]
script = ExtResource("1_jbaqi")
is_billboard = true
[node name="Slash2" type="GPUParticles3D" parent="."]
layers = 512
material_override = SubResource("ShaderMaterial_cr7ha")
cast_shadow = 0
emitting = false
amount = 1
lifetime = 0.15
one_shot = true
fixed_fps = 60
local_coords = true
process_material = SubResource("ParticleProcessMaterial_mkgun")
draw_pass_1 = SubResource("QuadMesh_0j7av")

File diff suppressed because one or more lines are too long

@ -122,15 +122,14 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
#硬直等级
var break_level_def: int = cfg_to.shield.break_level_on if has_shield else cfg_to.shield.break_level_off
break_level_def += character_to.get_status("skill_break_level_add")
var break_level_sub: int = clampi(attack.break_level - break_level_def, 0, 3)
var break_level_sub: int = clampi(attack.break_level - break_level_def, -1, 3)
is_break_skill_real = break_level_sub > 0
is_break_skill = is_break_skill_real or not character_to.get_status("is_on_floor")
if break_level_sub < 0:
#硬直等级伤害修正
if break_level_sub == -1:
damage = 0
pause_time *= 2
elif break_level_sub == 0:
damage *= 0.5
pause_time *= 1.5
is_floating = is_break_skill and is_floating
is_hit_down = is_break_skill and is_hit_down
@ -154,6 +153,19 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
if is_kill:
character_to.add_buff("die", 1)
#破盾、格挡、击杀修正
if break_level_sub < 0:
pause_time = 0.15
break_level_sub = 0
elif break_level_sub == 0:
pause_time = 0.1
if is_break_shield:
pause_time = 0.2
break_level_sub = 2
elif is_kill:
pause_time = 0.3
break_level_sub = 3
#眩晕值累加
if not is_stun:
var stun_damage: float = attack.stun_attack
@ -246,14 +258,30 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
Global.item_mgr.create_pt(Enum.EPtType.MP, damage * Setting.pt_mp_damage_rate, character_to.pos())
#受击特效
var particle_hit: PackedScene
match attack.damage_type:
Enum.EDamageType.Sharp: character_to.cast_particle(ResourceManager.particle_hit_sharp, false)
Enum.EDamageType.Blunt: character_to.cast_particle(ResourceManager.particle_hit_blunt, false)
Enum.EDamageType.Ground: character_to.cast_particle(ResourceManager.particle_hit_ground, false)
Enum.EDamageType.Sharp:
match break_level_sub:
-1: particle_hit = ResourceManager.particle_hit_sharp_block
0: particle_hit = ResourceManager.particle_hit_sharp_normal
1: particle_hit = ResourceManager.particle_hit_sharp_normal
2: particle_hit = ResourceManager.particle_hit_sharp_mid
3: particle_hit = ResourceManager.particle_hit_sharp_heavy
Enum.EDamageType.Blunt:
match break_level_sub:
-1: particle_hit = ResourceManager.particle_hit_blunt_block
0: particle_hit = ResourceManager.particle_hit_blunt_normal
1: particle_hit = ResourceManager.particle_hit_blunt_normal
2: particle_hit = ResourceManager.particle_hit_blunt_mid
3: particle_hit = ResourceManager.particle_hit_blunt_heavy
Enum.EDamageType.Ground:
particle_hit = ResourceManager.particle_hit_ground
_: pass
if particle_hit:
character_to.cast_particle(particle_hit, false)
#受击材质特效
if damage>0:
if (damage > 0) and (break_level_sub > 2):
var material: Enum.EMaterial = cfg_to.material_on if has_shield else cfg_to.material_off
match material:
Enum.EMaterial.Cloth: character_to.cast_particle(ResourceManager.particle_material_cloth, false)
@ -265,12 +293,6 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul
#闪白
character_to.add_buff("flash_white", 0.1)
#卡帧时间修正
if is_break_shield:
pause_time = 0.15
elif is_kill:
pause_time = 0.3
#卡帧
if not is_bullet:
character_from.set_pause_time(pause_time)

@ -2,10 +2,12 @@ extends EffectBase
class_name ParticleSubEmitter
@export var sub: PackedScene
@export var count: int = 1
@export var count_min: int = 1
@export var count_max: int = 1
func on_ready():
var count: int = randi_range(count_min, count_max)
for i in range(count):
var sub_particle: Node3D = sub.instantiate() as Node3D
SignalManager.effect_create.emit(sub_particle)

@ -9,7 +9,7 @@ var type: Enum.EPtType
var value: int = 1
var velocity_min: Vector2 = Vector2.RIGHT *1
var velocity_max: Vector2 = Vector2.ONE *4
var born_time: float = 1.0 #生成时间,无法收集
var born_time: float = 0.5 #生成时间,无法收集
var alive_time: float = 10.0 #存活时间
var is_born: bool = false
var is_init: bool = false
@ -20,7 +20,7 @@ var follow_dist_max: float = 5.0
@onready var sprite3D: Sprite3D = %Sprite3D as Sprite3D
@onready var collision_shape: CollisionShape3D = %CollisionShape3D as CollisionShape3D
var frame_rate: float = 0.1
var frame_rate: float = 0.05
var frame_time: float = 0
@ -106,4 +106,5 @@ func collect() -> void:
Enum.EPtType.HP: target.add_hp(value)
Enum.EPtType.MP: target.add_mp_sub(value, true)
_: pass
target.cast_particle(ResourceManager.particle_pt_collect, true)
queue_free()

@ -14,11 +14,19 @@ var material_character: Material = load("res://render/material/character.tre
var material_character_sub: Material = load("res://render/material/character_sub.tres") as Material
#==effect==
#hit
var particle_hit_sharp: PackedScene = load("res://scene/effect/particle/particle_hit_sharp.tscn")
var particle_hit_blunt: PackedScene = load("res://scene/effect/particle/particle_hit_blunt.tscn")
var particle_hit_ground: PackedScene = load("res://scene/effect/particle/particle_hit_ground.tscn")
var particle_hit_blunt_normal: PackedScene = load("res://scene/effect/particle/particle_hit_blunt_normal.tscn")
var particle_hit_blunt_mid: PackedScene = load("res://scene/effect/particle/particle_hit_blunt_mid.tscn")
var particle_hit_blunt_heavy: PackedScene = load("res://scene/effect/particle/particle_hit_blunt_heavy.tscn")
var particle_hit_blunt_block: PackedScene = load("res://scene/effect/particle/particle_hit_blunt_block.tscn")
var particle_hit_sharp_normal: PackedScene = load("res://scene/effect/particle/particle_hit_sharp_normal.tscn")
var particle_hit_sharp_mid: PackedScene = load("res://scene/effect/particle/particle_hit_sharp_mid.tscn")
var particle_hit_sharp_heavy: PackedScene = load("res://scene/effect/particle/particle_hit_sharp_heavy.tscn")
var particle_hit_sharp_block: PackedScene = load("res://scene/effect/particle/particle_hit_sharp_block.tscn")
var particle_hit_ground: PackedScene = load("res://scene/effect/particle/particle_hit_ground.tscn")
#hit_material
var particle_material_cloth: PackedScene = load("res://scene/effect/particle/particle_material_cloth.tscn")
#collect
var particle_pt_collect: PackedScene = load("res://scene/effect/particle/particle_pt_collect.tscn")
#warn
var particle_warn_normal: PackedScene = load("res://scene/effect/particle/particle_warn_normal.tscn")
var particle_warn_mid: PackedScene = load("res://scene/effect/particle/particle_warn_mid.tscn")

Loading…
Cancel
Save