diff --git a/Asset Sources/Effects/Blood Particles.ptex b/Asset Sources/Effects/Blood Particles.ptex new file mode 100644 index 0000000..4fc680c --- /dev/null +++ b/Asset Sources/Effects/Blood Particles.ptex @@ -0,0 +1,481 @@ +{ + "connections": [ + { + "from": "shape", + "from_port": 0, + "to": "tiler", + "to_port": 0 + }, + { + "from": "tiler", + "from_port": 0, + "to": "slope_blur", + "to_port": 0 + }, + { + "from": "perlin", + "from_port": 0, + "to": "fast_blur", + "to_port": 0 + }, + { + "from": "fast_blur", + "from_port": 0, + "to": "slope_blur", + "to_port": 1 + }, + { + "from": "shape", + "from_port": 0, + "to": "tiler_2", + "to_port": 0 + }, + { + "from": "tiler_2", + "from_port": 0, + "to": "blend", + "to_port": 0 + }, + { + "from": "slope_blur", + "from_port": 0, + "to": "blend", + "to_port": 1 + }, + { + "from": "blend", + "from_port": 0, + "to": "math", + "to_port": 1 + }, + { + "from": "tiler", + "from_port": 0, + "to": "math_2", + "to_port": 0 + }, + { + "from": "blend", + "from_port": 0, + "to": "blend_2", + "to_port": 1 + }, + { + "from": "blend_2", + "from_port": 0, + "to": "normal_map2", + "to_port": 0 + }, + { + "from": "normal_map2", + "from_port": 0, + "to": "fast_blur_2", + "to_port": 0 + }, + { + "from": "blend_3", + "from_port": 0, + "to": "Material", + "to_port": 4 + }, + { + "from": "fast_blur_2", + "from_port": 0, + "to": "blend_3", + "to_port": 0 + }, + { + "from": "math_2", + "from_port": 0, + "to": "fast_blur_3", + "to_port": 0 + }, + { + "from": "math_2", + "from_port": 0, + "to": "math_3", + "to_port": 0 + }, + { + "from": "fast_blur_3", + "from_port": 0, + "to": "math_3", + "to_port": 1 + }, + { + "from": "math_3", + "from_port": 0, + "to": "blend_2", + "to_port": 0 + }, + { + "from": "math", + "from_port": 0, + "to": "supersample", + "to_port": 0 + }, + { + "from": "supersample", + "from_port": 0, + "to": "Material", + "to_port": 7 + }, + { + "from": "supersample", + "from_port": 0, + "to": "Material", + "to_port": 0 + }, + { + "from": "supersample", + "from_port": 0, + "to": "blend_3", + "to_port": 2 + }, + { + "from": "uniform", + "from_port": 0, + "to": "blend_3", + "to_port": 1 + } + ], + "label": "Graph", + "longdesc": "", + "name": "@@293", + "node_position": { + "x": 0, + "y": 0 + }, + "nodes": [ + { + "export_paths": { + "Godot": "/data/Projects/Games/Liblast/Game/Assets/Effects/BloodParticles" + }, + "name": "Material", + "node_position": { + "x": 1236, + "y": 177 + }, + "parameters": { + "albedo_color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.566406, + "type": "Color" + }, + "ao": 1, + "depth_scale": 0.5, + "emission_energy": 1, + "flags_transparent": true, + "metallic": 0, + "normal": 1, + "roughness": 0, + "size": 9, + "sss": 0 + }, + "seed": 0, + "seed_locked": false, + "type": "material" + }, + { + "name": "shape", + "node_position": { + "x": -1330, + "y": 292 + }, + "parameters": { + "edge": 1, + "radius": 0.72, + "shape": 0, + "sides": 2 + }, + "seed": 0, + "seed_locked": false, + "type": "shape" + }, + { + "name": "tiler", + "node_position": { + "x": -777.809998, + "y": 187.299973 + }, + "parameters": { + "fixed_offset": 0, + "offset": 0, + "overlap": 2, + "rotate": 0, + "scale": 0, + "scale_x": 0.5, + "scale_y": 0.5, + "select_inputs": 0, + "tx": 2, + "ty": 2, + "value": 0, + "variations": false + }, + "seed": 0, + "seed_locked": false, + "type": "tiler" + }, + { + "name": "perlin", + "node_position": { + "x": -835, + "y": -125 + }, + "parameters": { + "iterations": 10, + "persistence": 0.35, + "scale_x": 4, + "scale_y": 4 + }, + "seed": 0, + "seed_locked": false, + "type": "perlin" + }, + { + "name": "slope_blur", + "node_position": { + "x": -443, + "y": 365 + }, + "parameters": { + "param0": 11, + "param1": 300 + }, + "seed": 0, + "seed_locked": false, + "type": "slope_blur" + }, + { + "name": "fast_blur", + "node_position": { + "x": -540, + "y": -12 + }, + "parameters": { + "param0": 11, + "param1": 17, + "param2": 3 + }, + "seed": 0, + "seed_locked": false, + "type": "fast_blur" + }, + { + "name": "math", + "node_position": { + "x": 40.768597, + "y": 162.214874 + }, + "parameters": { + "clamp": false, + "default_in1": 0.41, + "default_in2": 0, + "op": 15 + }, + "seed": 0, + "seed_locked": false, + "type": "math" + }, + { + "name": "normal_map2", + "node_position": { + "x": 500, + "y": 793 + }, + "parameters": { + "buffer": 1, + "param2": 0, + "size": 10, + "strength": 7 + }, + "seed": 0, + "seed_locked": false, + "type": "normal_map2" + }, + { + "name": "tiler_2", + "node_position": { + "x": -947.5, + "y": 599 + }, + "parameters": { + "fixed_offset": 0.64, + "offset": 1, + "overlap": 4, + "rotate": 17.8, + "scale": 0.5, + "scale_x": 0.08, + "scale_y": 0.1, + "select_inputs": 0, + "tx": 47, + "ty": 37, + "value": 0.44, + "variations": false + }, + "seed": 0, + "seed_locked": false, + "type": "tiler" + }, + { + "name": "blend", + "node_position": { + "x": -436.030548, + "y": 693.820618 + }, + "parameters": { + "amount": 0.45, + "blend_type": 4 + }, + "seed": 0, + "seed_locked": false, + "type": "blend" + }, + { + "name": "fast_blur_2", + "node_position": { + "x": 594, + "y": 616 + }, + "parameters": { + "param0": 10, + "param1": 8, + "param2": 2 + }, + "seed": 0, + "seed_locked": false, + "type": "fast_blur" + }, + { + "name": "blend_2", + "node_position": { + "x": 187, + "y": 837 + }, + "parameters": { + "amount": 0.96, + "blend_type": 0 + }, + "seed": 0, + "seed_locked": false, + "type": "blend" + }, + { + "name": "math_2", + "node_position": { + "x": -100.590904, + "y": 593.954529 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0.08, + "op": 6 + }, + "seed": 0, + "seed_locked": false, + "type": "math" + }, + { + "name": "blend_3", + "node_position": { + "x": 818.114014, + "y": 437.986755 + }, + "parameters": { + "amount": 1, + "blend_type": 0 + }, + "seed": 0, + "seed_locked": false, + "type": "blend" + }, + { + "name": "uniform_greyscale", + "node_position": { + "x": 313.114014, + "y": 458.986755 + }, + "parameters": { + "color": 0 + }, + "seed": 0, + "seed_locked": false, + "type": "uniform_greyscale" + }, + { + "name": "fast_blur_3", + "node_position": { + "x": 189.135391, + "y": 529.177246 + }, + "parameters": { + "param0": 10, + "param1": 50, + "param2": 4 + }, + "seed": 0, + "seed_locked": false, + "type": "fast_blur" + }, + { + "name": "math_3", + "node_position": { + "x": 254.362656, + "y": 677.631775 + }, + "parameters": { + "clamp": false, + "default_in1": 0, + "default_in2": 0, + "op": 13 + }, + "seed": 0, + "seed_locked": false, + "type": "math" + }, + { + "name": "supersample", + "node_position": { + "x": 527.855591, + "y": 106.689644 + }, + "parameters": { + "count": 4, + "size": 9, + "width": 1 + }, + "seed": 0, + "seed_locked": false, + "type": "supersample" + }, + { + "name": "uniform", + "node_position": { + "x": 411.31427, + "y": 332.029358 + }, + "parameters": { + "color": { + "a": 1, + "b": 0, + "g": 0.5, + "r": 0.5, + "type": "Color" + } + }, + "seed": 0, + "seed_locked": false, + "type": "uniform" + } + ], + "parameters": { + + }, + "seed": 0, + "seed_locked": false, + "shortdesc": "", + "type": "graph" +} \ No newline at end of file diff --git a/Game/Assets/Characters/Player.tscn b/Game/Assets/Characters/Player.tscn index 3d17bbf..500c47e 100644 --- a/Game/Assets/Characters/Player.tscn +++ b/Game/Assets/Characters/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=38 format=3 uid="uid://cwuys43c7ak61"] +[gd_scene load_steps=40 format=3 uid="uid://cwuys43c7ak61"] [ext_resource type="Script" path="res://Assets/Characters/Player.gd" id="1"] [ext_resource type="PackedScene" uid="uid://bemrov0tiy08n" path="res://Assets/Weapons/Weapon.tscn" id="3"] @@ -83,7 +83,7 @@ anim_offset_max = 100.0 collision_friction = 1.0 [sub_resource type="Gradient" id="Gradient_niqb5"] -offsets = PackedFloat32Array(0, 0.0539419, 1) +offsets = PackedFloat32Array(0, 0.186757, 1) colors = PackedColorArray(0, 0, 0, 1, 4, 4, 4, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture" id="GradientTexture_h65ov"] @@ -113,13 +113,25 @@ color_ramp = SubResource( "GradientTexture_h65ov" ) [sub_resource type="Curve" id="Curve_gq708"] _data = [Vector2(0, 0), 0.0, 13.2052, 0, 0, Vector2(0.366936, 0.509091), -2.93091, -2.93091, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +[sub_resource type="OpenSimplexNoise" id="OpenSimplexNoise_gkmtx"] + +[sub_resource type="NoiseTexture" id="NoiseTexture_y0a2v"] +seamless = true +noise = SubResource( "OpenSimplexNoise_gkmtx" ) + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uw8c6"] +transparency = 1 blend_mode = 1 shading_mode = 0 vertex_color_use_as_albedo = true albedo_color = Color(0, 0.137255, 1, 1) +albedo_texture = SubResource( "NoiseTexture_y0a2v" ) +refraction_enabled = true +refraction_scale = 0.19 disable_receive_shadows = true use_particle_trails = true +proximity_fade_enable = true +proximity_fade_distance = 0.1 [sub_resource type="RibbonTrailMesh" id="RibbonTrailMesh_34621"] material = SubResource( "StandardMaterial3D_uw8c6" ) @@ -351,6 +363,7 @@ script = null [node name="SpawnVFX" type="GPUParticles3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.918712, 0) layers = 4 +cast_shadow = 0 emitting = false amount = 128 lifetime = 2.0 @@ -388,6 +401,7 @@ stream = ExtResource( "6_s024f" ) [node name="FocusBanner" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) +layers = 4 cast_shadow = 0 mesh = SubResource( "QuadMesh_nhjmb" ) surface_material_override/0 = null diff --git a/Game/Assets/Effects/BloodParticles.tres b/Game/Assets/Effects/BloodParticles.tres new file mode 100644 index 0000000..fe32d81 --- /dev/null +++ b/Game/Assets/Effects/BloodParticles.tres @@ -0,0 +1,23 @@ +[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://yk4vct6jlpoo"] + +[ext_resource type="Texture2D" uid="uid://djny4vk6xkldu" path="res://Assets/Effects/BloodParticles_albedo.png" id="1"] +[ext_resource type="Texture2D" uid="uid://cexb4sower0cc" path="res://Assets/Effects/BloodParticles_normal.png" id="3"] + +[resource] +transparency = 2 +alpha_scissor_threshold = 0.05 +alpha_antialiasing_mode = 1 +alpha_antialiasing_edge = 0.9 +vertex_color_use_as_albedo = true +albedo_color = Color(0.566406, 0, 0, 1) +albedo_texture = ExtResource( "1" ) +roughness = 0.0 +normal_texture = ExtResource( "3" ) +backlight_enabled = true +backlight = Color(0.396078, 0.396078, 0.396078, 1) +backlight_texture = ExtResource( "1" ) +disable_receive_shadows = true +billboard_mode = 3 +particles_anim_h_frames = 2 +particles_anim_v_frames = 2 +particles_anim_loop = false diff --git a/Game/Assets/Effects/BloodParticles_albedo.png b/Game/Assets/Effects/BloodParticles_albedo.png new file mode 100644 index 0000000..62bf269 --- /dev/null +++ b/Game/Assets/Effects/BloodParticles_albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1d5fcf33bc9093e8ec8b0bd87d177c11eb6939c5c4941ef567ae39891798dbb +size 15403 diff --git a/Game/Assets/Effects/BloodParticles_albedo.png.import b/Game/Assets/Effects/BloodParticles_albedo.png.import new file mode 100644 index 0000000..e06eb14 --- /dev/null +++ b/Game/Assets/Effects/BloodParticles_albedo.png.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://djny4vk6xkldu" +path.s3tc="res://.godot/imported/BloodParticles_albedo.png-37174a409a071bd6614538c39556dada.s3tc.stex" +path.etc2="res://.godot/imported/BloodParticles_albedo.png-37174a409a071bd6614538c39556dada.etc2.stex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Effects/BloodParticles_albedo.png" +dest_files=["res://.godot/imported/BloodParticles_albedo.png-37174a409a071bd6614538c39556dada.s3tc.stex", "res://.godot/imported/BloodParticles_albedo.png-37174a409a071bd6614538c39556dada.etc2.stex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/HDR_as_SRGB=false +process/size_limit=0 +detect_3d/compress_to=0 +svg/scale=1.0 diff --git a/Game/Assets/Effects/BloodParticles_normal.png b/Game/Assets/Effects/BloodParticles_normal.png new file mode 100644 index 0000000..92f19e5 --- /dev/null +++ b/Game/Assets/Effects/BloodParticles_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70545307a6ce7593aeadc4ddf79dc7ea66d6d2ae24463166aac04661eda21aae +size 80898 diff --git a/Game/Assets/Effects/BloodParticles_normal.png.import b/Game/Assets/Effects/BloodParticles_normal.png.import new file mode 100644 index 0000000..f25e6b9 --- /dev/null +++ b/Game/Assets/Effects/BloodParticles_normal.png.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://cexb4sower0cc" +path.s3tc="res://.godot/imported/BloodParticles_normal.png-de82d7a88488a976c5db78ba612b3ff5.s3tc.stex" +path.etc2="res://.godot/imported/BloodParticles_normal.png-de82d7a88488a976c5db78ba612b3ff5.etc2.stex" +metadata={ +"imported_formats": ["s3tc", "etc2"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Effects/BloodParticles_normal.png" +dest_files=["res://.godot/imported/BloodParticles_normal.png-de82d7a88488a976c5db78ba612b3ff5.s3tc.stex", "res://.godot/imported/BloodParticles_normal.png-de82d7a88488a976c5db78ba612b3ff5.etc2.stex"] + +[params] + +compress/mode=2 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=1 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://Assets/Effects/BloodParticles_normal.png" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/HDR_as_SRGB=false +process/size_limit=0 +detect_3d/compress_to=0 +svg/scale=1.0 diff --git a/Game/Assets/Effects/Impact.gd b/Game/Assets/Effects/Impact.gd index c05c762..9ed7f60 100644 --- a/Game/Assets/Effects/Impact.gd +++ b/Game/Assets/Effects/Impact.gd @@ -1,7 +1,7 @@ extends Node3D func _ready(): - $CPUParticles3D.emitting = true + $Particles.emitting = true self.look_at(get_viewport().get_camera_3d().global_transform.origin) #$MeshInstance3D.get_active_material(0).set("shader_params/o3007790_OFFSET", randf_range(0, 1)) diff --git a/Game/Assets/Effects/ImpactBlood.tscn b/Game/Assets/Effects/ImpactBlood.tscn index 414fdb9..4f9a3fe 100644 --- a/Game/Assets/Effects/ImpactBlood.tscn +++ b/Game/Assets/Effects/ImpactBlood.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=17 format=3 uid="uid://egphnvwk6cg"] +[gd_scene load_steps=21 format=3 uid="uid://egphnvwk6cg"] [ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"] +[ext_resource type="Material" uid="uid://yk4vct6jlpoo" path="res://Assets/Effects/BloodParticles.tres" id="2_maqjs"] [ext_resource type="Shader" path="res://Assets/Effects/ImpactBlood.gdshader" id="3_4p01j"] [ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_ftpj2"] [ext_resource type="AudioStream" uid="uid://jimj50xmfbts" path="res://Assets/SFX/Weapons_BulletHitPlayer_01.wav" id="5_0lku5"] @@ -116,19 +116,39 @@ tracks/4/keys = { }] } -[sub_resource type="StandardMaterial3D" id="7"] -blend_mode = 3 -shading_mode = 0 -vertex_color_use_as_albedo = true -albedo_texture = ExtResource( "2" ) -billboard_mode = 3 -particles_anim_h_frames = 2 -particles_anim_v_frames = 2 -particles_anim_loop = false +[sub_resource type="Gradient" id="Gradient_pvrro"] +offsets = PackedFloat32Array(0.615523, 1) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) + +[sub_resource type="GradientTexture" id="GradientTexture_8yar8"] +gradient = SubResource( "Gradient_pvrro" ) +width = 128 + +[sub_resource type="Curve" id="Curve_6ow3w"] +_data = [Vector2(0, 1), 0.0, -5.73198e-07, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] + +[sub_resource type="CurveTexture" id="CurveTexture_2u3co"] +width = 256 +texture_mode = 1 +curve = SubResource( "Curve_6ow3w" ) + +[sub_resource type="ParticlesMaterial" id="ParticlesMaterial_uutnv"] +spread = 180.0 +initial_velocity_min = 5.0 +initial_velocity_max = 21.81 +damping_min = 1.0 +damping_max = 2.0 +angle_min = -180.0 +angle_max = 180.0 +scale_curve = SubResource( "CurveTexture_2u3co" ) +color_ramp = SubResource( "GradientTexture_8yar8" ) +anim_offset_max = 4.0 +collision_enabled = true +collision_friction = 1.0 [sub_resource type="QuadMesh" id="2"] -material = SubResource( "7" ) -size = Vector2(0.2, 0.2) +material = ExtResource( "2_maqjs" ) +size = Vector2(0.5, 0.5) [sub_resource type="Curve" id="3"] _data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] @@ -137,6 +157,7 @@ _data = [Vector2(0, 0.981818), 0.0, -1.7826, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0 colors = PackedColorArray(1, 0, 0, 1, 1, 1, 1, 1) [sub_resource type="ShaderMaterial" id="ShaderMaterial_d8ai5"] +render_priority = 0 shader = ExtResource( "3_4p01j" ) [sub_resource type="QuadMesh" id="QuadMesh_xdhl5"] @@ -153,7 +174,22 @@ anims/Splat = SubResource( "Animation_fex44" ) blend_times = [] script = null -[node name="CPUParticles3D" type="CPUParticles3D" parent="."] +[node name="Particles2" type="GPUParticles3D" parent="."] +visible = false +layers = 2 +emitting = false +amount = 32 +lifetime = 3.0 +one_shot = true +explosiveness = 1.0 +fixed_fps = 0 +collision_base_size = 0.1 +local_coords = false +process_material = SubResource( "ParticlesMaterial_uutnv" ) +draw_pass_1 = SubResource( "2" ) +script = null + +[node name="Particles" type="CPUParticles3D" parent="."] layers = 4 emitting = false amount = 32 diff --git a/Game/Assets/Effects/ImpactSparks.tscn b/Game/Assets/Effects/ImpactSparks.tscn index 72532f4..1b4b6b7 100644 --- a/Game/Assets/Effects/ImpactSparks.tscn +++ b/Game/Assets/Effects/ImpactSparks.tscn @@ -206,7 +206,7 @@ tracks/4/keys = { [node name="Impact" type="Node3D"] script = ExtResource( "1" ) -[node name="CPUParticles3D" type="CPUParticles3D" parent="."] +[node name="Particles" type="CPUParticles3D" parent="."] emitting = false amount = 32 one_shot = true