速度线特效

master
chendian 2 years ago
parent 5c2dcabe48
commit a3a6f1eb18

@ -1,22 +0,0 @@
[gd_resource type="ParticleProcessMaterial" load_steps=5 format=3 uid="uid://bns2vfyf2qy6u"]
[sub_resource type="Gradient" id="Gradient_fjosh"]
offsets = PackedFloat32Array(0, 0.0894942, 0.684825, 1)
colors = PackedColorArray(0.278431, 0.65098, 1, 0, 0.278431, 0.65098, 1, 1, 0.278431, 0.65098, 1, 0.941176, 0.278431, 0.65098, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_cypke"]
gradient = SubResource("Gradient_fjosh")
[sub_resource type="Curve" id="Curve_igjlk"]
min_value = 2.0
max_value = 4.0
_data = [Vector2(0, 4), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_5xayb"]
curve = SubResource("Curve_igjlk")
[resource]
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_5xayb")
color_ramp = SubResource("GradientTexture1D_cypke")

@ -2,9 +2,13 @@ shader_type canvas_item;
uniform float shift_strength : hint_range(0.0, 1.0); uniform float shift_strength : hint_range(0.0, 1.0);
uniform float blur_strength : hint_range(0.0, 1.0); uniform float blur_strength : hint_range(0.0, 1.0);
uniform float speed_line_strength : hint_range(0.0, 1.0);
uniform float vignette_alpha : hint_range(0.0, 1.0); uniform float vignette_alpha : hint_range(0.0, 1.0);
uniform float vignette_inner : hint_range(0.0, 1.0) = 0.5; uniform float vignette_inner : hint_range(0.0, 1.0) = 0.5;
uniform float vignette_outer : hint_range(0.0, 2.0) = 1.0; uniform float vignette_outer : hint_range(0.0, 2.0) = 1.0;
uniform sampler2D speed_line_tex1;
uniform sampler2D speed_line_tex2;
uniform sampler2D speed_line_tex3;
void fragment() { void fragment() {
vec3 color = vec3(0); vec3 color = vec3(0);
@ -30,5 +34,21 @@ void fragment() {
float q = 1.0-(1.0-sqrt(x*x+y*y)/vignette_outer)/(1.0-vignette_inner); float q = 1.0-(1.0-sqrt(x*x+y*y)/vignette_outer)/(1.0-vignette_inner);
q = clamp(q*vignette_alpha,0.0,1.1); q = clamp(q*vignette_alpha,0.0,1.1);
color *= (1.0-q); color *= (1.0-q);
//速度线
if(speed_line_strength>0.0){
float speed_line_color = 0.0;
float select_value = mod(TIME/10.0, 3.0);
if(select_value<1.0){
speed_line_color = texture(speed_line_tex1, UV).r;
}else if(select_value<2.0){
speed_line_color = texture(speed_line_tex2, UV).r;
}else{
speed_line_color = texture(speed_line_tex3, UV).r;
}
speed_line_color *= speed_line_strength;
color *= (1.0-speed_line_color);
}
COLOR.rgb = color; COLOR.rgb = color;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cvv3ctakvo8oc"
path="res://.godot/imported/speed_line1.png-b08e6bbdf18e6d0744fc031a0a6a607f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://render/texture/post_process/speed_line1.png"
dest_files=["res://.godot/imported/speed_line1.png-b08e6bbdf18e6d0744fc031a0a6a607f.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: 536 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2w4aq7twu2p4"
path="res://.godot/imported/speed_line2.png-0599b09acf29c9ac37607b52f9f9cb8c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://render/texture/post_process/speed_line2.png"
dest_files=["res://.godot/imported/speed_line2.png-0599b09acf29c9ac37607b52f9f9cb8c.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: 603 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xxcnffhhhbwf"
path="res://.godot/imported/speed_line3.png-113148b8ca5543bf810f2d63e61cfe34.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://render/texture/post_process/speed_line3.png"
dest_files=["res://.godot/imported/speed_line3.png-113148b8ca5543bf810f2d63e61cfe34.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

@ -105,3 +105,26 @@ tracks/7/keys = {
"update": 1, "update": 1,
"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] "values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
} }
tracks/8/type = "method"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Effect")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"values": [{
"args": [],
"method": &"cast_after_image"
}, {
"args": [],
"method": &"cast_after_image"
}, {
"args": [],
"method": &"cast_after_image"
}, {
"args": [],
"method": &"cast_after_image"
}]
}

@ -1,19 +1,30 @@
[gd_scene load_steps=8 format=3 uid="uid://ba7pkdaq5y8nl"] [gd_scene load_steps=10 format=3 uid="uid://ba7pkdaq5y8nl"]
[ext_resource type="PackedScene" uid="uid://8rcvw1vnjcf7" path="res://scene/character/character.tscn" id="1_pot50"] [ext_resource type="PackedScene" uid="uid://8rcvw1vnjcf7" path="res://scene/character/character.tscn" id="1_pot50"]
[ext_resource type="Script" path="res://script/character/player/combo.gd" id="2_i44w8"] [ext_resource type="Script" path="res://script/character/player/combo.gd" id="2_i44w8"]
[ext_resource type="SpriteFrames" uid="uid://cajgs8smbkjan" path="res://resource/animation/character/hero01_fist_skill01.aseprite" id="2_rubkv"] [ext_resource type="SpriteFrames" uid="uid://bhsotj76tuovy" path="res://resource/animation/character/hero01_fist_attack.aseprite" id="2_kqo4a"]
[ext_resource type="AnimationLibrary" uid="uid://croik07a1qko5" path="res://resource/skill_animation_library/animation_library.tres" id="3_io1si"]
[ext_resource type="Script" path="res://script/character/player/player_input.gd" id="3_n07go"] [ext_resource type="Script" path="res://script/character/player/player_input.gd" id="3_n07go"]
[ext_resource type="Script" path="res://script/character/player/core.gd" id="3_rxdse"] [ext_resource type="Script" path="res://script/character/player/core.gd" id="3_rxdse"]
[ext_resource type="Script" path="res://script/character/skill.gd" id="4_j6kp0"]
[ext_resource type="Script" path="res://script/character/player/player_info.gd" id="4_mi1lk"] [ext_resource type="Script" path="res://script/character/player/player_info.gd" id="4_mi1lk"]
[ext_resource type="Script" path="res://script/character/player/player_action.gd" id="5_gum7v"] [ext_resource type="Script" path="res://script/character/player/player_action.gd" id="5_gum7v"]
[node name="Character" instance=ExtResource("1_pot50")] [node name="Character" instance=ExtResource("1_pot50")]
[node name="Status" parent="." index="1"]
speed_up_rate = 0.0
[node name="View" parent="." index="2"] [node name="View" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.693056, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.693056, 0)
sprite_frames = ExtResource("2_rubkv") sprite_frames = ExtResource("2_kqo4a")
animation = &"fist_air_skill01" animation = &"fist_attack05"
[node name="Skill" type="AnimationPlayer" parent="Skill" index="0"]
libraries = {
"animation_library": ExtResource("3_io1si")
}
script = ExtResource("4_j6kp0")
[node name="Combo" type="Node3D" parent="." index="8"] [node name="Combo" type="Node3D" parent="." index="8"]
unique_name_in_owner = true unique_name_in_owner = true
@ -33,3 +44,5 @@ script = ExtResource("5_gum7v")
[node name="PlayerInfo" type="Node3D" parent="." index="12"] [node name="PlayerInfo" type="Node3D" parent="." index="12"]
script = ExtResource("4_mi1lk") script = ExtResource("4_mi1lk")
[connection signal="animation_finished" from="Skill/Skill" to="Skill/Skill" method="_on_animation_finished"]

@ -1,11 +1,14 @@
[gd_scene load_steps=17 format=3 uid="uid://eoydwrunmm5n"] [gd_scene load_steps=20 format=3 uid="uid://eoydwrunmm5n"]
[ext_resource type="Script" path="res://script/manager/game_manager.gd" id="1_q2t80"] [ext_resource type="Script" path="res://script/manager/game_manager.gd" id="1_q2t80"]
[ext_resource type="Script" path="res://script/manager/level_manager.gd" id="2_ewhkj"] [ext_resource type="Script" path="res://script/manager/level_manager.gd" id="2_ewhkj"]
[ext_resource type="Shader" path="res://render/shader/post_process.gdshader" id="2_iwyj8"] [ext_resource type="Shader" path="res://render/shader/post_process.gdshader" id="2_iwyj8"]
[ext_resource type="Script" path="res://script/_global/stage.gd" id="2_lxgiw"] [ext_resource type="Script" path="res://script/_global/stage.gd" id="2_lxgiw"]
[ext_resource type="Texture2D" uid="uid://cvv3ctakvo8oc" path="res://render/texture/post_process/speed_line1.png" id="3_7ve12"]
[ext_resource type="Texture2D" uid="uid://b2w4aq7twu2p4" path="res://render/texture/post_process/speed_line2.png" id="4_l4kqm"]
[ext_resource type="Script" path="res://script/manager/character_manager.gd" id="4_oonkb"] [ext_resource type="Script" path="res://script/manager/character_manager.gd" id="4_oonkb"]
[ext_resource type="Script" path="res://script/manager/camera_manager.gd" id="4_yqiun"] [ext_resource type="Script" path="res://script/manager/camera_manager.gd" id="4_yqiun"]
[ext_resource type="Texture2D" uid="uid://xxcnffhhhbwf" path="res://render/texture/post_process/speed_line3.png" id="5_id75t"]
[ext_resource type="Script" path="res://script/editor_tool/editor_tool.gd" id="5_n3qhi"] [ext_resource type="Script" path="res://script/editor_tool/editor_tool.gd" id="5_n3qhi"]
[ext_resource type="PackedScene" uid="uid://cc525u8auypjf" path="res://scene/ui/profile_screen.tscn" id="6_u1fxn"] [ext_resource type="PackedScene" uid="uid://cc525u8auypjf" path="res://scene/ui/profile_screen.tscn" id="6_u1fxn"]
[ext_resource type="PackedScene" uid="uid://126wph4owvoy" path="res://scene/ui/hud_screen.tscn" id="7_gx646"] [ext_resource type="PackedScene" uid="uid://126wph4owvoy" path="res://scene/ui/hud_screen.tscn" id="7_gx646"]
@ -19,9 +22,13 @@
shader = ExtResource("2_iwyj8") shader = ExtResource("2_iwyj8")
shader_parameter/shift_strength = 0.0 shader_parameter/shift_strength = 0.0
shader_parameter/blur_strength = 0.0 shader_parameter/blur_strength = 0.0
shader_parameter/speed_line_strength = 0.0
shader_parameter/vignette_alpha = 0.347 shader_parameter/vignette_alpha = 0.347
shader_parameter/vignette_inner = 0.633 shader_parameter/vignette_inner = 0.633
shader_parameter/vignette_outer = 1.339 shader_parameter/vignette_outer = 1.339
shader_parameter/speed_line_tex1 = ExtResource("3_7ve12")
shader_parameter/speed_line_tex2 = ExtResource("4_l4kqm")
shader_parameter/speed_line_tex3 = ExtResource("5_id75t")
[sub_resource type="Curve" id="Curve_f8hvs"] [sub_resource type="Curve" id="Curve_f8hvs"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.501961, 1), 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(0.501961, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]

@ -13,4 +13,4 @@ enum EStance {
} }
enum EBreakLevel {None, Cancel, Jump, Break, Walk} #不可打断 取消技打断 跳跃打断 连招打断 行走打断 enum EBreakLevel {None, Cancel, Jump, Break, Walk} #不可打断 取消技打断 跳跃打断 连招打断 行走打断
enum ECoreType {Free ,Lock, Passive} enum ECoreType {Free ,Lock, Passive}
enum EGlobalEffect {CameraSize,CameraShake,ColorShift,Blur} enum EGlobalEffect {CameraSize,CameraShake,ColorShift,Blur,SpeedLine}

@ -57,6 +57,7 @@ func update_global_effect(delta):
Enum.EGlobalEffect.CameraShake: shake_offset_x = (sin(rate * PI * 10) - 0.5)*0.04*value Enum.EGlobalEffect.CameraShake: shake_offset_x = (sin(rate * PI * 10) - 0.5)*0.04*value
Enum.EGlobalEffect.ColorShift:Global.view_mgr.set_post_processing("shift_strength",value) Enum.EGlobalEffect.ColorShift:Global.view_mgr.set_post_processing("shift_strength",value)
Enum.EGlobalEffect.Blur:Global.view_mgr.set_post_processing("blur_strength",value) Enum.EGlobalEffect.Blur:Global.view_mgr.set_post_processing("blur_strength",value)
Enum.EGlobalEffect.SpeedLine:Global.view_mgr.set_post_processing("speed_line_strength",value)
for global_effect : GlobalEffect in remove_list: for global_effect : GlobalEffect in remove_list:
global_effect_list.erase(global_effect) global_effect_list.erase(global_effect)
@ -144,22 +145,5 @@ func effect(pause_time):
add_global_effect(Enum.EGlobalEffect.CameraSize,effect_time,0.4 * rate) add_global_effect(Enum.EGlobalEffect.CameraSize,effect_time,0.4 * rate)
add_global_effect(Enum.EGlobalEffect.ColorShift,effect_time,0.8 * rate) add_global_effect(Enum.EGlobalEffect.ColorShift,effect_time,0.8 * rate)
add_global_effect(Enum.EGlobalEffect.Blur,effect_time,0.8 * rate) add_global_effect(Enum.EGlobalEffect.Blur,effect_time,0.8 * rate)
#add_global_effect(Enum.EGlobalEffect.SpeedLine,effect_time,0.2* rate)
func effect_normal():
add_global_effect(Enum.EGlobalEffect.CameraShake,0.2,0.2)
add_global_effect(Enum.EGlobalEffect.CameraSize,0.2,0.02)
add_global_effect(Enum.EGlobalEffect.ColorShift,0.2,0.2)
add_global_effect(Enum.EGlobalEffect.Blur,0.2,0.1)
func effect_mid():
add_global_effect(Enum.EGlobalEffect.CameraShake,0.3,0.4)
add_global_effect(Enum.EGlobalEffect.CameraSize,0.3,0.2)
add_global_effect(Enum.EGlobalEffect.ColorShift,0.3,0.4)
add_global_effect(Enum.EGlobalEffect.Blur,0.3,0.4)
func effect_strong():
add_global_effect(Enum.EGlobalEffect.CameraShake,0.4,0.8)
add_global_effect(Enum.EGlobalEffect.CameraSize,0.4,0.4)
add_global_effect(Enum.EGlobalEffect.ColorShift,0.4,0.8)
add_global_effect(Enum.EGlobalEffect.Blur,0.4,0.8)

Loading…
Cancel
Save