[gd_scene format=3 uid="uid://cdsloy1kvhikp"] [ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://experimental/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_bprbm"] [ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://experimental/BinbunVFX/shared/script/vfx_controller.gd" id="1_enhek"] [ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://experimental/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="2_1bdqt"] [ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://experimental/BinbunVFX/shared/texture/cracks_01.png" id="4_1bdqt"] [ext_resource type="Shader" uid="uid://ccd4kg68n7uox" path="res://experimental/BinbunVFX/impact_explosions/src/shader/basic_billboard.gdshader" id="4_t82mc"] [ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://experimental/BinbunVFX/shared/texture/cracks_emission_01.png" id="5_t82mc"] [ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://experimental/BinbunVFX/shared/script/vfx_light.gd" id="7_j37f4"] [sub_resource type="Gradient" id="Gradient_bprbm"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_1bdqt"] noise_type = 0 frequency = 0.005 fractal_type = 2 fractal_octaves = 2 fractal_weighted_strength = 0.66 domain_warp_enabled = true domain_warp_type = 2 domain_warp_amplitude = 5.0 domain_warp_fractal_octaves = 1 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_1bdqt"] noise = SubResource("FastNoiseLite_1bdqt") color_ramp = SubResource("Gradient_bprbm") seamless = true [sub_resource type="ShaderMaterial" id="ShaderMaterial_j37f4"] resource_local_to_scene = true render_priority = 0 shader = ExtResource("1_bprbm") shader_parameter/noise_texture = SubResource("NoiseTexture2D_1bdqt") shader_parameter/primary_color = Color(1, 0.529412, 0, 1) shader_parameter/texture_scale = Vector2(1, 1) shader_parameter/proximity_fade = false shader_parameter/proximity_fade_distance = 1.0 shader_parameter/alpha_mode = 0 [sub_resource type="Curve" id="Curve_fejmr"] _data = [Vector2(0, 0), 0.0, 0.10399, 0, 0, Vector2(0.159574, 0.119442), 1.68494, 1.68494, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_t82mc"] curve = SubResource("Curve_fejmr") [sub_resource type="Curve" id="Curve_bprbm"] _data = [Vector2(0, 0.516029), 0.0, 7.81198, 0, 0, Vector2(0.167553, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 3 [sub_resource type="CurveTexture" id="CurveTexture_j37f4"] curve = SubResource("Curve_bprbm") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_fl6r8"] emission_shape = 2 emission_sphere_radius = 0.2 angle_min = -720.0 angle_max = 799.5 spread = 180.0 flatness = 1.0 gravity = Vector3(0, 0, 0) scale_min = 0.9 scale_curve = SubResource("CurveTexture_j37f4") alpha_curve = SubResource("CurveTexture_t82mc") [sub_resource type="SphereMesh" id="SphereMesh_7ufuy"] radius = 1.5 height = 3.0 [sub_resource type="FastNoiseLite" id="FastNoiseLite_yg62c"] seed = 2 fractal_type = 2 fractal_octaves = 3 fractal_gain = 0.55 domain_warp_enabled = true domain_warp_type = 1 domain_warp_amplitude = 10.0 domain_warp_frequency = 0.02 domain_warp_fractal_octaves = 2 domain_warp_fractal_lacunarity = 4.165 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_y5lyb"] noise = SubResource("FastNoiseLite_yg62c") seamless = true normalize = false [sub_resource type="FastNoiseLite" id="FastNoiseLite_px8k0"] frequency = 0.005 fractal_type = 2 fractal_octaves = 2 domain_warp_enabled = true domain_warp_type = 1 domain_warp_frequency = 0.005 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_w0g5g"] width = 128 height = 128 noise = SubResource("FastNoiseLite_px8k0") seamless = true invert = true [sub_resource type="ShaderMaterial" id="ShaderMaterial_fyady"] render_priority = 0 shader = ExtResource("2_1bdqt") shader_parameter/noise_texture = SubResource("NoiseTexture2D_w0g5g") shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_y5lyb") shader_parameter/primary_color = Color(1, 0.529412, 0, 1) shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1) shader_parameter/time_scale = Vector2(0, 0.3) shader_parameter/texture_scale = Vector2(1, 1) shader_parameter/noise_scale = 1.0 shader_parameter/proximity_fade = false shader_parameter/proximity_fade_distance = 4.0 shader_parameter/alpha_mode = 0 [sub_resource type="Curve" id="Curve_746ga"] _data = [Vector2(0, 1), 0.0, -0.977263, 0, 0, Vector2(1, 0), -0.983939, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_tppqa"] curve = SubResource("Curve_746ga") [sub_resource type="Gradient" id="Gradient_y54ao"] offsets = PackedFloat32Array(0, 0.494872, 1) colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 0.47451, 0.87451, 0.87451, 0.87451, 0.258824) [sub_resource type="GradientTexture1D" id="GradientTexture1D_fu1kj"] gradient = SubResource("Gradient_y54ao") [sub_resource type="Gradient" id="Gradient_bspu6"] offsets = PackedFloat32Array(0.133333, 0.735897) colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_fejmr"] gradient = SubResource("Gradient_bspu6") [sub_resource type="Curve" id="Curve_31ka1"] _data = [Vector2(0, 0), 0.0, 6.16298, 0, 0, Vector2(0.49734, 1), 0.299862, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_8ijvx"] curve = SubResource("Curve_31ka1") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gt25t"] angle_min = -720.0 angle_max = 720.0 spread = 180.0 flatness = 1.0 initial_velocity_min = 2.0 initial_velocity_max = 4.0 gravity = Vector3(0, 0, 0) damping_min = 5.0 damping_max = 10.0 scale_min = 0.7 scale_curve = SubResource("CurveTexture_8ijvx") color_ramp = SubResource("GradientTexture1D_fejmr") color_initial_ramp = SubResource("GradientTexture1D_fu1kj") alpha_curve = SubResource("CurveTexture_tppqa") [sub_resource type="SphereMesh" id="SphereMesh_bprbm"] radius = 1.4 height = 2.8 radial_segments = 32 rings = 16 [sub_resource type="Curve" id="Curve_6us3o"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -2.03089, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_enhek"] curve = SubResource("Curve_6us3o") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_j37f4"] particle_flag_rotate_y = true spread = 180.0 initial_velocity_min = 1.0 initial_velocity_max = 2.0 gravity = Vector3(0, 0, 0) scale_min = 0.4 alpha_curve = SubResource("CurveTexture_enhek") [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6us3o"] transparency = 2 alpha_scissor_threshold = 0.5 alpha_antialiasing_mode = 0 blend_mode = 1 vertex_color_use_as_albedo = true emission_enabled = true emission = Color(1, 1, 1, 1) emission_energy_multiplier = 2.0 [sub_resource type="SphereMesh" id="SphereMesh_enhek"] material = SubResource("StandardMaterial3D_6us3o") radius = 0.05 height = 3.0 radial_segments = 32 rings = 16 is_hemisphere = true [sub_resource type="Gradient" id="Gradient_j37f4"] offsets = PackedFloat32Array(0.29558, 1) colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture2D" id="GradientTexture2D_csir3"] gradient = SubResource("Gradient_j37f4") fill = 1 fill_from = Vector2(0.5, 0.5) fill_to = Vector2(0.5, 0) [sub_resource type="FastNoiseLite" id="FastNoiseLite_y5lyb"] noise_type = 2 frequency = 0.02 fractal_octaves = 2 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_85p3d"] noise = SubResource("FastNoiseLite_y5lyb") seamless = true invert = true seamless_blend_skirt = 1.0 [sub_resource type="ShaderMaterial" id="ShaderMaterial_w0g5g"] render_priority = 0 shader = ExtResource("4_t82mc") shader_parameter/mask_texture = SubResource("GradientTexture2D_csir3") shader_parameter/noise_texture = SubResource("NoiseTexture2D_85p3d") shader_parameter/edge_smoothness = 0.5 shader_parameter/color_smoothness = 1.0 shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1) shader_parameter/alpha_multiplier = 1.0 shader_parameter/alpha_mode = 0 [sub_resource type="Curve" id="Curve_t82mc"] _data = [Vector2(0, 0), 0.0, 1.01211, 0, 0, Vector2(1, 1), 0.977263, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_y5lyb"] curve = SubResource("Curve_t82mc") [sub_resource type="Gradient" id="Gradient_w0g5g"] colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_tppqa"] gradient = SubResource("Gradient_w0g5g") [sub_resource type="Curve" id="Curve_fu1kj"] _limits = [0.0, 3.0, 0.0, 1.0] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_fejmr"] curve = SubResource("Curve_fu1kj") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_8ijvx"] spread = 180.0 flatness = 0.8 initial_velocity_min = 1.0 initial_velocity_max = 3.0 gravity = Vector3(0, 1, 0) damping_min = 1.0 damping_max = 2.0 scale_over_velocity_curve = SubResource("CurveTexture_fejmr") color_initial_ramp = SubResource("GradientTexture1D_tppqa") alpha_curve = SubResource("CurveTexture_y5lyb") [sub_resource type="QuadMesh" id="QuadMesh_yg62c"] size = Vector2(4, 4) [sub_resource type="Animation" id="Animation_bprbm"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Core:emitting") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Smoke:emitting") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Spikes:emitting") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Decal:emission_energy") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [4.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Decal:albedo_mix") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Dust:emitting") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Light:light_multiplier") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } [sub_resource type="Animation" id="Animation_v7cek"] resource_name = "main" length = 1.2 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Core:emitting") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Smoke:emitting") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0.0666667), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Spikes:emitting") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Decal:emission_energy") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.8, 1.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [4.0, 0.0, 0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Decal:albedo_mix") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.8, 1.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [1.0, 0.0, 0.0] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Dust:emitting") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true tracks/6/path = NodePath("Light:light_multiplier") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0, 0.8, 1.2), "transitions": PackedFloat32Array(0.6, 1, 1), "update": 0, "values": [1.0, 0.0, 0.0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_1ahis"] _data = { &"RESET": SubResource("Animation_bprbm"), &"main": SubResource("Animation_v7cek") } [node name="VFXExplosion_03" type="Node3D" unique_id=1493313628] script = ExtResource("1_enhek") preview = false one_shot = true primary_color = Color(1, 0.529412, 0, 1) secondary_color = Color(1, 0.337255, 0, 1) tertiary_color = Color(0.227451, 0.223529, 0.180392, 1) light_color = Color(1, 0.529412, 0, 1) light_energy = 8.0 [node name="Core" type="GPUParticles3D" parent="." unique_id=312730182] material_override = SubResource("ShaderMaterial_j37f4") emitting = false amount = 1 lifetime = 0.7 one_shot = true explosiveness = 0.8 process_material = SubResource("ParticleProcessMaterial_fl6r8") draw_pass_1 = SubResource("SphereMesh_7ufuy") [node name="Smoke" type="GPUParticles3D" parent="." unique_id=2068506687] layers = 540672 material_override = SubResource("ShaderMaterial_fyady") emitting = false amount = 4 lifetime = 0.8 one_shot = true explosiveness = 1.0 process_material = SubResource("ParticleProcessMaterial_gt25t") draw_pass_1 = SubResource("SphereMesh_bprbm") [node name="Spikes" type="GPUParticles3D" parent="." unique_id=264003257] layers = 540672 emitting = false amount = 16 lifetime = 0.2 one_shot = true explosiveness = 1.0 transform_align = 2 process_material = SubResource("ParticleProcessMaterial_j37f4") draw_pass_1 = SubResource("SphereMesh_enhek") [node name="Dust" type="GPUParticles3D" parent="." unique_id=1215858331] layers = 540672 sorting_offset = -1.0 material_override = SubResource("ShaderMaterial_w0g5g") emitting = false one_shot = true explosiveness = 0.9 process_material = SubResource("ParticleProcessMaterial_8ijvx") draw_pass_1 = SubResource("QuadMesh_yg62c") [node name="Decal" type="Decal" parent="." unique_id=779162809] size = Vector3(4, 4, 4) texture_albedo = ExtResource("4_1bdqt") texture_emission = ExtResource("5_t82mc") emission_energy = 4.0 modulate = Color(1, 0.32549, 0, 1) cull_mask = 507903 [node name="Light" type="OmniLight3D" parent="." unique_id=1297384187] light_color = Color(1, 0.529412, 0, 1) light_energy = 8.0 light_size = 4.0 light_cull_mask = 4294426623 omni_range = 8.0 script = ExtResource("7_j37f4") base_energy = 8.0 [node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1195111952] libraries/ = SubResource("AnimationLibrary_1ahis") autoplay = &"main"