From 12d6adaf940de8bd3577df5ee4bcce543ab27e3c Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Thu, 29 Feb 2024 00:19:54 -0500 Subject: [PATCH] improve famira death animation --- objects/enemy/boss/famira.tscn | 96 +++++++++++++++++++++++++++++++- shaders/elecricity_no_blood.tres | 1 + 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/objects/enemy/boss/famira.tscn b/objects/enemy/boss/famira.tscn index 2b5dd17..0619f0a 100644 --- a/objects/enemy/boss/famira.tscn +++ b/objects/enemy/boss/famira.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=38 format=2] +[gd_scene load_steps=39 format=2] [ext_resource path="res://objects/enemy/boss/famira.gd" type="Script" id=1] [ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=2] @@ -29,6 +29,9 @@ shader = ExtResource( 18 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = false +[sub_resource type="Curve" id=19] +_data = [ Vector2( 0, 0 ), 0.0, 12.4999, 0, 0, Vector2( 0.21317, 1 ), 2.06228, 0.0, 0, 0, Vector2( 0.722098, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), -7.91544, 0.0, 0, 0 ] + [sub_resource type="Animation" id=2] length = 0.001 tracks/0/type = "value" @@ -319,6 +322,42 @@ tracks/23/keys = { "update": 0, "values": [ false ] } +tracks/24/type = "value" +tracks/24/path = NodePath("../DissolveParticles:position") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 4, -8 ) ] +} +tracks/25/type = "value" +tracks/25/path = NodePath("../DissolveParticles:emitting") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ false ] +} +tracks/26/type = "value" +tracks/26/path = NodePath("../DissolveParticles:emission_rect_extents") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 24, 0 ) ] +} [sub_resource type="Animation" id=4] resource_name = "chasing" @@ -700,6 +739,42 @@ tracks/17/keys = { "update": 1, "values": [ true, false ] } +tracks/18/type = "value" +tracks/18/path = NodePath("../DissolveParticles:position") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"times": PoolRealArray( 0, 8 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector2( 4, -197 ), Vector2( 4, 19 ) ] +} +tracks/19/type = "value" +tracks/19/path = NodePath("../DissolveParticles:emitting") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/keys = { +"times": PoolRealArray( 0, 7 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} +tracks/20/type = "value" +tracks/20/path = NodePath("../DissolveParticles:emission_rect_extents") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/keys = { +"times": PoolRealArray( 0, 1.8, 2.2, 2.8, 3.2, 3.4, 4, 5.9 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 24, 0 ), Vector2( 24, 0 ), Vector2( 48, 0 ), Vector2( 48, 0 ), Vector2( 16, 0 ), Vector2( 64, 0 ), Vector2( 24, 0 ), Vector2( 16, 0 ) ] +} [sub_resource type="Animation" id=17] resource_name = "grow" @@ -1730,6 +1805,25 @@ initial_velocity = 250.0 initial_velocity_random = 0.35 linear_accel = -30.19 +[node name="DissolveParticles" type="CPUParticles2D" parent="."] +material = ExtResource( 17 ) +position = Vector2( 4, -8 ) +emitting = false +amount = 16 +local_coords = false +texture = ExtResource( 15 ) +emission_shape = 2 +emission_rect_extents = Vector2( 24, 0 ) +direction = Vector2( 0, -1 ) +gravity = Vector2( 0, 0 ) +initial_velocity = 1.0 +linear_accel = 48.0 +angle = 720.0 +angle_random = 1.0 +scale_amount = 0.5 +scale_amount_curve = SubResource( 19 ) +color = Color( 0.968627, 0.839216, 0.152941, 1 ) + [node name="DissolveMask" type="Light2D" parent="."] position = Vector2( -63, -322 ) texture = ExtResource( 20 ) diff --git a/shaders/elecricity_no_blood.tres b/shaders/elecricity_no_blood.tres index 14de774..9fa360f 100644 --- a/shaders/elecricity_no_blood.tres +++ b/shaders/elecricity_no_blood.tres @@ -118,6 +118,7 @@ float snoise(vec3 v) { void fragment() { vec4 tex_color = texture(TEXTURE, UV); + tex_color *= COLOR; tex_color.rgb = pow(tex_color.rgb, vec3(1.0 / (gamma + sin(fract(TIME * floor(flash_rate)) * TAU) * flash_intensity))); tex_color.rgb = mix(tex_color.rgb, background_color.rgb, background_color.a); // tex_color.rgb = pow(tex_color.rgb, vec3(0.5 + sin(TIME * 20.0) * 0.1));