[gd_scene load_steps=57 format=3 uid="uid://b6eowhdx7a7vq"] [ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_7tx03"] [ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_b0uon"] [ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="2_b0uon"] [ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="3_54wdx"] [ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="4_fomv7"] [ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="5_so335"] [ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="6_4rgj4"] [ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="7_5ouiv"] [ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="8_mhplm"] [sub_resource type="Gradient" id="Gradient_7tx03"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_fomv7"] noise_type = 2 frequency = 0.02 fractal_octaves = 1 domain_warp_enabled = true domain_warp_type = 2 domain_warp_amplitude = 5.0 domain_warp_fractal_octaves = 1 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_so335"] seamless = true color_ramp = SubResource("Gradient_7tx03") noise = SubResource("FastNoiseLite_fomv7") [sub_resource type="ShaderMaterial" id="ShaderMaterial_5ouiv"] resource_local_to_scene = true render_priority = 0 shader = ExtResource("1_7tx03") shader_parameter/noise_texture = SubResource("NoiseTexture2D_so335") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 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_mhplm"] _data = [Vector2(0, 0), 0.0, 2.69302, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_hksqb"] curve = SubResource("Curve_mhplm") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_iajpn"] angle_min = -720.0 angle_max = 799.5 spread = 180.0 flatness = 1.0 gravity = Vector3(0, 0, 0) scale_min = 0.8 alpha_curve = SubResource("CurveTexture_hksqb") [sub_resource type="SphereMesh" id="SphereMesh_ak2t6"] radius = 1.5 height = 0.5 is_hemisphere = true [sub_resource type="Gradient" id="Gradient_b0uon"] colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture2D" id="GradientTexture2D_54wdx"] gradient = SubResource("Gradient_b0uon") fill = 1 fill_from = Vector2(0.5, 0.5) fill_to = Vector2(0.5, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_mhplm"] render_priority = 0 shader = ExtResource("2_b0uon") shader_parameter/shape_texture = SubResource("GradientTexture2D_54wdx") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 1) shader_parameter/secondary_color = Color(0.960784, 0.388235, 0.176471, 1) [sub_resource type="Curve" id="Curve_hksqb"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -2.87029, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_iajpn"] curve = SubResource("Curve_hksqb") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ak2t6"] particle_flag_align_y = true angle_min = -720.0 angle_max = 720.0 direction = Vector3(0, 1, 0) spread = 60.0 initial_velocity_min = 5.0 initial_velocity_max = 10.0 damping_min = 5.0 damping_max = 10.0 scale_min = 0.5 scale_curve = SubResource("CurveTexture_iajpn") [sub_resource type="QuadMesh" id="QuadMesh_pto8m"] size = Vector2(0.05, 0.4) [sub_resource type="FastNoiseLite" id="FastNoiseLite_so335"] 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_4rgj4"] seamless = true normalize = false noise = SubResource("FastNoiseLite_so335") [sub_resource type="FastNoiseLite" id="FastNoiseLite_5ouiv"] noise_type = 2 frequency = 0.04 fractal_octaves = 2 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mhplm"] width = 128 height = 128 invert = true seamless = true noise = SubResource("FastNoiseLite_5ouiv") [sub_resource type="ShaderMaterial" id="ShaderMaterial_hksqb"] render_priority = 0 shader = ExtResource("3_54wdx") shader_parameter/noise_texture = SubResource("NoiseTexture2D_mhplm") shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_4rgj4") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 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 = 2.0 shader_parameter/alpha_mode = 0 [sub_resource type="Curve" id="Curve_7tx03"] _data = [Vector2(0, 0.47191), 0.0, 0.0, 0, 0, Vector2(1, 0), -0.45351, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_b0uon"] curve = SubResource("Curve_7tx03") [sub_resource type="Gradient" id="Gradient_fomv7"] offsets = PackedFloat32Array(0, 0.494872, 1) colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 1, 0.87451, 0.87451, 0.87451, 0.258824) [sub_resource type="GradientTexture1D" id="GradientTexture1D_so335"] gradient = SubResource("Gradient_fomv7") [sub_resource type="Gradient" id="Gradient_4rgj4"] offsets = PackedFloat32Array(0.133333, 0.735897) colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_5ouiv"] gradient = SubResource("Gradient_4rgj4") [sub_resource type="Curve" id="Curve_iajpn"] _data = [Vector2(0.00265958, 0.542916), 0.0, 1.14448, 0, 0, Vector2(1, 1), 5.21194e-07, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_ak2t6"] curve = SubResource("Curve_iajpn") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_pto8m"] particle_flag_align_y = true emission_shape_offset = Vector3(0, 0.1, 0) emission_shape = 3 emission_box_extents = Vector3(0.2, 0.1, 0.2) angle_min = -720.0 angle_max = 720.0 direction = Vector3(0, 1, 0) spread = 30.0 initial_velocity_min = 2.0 initial_velocity_max = 4.0 gravity = Vector3(0, 0, 0) damping_min = 3.0 damping_max = 5.0 scale_min = 0.2 scale_curve = SubResource("CurveTexture_ak2t6") color_ramp = SubResource("GradientTexture1D_5ouiv") color_initial_ramp = SubResource("GradientTexture1D_so335") alpha_curve = SubResource("CurveTexture_b0uon") [sub_resource type="SphereMesh" id="SphereMesh_iajpn"] radius = 1.0 height = 2.5 radial_segments = 32 rings = 16 [sub_resource type="FastNoiseLite" id="FastNoiseLite_7tx03"] noise_type = 4 fractal_type = 3 domain_warp_enabled = true domain_warp_type = 2 domain_warp_amplitude = 16.5 domain_warp_fractal_gain = 0.2 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_b0uon"] noise = SubResource("FastNoiseLite_7tx03") [sub_resource type="Gradient" id="Gradient_54wdx"] colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) [sub_resource type="GradientTexture2D" id="GradientTexture2D_fomv7"] gradient = SubResource("Gradient_54wdx") width = 256 height = 256 fill = 1 fill_from = Vector2(0.5, 0.5) fill_to = Vector2(0.5, 0) [sub_resource type="ShaderMaterial" id="ShaderMaterial_so335"] render_priority = 0 shader = ExtResource("4_fomv7") shader_parameter/shape_texture = SubResource("GradientTexture2D_fomv7") shader_parameter/noise_texture = SubResource("NoiseTexture2D_b0uon") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 1) shader_parameter/secondary_color = Color(0.960784, 0.388235, 0.176471, 1) shader_parameter/decay = 0.164988 shader_parameter/alpha_mode = 0 [sub_resource type="PlaneMesh" id="PlaneMesh_4rgj4"] size = Vector2(4, 4) subdivide_width = 32 subdivide_depth = 32 [sub_resource type="FastNoiseLite" id="FastNoiseLite_b0uon"] noise_type = 3 fractal_type = 3 fractal_octaves = 2 domain_warp_enabled = true domain_warp_type = 1 domain_warp_amplitude = 29.885 domain_warp_frequency = 0.02 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_54wdx"] seamless = true noise = SubResource("FastNoiseLite_b0uon") [sub_resource type="ShaderMaterial" id="ShaderMaterial_fomv7"] render_priority = 0 shader = ExtResource("5_so335") shader_parameter/noise_texture = SubResource("NoiseTexture2D_54wdx") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 1) shader_parameter/secondary_color = Color(0.960784, 0.388235, 0.176471, 1) shader_parameter/texture_scale = Vector2(1, 1) shader_parameter/time_scale = Vector2(-0.1, 0.1) shader_parameter/grow = 0.1 shader_parameter/decay = 1.0 shader_parameter/proximity_fade = false shader_parameter/proximity_fade_distance = 1.0 shader_parameter/alpha_mode = 0 [sub_resource type="CylinderMesh" id="CylinderMesh_7tx03"] top_radius = 1.6 height = 3.0 cap_top = false cap_bottom = false [sub_resource type="FastNoiseLite" id="FastNoiseLite_54wdx"] noise_type = 0 offset = Vector3(412.7, 0, 0) fractal_type = 3 fractal_octaves = 2 domain_warp_enabled = true domain_warp_type = 2 domain_warp_amplitude = 20.0 domain_warp_frequency = 0.04 [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_fomv7"] seamless = true seamless_blend_skirt = 0.5 noise = SubResource("FastNoiseLite_54wdx") [sub_resource type="ShaderMaterial" id="ShaderMaterial_4rgj4"] render_priority = 0 shader = ExtResource("5_so335") shader_parameter/noise_texture = SubResource("NoiseTexture2D_fomv7") shader_parameter/primary_color = Color(1, 0.780392, 0.231373, 1) shader_parameter/secondary_color = Color(0.960784, 0.388235, 0.176471, 1) shader_parameter/texture_scale = Vector2(1, 1) shader_parameter/time_scale = Vector2(0.1, 0.1) shader_parameter/grow = 0.2 shader_parameter/decay = 1.0 shader_parameter/proximity_fade = false shader_parameter/proximity_fade_distance = 1.0 shader_parameter/alpha_mode = 0 [sub_resource type="CylinderMesh" id="CylinderMesh_b0uon"] top_radius = 2.0 bottom_radius = 0.6 height = 1.6 cap_top = false cap_bottom = false [sub_resource type="Animation" id="Animation_b0uon"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.1] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.2] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Ground_Impact:material_override:shader_parameter/decay") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [0.164988] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Core: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("Smoke:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Light:light_multiplier") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Decal:emission_energy") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [4.0] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Decal:albedo_mix") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [1.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Sparks:emitting") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [false] } [sub_resource type="Animation" id="Animation_7tx03"] resource_name = "main" step = 0.05 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.05, 0.25, 1), "transitions": PackedFloat32Array(0.5, 0.5, 1, 1), "update": 0, "values": [0.2, 0.05, 0.02, 0.02] } tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0, 0.6, 1), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [1.0, 0.0, 0.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0, 0.05, 0.3, 1), "transitions": PackedFloat32Array(0.5, 1, 1, 1), "update": 0, "values": [0.2, 0.05, 0.05, 0.05] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "times": PackedFloat32Array(0, 0.55, 1), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [1.0, 0.0, 0.0] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("Ground_Impact:material_override:shader_parameter/decay") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "times": PackedFloat32Array(0, 0.8, 1), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [0.0, 1.0, 1.0] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true tracks/5/path = NodePath("Core: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("Smoke:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true tracks/7/path = NodePath("Light:light_multiplier") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0, 0.8, 1), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [1.0, 0.0, 0.0] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true tracks/8/path = NodePath("Decal:emission_energy") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0, 0.8), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [4.0, 0.0] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true tracks/9/path = NodePath("Decal:albedo_mix") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0, 0.8), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [1.0, 0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true tracks/10/path = NodePath("Sparks:emitting") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [true] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_b0uon"] _data = { &"RESET": SubResource("Animation_b0uon"), &"main": SubResource("Animation_7tx03") } [node name="VFXImpact_03" type="Node3D"] script = ExtResource("1_b0uon") primary_color = Color(1, 0.780392, 0.231373, 1) secondary_color = Color(0.960784, 0.388235, 0.176471, 1) [node name="Core" type="GPUParticles3D" parent="."] sorting_offset = 0.5 material_override = SubResource("ShaderMaterial_5ouiv") emitting = false amount = 1 one_shot = true explosiveness = 0.8 process_material = SubResource("ParticleProcessMaterial_iajpn") draw_pass_1 = SubResource("SphereMesh_ak2t6") [node name="Sparks" type="GPUParticles3D" parent="."] layers = 540672 material_override = SubResource("ShaderMaterial_mhplm") emitting = false amount = 16 lifetime = 0.5 one_shot = true explosiveness = 1.0 transform_align = 3 process_material = SubResource("ParticleProcessMaterial_ak2t6") draw_pass_1 = SubResource("QuadMesh_pto8m") [node name="Smoke" type="GPUParticles3D" parent="."] layers = 540672 sorting_offset = 0.2 material_override = SubResource("ShaderMaterial_hksqb") emitting = false lifetime = 1.2 one_shot = true explosiveness = 1.0 process_material = SubResource("ParticleProcessMaterial_pto8m") draw_pass_1 = SubResource("SphereMesh_iajpn") [node name="Ground_Impact" type="MeshInstance3D" parent="."] layers = 540672 sorting_offset = -0.5 material_override = SubResource("ShaderMaterial_so335") mesh = SubResource("PlaneMesh_4rgj4") [node name="Impact_Streaks2" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) layers = 540672 material_override = SubResource("ShaderMaterial_fomv7") mesh = SubResource("CylinderMesh_7tx03") [node name="Impact_Streaks1" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) layers = 540672 material_override = SubResource("ShaderMaterial_4rgj4") mesh = SubResource("CylinderMesh_b0uon") [node name="Decal" type="Decal" parent="."] size = Vector3(3, 3, 3) texture_albedo = ExtResource("6_4rgj4") texture_emission = ExtResource("7_5ouiv") emission_energy = 4.0 modulate = Color(1, 0.32549, 0, 1) cull_mask = 507903 [node name="Light" type="OmniLight3D" parent="."] 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("8_mhplm") base_energy = 8.0 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { &"": SubResource("AnimationLibrary_b0uon") }