From 1a0c237b019ef8693c10380421a9371d3521f430 Mon Sep 17 00:00:00 2001 From: chendian <-> Date: Tue, 24 Sep 2024 22:29:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=97=E5=87=BB=E8=A1=80=E6=B8=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/character/monster00.tres | 2 ++ render/material/fragment.tres | 9 +++++ render/shader/fragment.gdshader | 10 ++++++ .../texture/particle/gradient/gradient3.png | Bin 0 -> 86 bytes .../particle/gradient/gradient3.png.import | 34 ++++++++++++++++++ render/texture/particle/shape/circle2.png | Bin 30403 -> 31009 bytes render/texture/particle/shape/fragment1.png | Bin 0 -> 12125 bytes .../particle/shape/fragment1.png.import | 34 ++++++++++++++++++ render/texture/particle/shape/water1.png | Bin 0 -> 8706 bytes .../texture/particle/shape/water1.png.import | 34 ++++++++++++++++++ .../effect/particle/particle_blood_decal.tscn | 29 +++++++++++++++ scene/effect/particle/particle_fragment.tscn | 28 +++++++++++++++ .../particle/particle_material_cloth.tscn | 13 +++++++ scene/level/level.tscn | 2 +- script/_global/enum.gd | 3 +- script/_global/setting.gd | 2 +- script/_global/util.gd | 4 +++ script/character/battle.gd | 7 ++++ script/config/character_cfg.gd | 3 ++ script/effect/fragment.gd | 34 ++++++++++++++++++ script/effect/particle.gd | 14 +++++--- script/effect/particle_decal.gd | 5 +++ script/effect/particle_sub_emitter.gd | 12 +++++++ script/manager/resource_manager.gd | 2 ++ 24 files changed, 273 insertions(+), 8 deletions(-) create mode 100644 render/material/fragment.tres create mode 100644 render/shader/fragment.gdshader create mode 100644 render/texture/particle/gradient/gradient3.png create mode 100644 render/texture/particle/gradient/gradient3.png.import create mode 100644 render/texture/particle/shape/fragment1.png create mode 100644 render/texture/particle/shape/fragment1.png.import create mode 100644 render/texture/particle/shape/water1.png create mode 100644 render/texture/particle/shape/water1.png.import create mode 100644 scene/effect/particle/particle_blood_decal.tscn create mode 100644 scene/effect/particle/particle_fragment.tscn create mode 100644 scene/effect/particle/particle_material_cloth.tscn create mode 100644 script/effect/fragment.gd create mode 100644 script/effect/particle_sub_emitter.gd diff --git a/config/character/monster00.tres b/config/character/monster00.tres index 5a46fd0..c2f29a0 100644 --- a/config/character/monster00.tres +++ b/config/character/monster00.tres @@ -23,3 +23,5 @@ ai = ExtResource("1_lsd6j") hp_max = 1000.0 attack = 10.0 sub_character_auto_create = false +material_on = 1 +material_off = 1 diff --git a/render/material/fragment.tres b/render/material/fragment.tres new file mode 100644 index 0000000..2c61bde --- /dev/null +++ b/render/material/fragment.tres @@ -0,0 +1,9 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://b3mpocbc8svx2"] + +[ext_resource type="Shader" path="res://render/shader/fragment.gdshader" id="1_hr2a5"] +[ext_resource type="Texture2D" uid="uid://bcrr12gbos636" path="res://render/texture/particle/shape/fragment1.png" id="2_r0lv7"] + +[resource] +render_priority = 0 +shader = ExtResource("1_hr2a5") +shader_parameter/tex_main = ExtResource("2_r0lv7") diff --git a/render/shader/fragment.gdshader b/render/shader/fragment.gdshader new file mode 100644 index 0000000..eab3a59 --- /dev/null +++ b/render/shader/fragment.gdshader @@ -0,0 +1,10 @@ +shader_type spatial; +render_mode unshaded; + +uniform sampler2D tex_main : source_color; + +void fragment() { + vec4 col = texture(tex_main, UV); + ALBEDO = COLOR.rgb * col.r; + ALPHA = COLOR.a * col.r; +} diff --git a/render/texture/particle/gradient/gradient3.png b/render/texture/particle/gradient/gradient3.png new file mode 100644 index 0000000000000000000000000000000000000000..e355fd502d370ec12b5474bdb764c9f7193ef31c GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-r!3HGvcdbbWaf*Z7ofy`glX(f`2za_UhH%VG hPDx1kao(VTfuXjQk#0n_K;OXk;vd$@?2>|a<6Z8N8 literal 0 HcmV?d00001 diff --git a/render/texture/particle/gradient/gradient3.png.import b/render/texture/particle/gradient/gradient3.png.import new file mode 100644 index 0000000..cfbc163 --- /dev/null +++ b/render/texture/particle/gradient/gradient3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2tcm2g7sh1ne" +path="res://.godot/imported/gradient3.png-b722dde19beb65f5e22df2428d9b9ef1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://render/texture/particle/gradient/gradient3.png" +dest_files=["res://.godot/imported/gradient3.png-b722dde19beb65f5e22df2428d9b9ef1.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 diff --git a/render/texture/particle/shape/circle2.png b/render/texture/particle/shape/circle2.png index c98836c3fcdb634258cde688d0b9443debd8786a..5241c3be2be7e66fc0ef2c27404c0c778bdf0565 100644 GIT binary patch literal 31009 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ν4!UdWo=ju{=aywSd=gg4! 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 pI{BfUX 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 literal 0 HcmV?d00001 diff --git a/render/texture/particle/shape/water1.png.import b/render/texture/particle/shape/water1.png.import new file mode 100644 index 0000000..b09a636 --- /dev/null +++ b/render/texture/particle/shape/water1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcj75sifltene" +path="res://.godot/imported/water1.png-d5bc510fd51cdecdbbc1f1f7e7841665.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://render/texture/particle/shape/water1.png" +dest_files=["res://.godot/imported/water1.png-d5bc510fd51cdecdbbc1f1f7e7841665.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 diff --git a/scene/effect/particle/particle_blood_decal.tscn b/scene/effect/particle/particle_blood_decal.tscn new file mode 100644 index 0000000..40023bb --- /dev/null +++ b/scene/effect/particle/particle_blood_decal.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=6 format=3 uid="uid://ccxyyunj4ohqt"] + +[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_6r6qw"] +[ext_resource type="Script" path="res://script/effect/particle_decal.gd" id="3_yeg2u"] +[ext_resource type="Texture2D" uid="uid://b6bfacouwy2hi" path="res://render/texture/decal/decal_glow.png" id="6_8db0o"] + +[sub_resource type="Gradient" id="Gradient_jevf8"] +offsets = PackedFloat32Array(0, 0.82808, 1) +colors = PackedColorArray(1, 0, 0, 1, 1, 0, 0, 0.805158, 1, 0, 0, 0) + +[sub_resource type="Curve" id="Curve_w5jkx"] +max_value = 0.6 +_data = [Vector2(0, 0.31259), 0.0, 0.953112, 0, 0, Vector2(0.0742705, 0.500205), 0.0, 0.0, 0, 0, Vector2(0.143236, 0.456295), 0.0, 0.0, 0, 0, Vector2(1, 0.6), 0.0, 0.0, 0, 0] +point_count = 4 + +[node name="Particle" type="Node3D"] +script = ExtResource("1_6r6qw") + +[node name="DecalBlood" type="Decal" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.358925, 0) +size = Vector3(0.5, 5, 0.5) +texture_albedo = ExtResource("6_8db0o") +modulate = Color(0, 0, 0, 1) +upper_fade = 21.3037 +cull_mask = 1 +script = ExtResource("3_yeg2u") +lifetime = 3.0 +gradient = SubResource("Gradient_jevf8") +scale_curve = SubResource("Curve_w5jkx") diff --git a/scene/effect/particle/particle_fragment.tscn b/scene/effect/particle/particle_fragment.tscn new file mode 100644 index 0000000..694a167 --- /dev/null +++ b/scene/effect/particle/particle_fragment.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=6 format=3 uid="uid://b0ogpoluxbsxx"] + +[ext_resource type="Script" path="res://script/effect/fragment.gd" id="1_blddo"] +[ext_resource type="Material" uid="uid://b3mpocbc8svx2" path="res://render/material/fragment.tres" id="2_cd8nd"] +[ext_resource type="PackedScene" uid="uid://ccxyyunj4ohqt" path="res://scene/effect/particle/particle_blood_decal.tscn" id="2_hrv13"] +[ext_resource type="Texture2D" uid="uid://bcrr12gbos636" path="res://render/texture/particle/shape/fragment1.png" id="3_vu5gy"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_1r022"] +radius = 0.1 + +[node name="Fragment" type="CharacterBody3D"] +collision_layer = 256 +script = ExtResource("1_blddo") +sub = ExtResource("2_hrv13") +velocity_min = Vector2(1, 2) +velocity_max = Vector2(2, 4) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("SphereShape3D_1r022") + +[node name="Sprite3D" type="Sprite3D" parent="."] +unique_name_in_owner = true +material_override = ExtResource("2_cd8nd") +modulate = Color(1, 0, 0, 1) +pixel_size = 0.004 +texture = ExtResource("3_vu5gy") +hframes = 2 +vframes = 2 diff --git a/scene/effect/particle/particle_material_cloth.tscn b/scene/effect/particle/particle_material_cloth.tscn new file mode 100644 index 0000000..d50a8fe --- /dev/null +++ b/scene/effect/particle/particle_material_cloth.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=4 format=3 uid="uid://j0wrno4hl0hp"] + +[ext_resource type="Script" path="res://script/effect/particle.gd" id="1_kd50q"] +[ext_resource type="Script" path="res://script/effect/particle_sub_emitter.gd" id="2_osya7"] +[ext_resource type="PackedScene" uid="uid://b0ogpoluxbsxx" path="res://scene/effect/particle/particle_fragment.tscn" id="3_o8j15"] + +[node name="Particle" type="Node3D"] +script = ExtResource("1_kd50q") + +[node name="ParticleSubEmitter" type="Node3D" parent="."] +script = ExtResource("2_osya7") +sub = ExtResource("3_o8j15") +count = 2 diff --git a/scene/level/level.tscn b/scene/level/level.tscn index 3a38080..de737fd 100644 --- a/scene/level/level.tscn +++ b/scene/level/level.tscn @@ -73,7 +73,7 @@ metadata/_editor_floor_ = Vector3(0, 1, 0) [node name="BornPos" type="Node3D" parent="."] unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45.961, 5.12, 5.12) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.56, 2.56, 0) [node name="Levels" type="Node3D" parent="."] unique_name_in_owner = true diff --git a/script/_global/enum.gd b/script/_global/enum.gd index 5fb684e..2f58f39 100644 --- a/script/_global/enum.gd +++ b/script/_global/enum.gd @@ -18,4 +18,5 @@ enum EBreakLevel {None, Cancel, Jump, Break, Walk} #不可打断 取消技打断 enum ECoreType {Active, Passive} enum EGlobalEffect {CameraSize, CameraShake, ColorShift, Blur, SpeedLine} enum EAIRoleType {None, Saber, Assassin, Caster} -enum ESkillWarnType {None, Normal, Mid, Heavy} \ No newline at end of file +enum ESkillWarnType {None, Normal, Mid, Heavy} +enum EMaterial {None, Cloth, Steel} \ No newline at end of file diff --git a/script/_global/setting.gd b/script/_global/setting.gd index 726cb60..47c5eab 100644 --- a/script/_global/setting.gd +++ b/script/_global/setting.gd @@ -4,7 +4,7 @@ extends Node3D const pixel_size: float = 0.02 const grid_pixel_size: float = 32 const animation_frame_rate: float = 0.1 -const animation_speed_scale: float = 1.1 +const animation_speed_scale: float = 1.0 #技能系统 const input_alive_time: float = 0.5 #移动 diff --git a/script/_global/util.gd b/script/_global/util.gd index 1e4f794..ac9960e 100644 --- a/script/_global/util.gd +++ b/script/_global/util.gd @@ -15,6 +15,10 @@ func dir_angle(dir: Vector2) -> float: return dir.angle_to(Vector2.RIGHT) +func angle_dir(angle: float) -> Vector2: + return Vector2.RIGHT.rotated(angle) + + func vector_reduce(vector: Vector2, reduce: float) -> Vector2: var length: float = vector.length() if length == 0: diff --git a/script/character/battle.gd b/script/character/battle.gd index 673d9fb..837add1 100644 --- a/script/character/battle.gd +++ b/script/character/battle.gd @@ -243,6 +243,13 @@ func add_attack(from: int, to: int, dir: Vector2, attack: AttackCfg) -> HitResul Enum.EDamageType.Blunt: character_to.cast_particle(ResourceManager.particle_hit_blunt, false) Enum.EDamageType.Ground: character_to.cast_particle(ResourceManager.particle_hit_ground, false) _: pass + + #受击材质特效 + if damage>0: + 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) + _: pass #抖动 character_to.add_buff("shake_x", 0.2, true) diff --git a/script/config/character_cfg.gd b/script/config/character_cfg.gd index 5d45b69..e95f2cc 100644 --- a/script/config/character_cfg.gd +++ b/script/config/character_cfg.gd @@ -24,6 +24,9 @@ class_name CharacterCfg @export var attack2_box: AttackBoxCfg @export var sub_character: CharacterCfg @export var sub_character_auto_create: bool +#材质 +@export var material_on: Enum.EMaterial = Enum.EMaterial.None #有护盾时材质 +@export var material_off: Enum.EMaterial = Enum.EMaterial.None #无护盾时材质 var core_cfg_list: Array[CoreCfg] diff --git a/script/effect/fragment.gd b/script/effect/fragment.gd new file mode 100644 index 0000000..2d18e00 --- /dev/null +++ b/script/effect/fragment.gd @@ -0,0 +1,34 @@ +extends CharacterBody3D +class_name Fragment + +@export var sub: PackedScene +@export var gravity_scale: float = 1.0 +@export var velocity_min: Vector2 = Vector2.ONE +@export var velocity_max: Vector2 = Vector2.ONE + +@onready var sprite3D: Sprite3D = %Sprite3D as Sprite3D + +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") +var frame_rate: float = 0.1 +var frame_time: float = 0 + + +func _ready(): + var dir: Vector2 = Util.angle_dir(randf_range(0, 360)) * randf_range(velocity_min.x, velocity_max.x) + velocity.x = dir.x + velocity.z = dir.y + velocity.y = randf_range(velocity_min.y, velocity_max.y) + + +func _process(delta: float) -> void: + velocity.y -= gravity * gravity_scale * delta + var frame_count: int = sprite3D.hframes * sprite3D.vframes + var frame_time_all: float = frame_rate * frame_count + frame_time += delta + sprite3D.frame = int(frame_time / frame_rate) % frame_count + frame_time = fmod(frame_time, frame_time_all) + if move_and_slide(): + var sub_particle: Node3D = sub.instantiate() as Node3D + SignalManager.effect_create.emit(sub_particle) + sub_particle.global_position = global_position + queue_free() diff --git a/script/effect/particle.gd b/script/effect/particle.gd index 2495d69..49c15f4 100644 --- a/script/effect/particle.gd +++ b/script/effect/particle.gd @@ -3,10 +3,11 @@ class_name Particle @export var is_billboard: bool -var sub_particle_list: Array[Particle] -var particle_list: Array[GPUParticles3D] -var speed_scale_list: Array[Variant] = [] -var decal_list: Array[Variant] = [] +var sub_particle_list: Array[Particle] = [] +var particle_list: Array[GPUParticles3D] = [] +var speed_scale_list: Array[float] = [] +var decal_list: Array[ParticleDecal] = [] +var sub_emitter_list: Array[ParticleSubEmitter] = [] func on_ready(): @@ -19,7 +20,10 @@ func on_ready(): speed_scale_list.append(particle.speed_scale) particle.restart() elif child is ParticleDecal: + child.on_ready() decal_list.append(child) + elif child is ParticleSubEmitter: + sub_emitter_list.append(child) else: continue if child.lifetime > lifetime_now: @@ -38,7 +42,7 @@ func on_process(delta: float): func on_set_pause(is_pause_set: bool): for i in range(len(particle_list)): var particle: GPUParticles3D = particle_list[i] - var speed_scale = speed_scale_list[i] + var speed_scale: float = speed_scale_list[i] particle.speed_scale = 0 if is_pause else speed_scale for sub_particle: Particle in sub_particle_list: sub_particle.set_pause(is_pause_set) diff --git a/script/effect/particle_decal.gd b/script/effect/particle_decal.gd index db207ba..07b7dd8 100644 --- a/script/effect/particle_decal.gd +++ b/script/effect/particle_decal.gd @@ -9,6 +9,11 @@ class_name ParticleDecal var lifetime_now: float +func on_ready() -> void: + var scale_sample: float = scale_curve.sample(0) + scale = Vector3(scale_sample, 1, scale_sample) + + func on_process(delta: float) -> void: lifetime_now += delta var rate: float = lifetime_now / lifetime diff --git a/script/effect/particle_sub_emitter.gd b/script/effect/particle_sub_emitter.gd new file mode 100644 index 0000000..16b2bd6 --- /dev/null +++ b/script/effect/particle_sub_emitter.gd @@ -0,0 +1,12 @@ +extends EffectBase +class_name ParticleSubEmitter + +@export var sub: PackedScene +@export var count: int = 1 + + +func on_ready(): + for i in range(count): + var sub_particle: Node3D = sub.instantiate() as Node3D + SignalManager.effect_create.emit(sub_particle) + sub_particle.global_position = global_position diff --git a/script/manager/resource_manager.gd b/script/manager/resource_manager.gd index a7a3774..e5934b5 100644 --- a/script/manager/resource_manager.gd +++ b/script/manager/resource_manager.gd @@ -14,6 +14,8 @@ var material_character_sub: Material = load("res://render/material/character_sub 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") +#hit_material +var particle_material_cloth: PackedScene = load("res://scene/effect/particle/particle_material_cloth.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")