Floatbot assets added, and nodetunnel being implemented.

This commit is contained in:
2026-02-03 06:59:07 -05:00
parent b90fdaad98
commit e7570c78c3
105 changed files with 14184 additions and 5 deletions

View File

@@ -0,0 +1,648 @@
[gd_scene load_steps=57 format=3 uid="uid://34ptrnfgpwlp"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_gk7hu"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_huy36"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="1_kc1dr"]
[ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="1_tpmvn"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="2_6ypje"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="6_vw7xv"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="7_fqiel"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="8_jehp2"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="9_jehp2"]
[sub_resource type="Gradient" id="Gradient_huy36"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_yt6d1"]
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_jehp2"]
seamless = true
color_ramp = SubResource("Gradient_huy36")
noise = SubResource("FastNoiseLite_yt6d1")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jehp2"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_gk7hu")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_jehp2")
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_gk7hu"]
_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_irlqe"]
curve = SubResource("Curve_gk7hu")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_vw7xv"]
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_irlqe")
[sub_resource type="SphereMesh" id="SphereMesh_gk7hu"]
radius = 1.0
radial_segments = 32
rings = 16
is_hemisphere = true
[sub_resource type="Gradient" id="Gradient_vw7xv"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_8mskx"]
gradient = SubResource("Gradient_vw7xv")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_irlqe"]
render_priority = 0
shader = ExtResource("6_vw7xv")
shader_parameter/shape_texture = SubResource("GradientTexture2D_8mskx")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
[sub_resource type="Curve" id="Curve_vw7xv"]
_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_0gt57"]
curve = SubResource("Curve_vw7xv")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_fqiel"]
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_0gt57")
[sub_resource type="QuadMesh" id="QuadMesh_8mskx"]
size = Vector2(0.05, 0.4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gk7hu"]
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_jx4yd"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_gk7hu")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vw7xv"]
noise_type = 2
frequency = 0.04
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vx8h5"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_vw7xv")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fqiel"]
render_priority = 0
shader = ExtResource("1_kc1dr")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_vx8h5")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_jx4yd")
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 = 0.2
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_jehp2"]
_data = [Vector2(0, 0.495863), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.42645, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_kt3hw"]
curve = SubResource("Curve_jehp2")
[sub_resource type="Gradient" id="Gradient_8mskx"]
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_b3slk"]
gradient = SubResource("Gradient_8mskx")
[sub_resource type="Gradient" id="Gradient_jx4yd"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xbpst"]
gradient = SubResource("Gradient_jx4yd")
[sub_resource type="Curve" id="Curve_kt3hw"]
_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_gappd"]
curve = SubResource("Curve_kt3hw")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_xbpst"]
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
spread = 180.0
flatness = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 10.0
damping_max = 20.0
scale_min = 0.8
scale_curve = SubResource("CurveTexture_gappd")
color_ramp = SubResource("GradientTexture1D_xbpst")
color_initial_ramp = SubResource("GradientTexture1D_b3slk")
alpha_curve = SubResource("CurveTexture_kt3hw")
[sub_resource type="SphereMesh" id="SphereMesh_huy36"]
radius = 1.5
height = 1.5
radial_segments = 32
rings = 16
is_hemisphere = true
[sub_resource type="FastNoiseLite" id="FastNoiseLite_irlqe"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_djaon"]
noise = SubResource("FastNoiseLite_irlqe")
[sub_resource type="Gradient" id="Gradient_tpmvn"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_m3kmr"]
gradient = SubResource("Gradient_tpmvn")
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_kc1dr"]
render_priority = 0
shader = ExtResource("1_tpmvn")
shader_parameter/shape_texture = SubResource("GradientTexture2D_m3kmr")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_djaon")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
shader_parameter/decay = 0.0
shader_parameter/alpha_mode = 0
[sub_resource type="PlaneMesh" id="PlaneMesh_jehp2"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_kc1dr"]
noise_type = 2
frequency = 0.02
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3gy3r"]
seamless = true
noise = SubResource("FastNoiseLite_kc1dr")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gk7hu"]
render_priority = 0
shader = ExtResource("2_6ypje")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_3gy3r")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
shader_parameter/texture_scale = Vector2(3, 0.2)
shader_parameter/time_scale = Vector2(-0.1, 0.1)
shader_parameter/grow = 0.34
shader_parameter/decay = 0.2
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_6ypje"]
top_radius = 1.2
height = 4.0
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jehp2"]
noise_type = 2
frequency = 0.02
offset = Vector3(412.7, 0, 0)
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_t532u"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_jehp2")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8mskx"]
render_priority = 0
shader = ExtResource("2_6ypje")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_t532u")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
shader_parameter/texture_scale = Vector2(4, 0.2)
shader_parameter/time_scale = Vector2(0.1, 0.1)
shader_parameter/grow = 0.15
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_tpmvn"]
top_radius = 2.0
bottom_radius = 0.6
height = 1.6
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="Animation" id="Animation_gk7hu"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Ground_Impact:material_override:shader_parameter/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
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": [0.2]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2: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.34]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Smoke:emitting")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Core:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Decal:emission_energy")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Decal:albedo_mix")
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("Light:light_multiplier")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.15]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_tpmvn"]
resource_name = "main"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Ground_Impact:material_override:shader_parameter/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(0.7, 1),
"update": 0,
"values": [0.0, 1.0]
}
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.0666667, 0.6, 1),
"transitions": PackedFloat32Array(0.5, 0.5, 1, 1),
"update": 0,
"values": [1.0, 1.0, 0.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.0666667, 0.6),
"transitions": PackedFloat32Array(0.5, 0.5, 1),
"update": 0,
"values": [0.15, 0.1, 0.05]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Smoke:emitting")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Core:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Decal:emission_energy")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(0.5, 1),
"update": 0,
"values": [4.0, 0.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Decal:albedo_mix")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(0.4, 1),
"update": 0,
"values": [1.0, 0.0]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("Light:light_multiplier")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 0.6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0, 0.0666667, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.482968, 1, 1),
"update": 0,
"values": [0.15, 0.1, 0.05, 0.05]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 0.0666667, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.707107, 1, 1),
"update": 0,
"values": [1.0, 1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6ypje"]
_data = {
&"RESET": SubResource("Animation_gk7hu"),
&"main": SubResource("Animation_tpmvn")
}
[node name="VFXImpact_01" type="Node3D"]
script = ExtResource("1_huy36")
primary_color = Color(1, 0.529412, 0, 1)
secondary_color = Color(0.984314, 0.192157, 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="."]
sorting_offset = 0.5
material_override = SubResource("ShaderMaterial_jehp2")
emitting = false
amount = 1
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_vw7xv")
draw_pass_1 = SubResource("SphereMesh_gk7hu")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_irlqe")
emitting = false
amount = 16
lifetime = 0.5
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_fqiel")
draw_pass_1 = SubResource("QuadMesh_8mskx")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
sorting_offset = 0.2
material_override = SubResource("ShaderMaterial_fqiel")
emitting = false
amount = 1
lifetime = 1.2
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_xbpst")
draw_pass_1 = SubResource("SphereMesh_huy36")
[node name="Ground_Impact" type="MeshInstance3D" parent="."]
layers = 540672
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_kc1dr")
mesh = SubResource("PlaneMesh_jehp2")
[node name="Impact_Streaks2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_gk7hu")
mesh = SubResource("CylinderMesh_6ypje")
[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_8mskx")
mesh = SubResource("CylinderMesh_tpmvn")
[node name="Decal" type="Decal" parent="."]
size = Vector3(3, 3, 3)
texture_albedo = ExtResource("7_fqiel")
texture_emission = ExtResource("8_jehp2")
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("9_jehp2")
base_energy = 8.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_6ypje")
}

View File

@@ -0,0 +1,515 @@
[gd_scene load_steps=41 format=3 uid="uid://x7jrg2y81jse"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_i0m4g"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_l4skl"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="2_i0m4g"]
[ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="4_k1np2"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="5_o354m"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="6_3rv0o"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="7_ckj5u"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="8_q6tea"]
[sub_resource type="Gradient" id="Gradient_l4skl"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_i0m4g"]
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_ewqdq"]
seamless = true
color_ramp = SubResource("Gradient_l4skl")
noise = SubResource("FastNoiseLite_i0m4g")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_k1np2"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_l4skl")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_ewqdq")
shader_parameter/primary_color = Color(1, 0.462745, 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_o354m"]
_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_3rv0o"]
curve = SubResource("Curve_o354m")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ckj5u"]
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_3rv0o")
[sub_resource type="SphereMesh" id="SphereMesh_l4skl"]
radius = 1.0
height = 0.7
radial_segments = 32
rings = 16
is_hemisphere = true
[sub_resource type="Gradient" id="Gradient_i0m4g"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_ewqdq"]
gradient = SubResource("Gradient_i0m4g")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_o354m"]
render_priority = 0
shader = ExtResource("2_i0m4g")
shader_parameter/shape_texture = SubResource("GradientTexture2D_ewqdq")
shader_parameter/primary_color = Color(1, 0.462745, 0, 1)
shader_parameter/secondary_color = Color(1, 0.0627451, 0, 1)
[sub_resource type="Curve" id="Curve_3rv0o"]
_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_ckj5u"]
curve = SubResource("Curve_3rv0o")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_q6tea"]
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_ckj5u")
[sub_resource type="QuadMesh" id="QuadMesh_mbqgx"]
size = Vector2(0.05, 0.4)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ewqdq"]
noise_type = 2
fractal_octaves = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_k1np2"]
noise = SubResource("FastNoiseLite_ewqdq")
[sub_resource type="Gradient" id="Gradient_k1np2"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_o354m"]
gradient = SubResource("Gradient_k1np2")
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_3rv0o"]
render_priority = 0
shader = ExtResource("4_k1np2")
shader_parameter/shape_texture = SubResource("GradientTexture2D_o354m")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_k1np2")
shader_parameter/primary_color = Color(1, 0.462745, 0, 1)
shader_parameter/secondary_color = Color(1, 0.0627451, 0, 1)
shader_parameter/decay = 0.0
shader_parameter/alpha_mode = 0
[sub_resource type="PlaneMesh" id="PlaneMesh_l4skl"]
size = Vector2(3, 3)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_q6tea"]
noise_type = 0
fractal_type = 2
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mbqgx"]
seamless = true
noise = SubResource("FastNoiseLite_q6tea")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mlvcm"]
render_priority = 0
shader = ExtResource("5_o354m")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_mbqgx")
shader_parameter/primary_color = Color(1, 0.462745, 0, 1)
shader_parameter/secondary_color = Color(1, 0.0627451, 0, 1)
shader_parameter/texture_scale = Vector2(1, 0.5)
shader_parameter/time_scale = Vector2(-0.1, 0.3)
shader_parameter/grow = 0.2
shader_parameter/decay = 0.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_8fjfo"]
top_radius = 0.6
height = 3.0
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_l4skl"]
noise_type = 0
offset = Vector3(412.7, 0, 0)
fractal_type = 2
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_i0m4g"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_l4skl")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ewqdq"]
render_priority = 0
shader = ExtResource("5_o354m")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_i0m4g")
shader_parameter/primary_color = Color(1, 0.462745, 0, 1)
shader_parameter/secondary_color = Color(1, 0.0627451, 0, 1)
shader_parameter/texture_scale = Vector2(2, 0.5)
shader_parameter/time_scale = Vector2(0.1, 0.1)
shader_parameter/grow = 0.2
shader_parameter/decay = 0.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_l4skl"]
top_radius = 1.6
bottom_radius = 0.6
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="Animation" id="Animation_i0m4g"]
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/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.2]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.2]
}
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.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": [false]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Sparks: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]
}
[sub_resource type="Animation" id="Animation_l4skl"]
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/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.05, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.4, 1, 1),
"update": 0,
"values": [0.0, 1.0, 0.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.05, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.4, 1, 1),
"update": 0,
"values": [0.2, 0.1, 0.05, 0.05]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.05, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.4, 1, 1),
"update": 0,
"values": [0.0, 1.0, 0.0, 0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.05, 0.6, 1),
"transitions": PackedFloat32Array(1, 0.4, 1, 1),
"update": 0,
"values": [0.2, 0.1, 0.05, 0.05]
}
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.6, 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("Sparks:emitting")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0.05),
"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.6, 1),
"transitions": PackedFloat32Array(0.5, 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.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.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.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_i0m4g"]
_data = {
&"RESET": SubResource("Animation_i0m4g"),
&"main": SubResource("Animation_l4skl")
}
[node name="VFXImpact_02" type="Node3D"]
script = ExtResource("1_i0m4g")
primary_color = Color(1, 0.462745, 0, 1)
secondary_color = Color(1, 0.0627451, 0, 1)
tertiary_color = Color(0.303233, 0.303233, 0.303233, 1)
[node name="Core" type="GPUParticles3D" parent="."]
sorting_offset = 0.5
material_override = SubResource("ShaderMaterial_k1np2")
emitting = false
amount = 1
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_ckj5u")
draw_pass_1 = SubResource("SphereMesh_l4skl")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_o354m")
emitting = false
amount = 16
lifetime = 0.5
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_q6tea")
draw_pass_1 = SubResource("QuadMesh_mbqgx")
[node name="Ground_Impact" type="MeshInstance3D" parent="."]
layers = 540672
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_3rv0o")
mesh = SubResource("PlaneMesh_l4skl")
[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_mlvcm")
mesh = SubResource("CylinderMesh_8fjfo")
[node name="Impact_Streaks1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_ewqdq")
mesh = SubResource("CylinderMesh_l4skl")
[node name="Decal" type="Decal" parent="."]
size = Vector3(3, 3, 3)
texture_albedo = ExtResource("6_3rv0o")
texture_emission = ExtResource("7_ckj5u")
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_q6tea")
base_energy = 8.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_i0m4g")
}

View File

@@ -0,0 +1,656 @@
[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")
}

View File

@@ -0,0 +1,661 @@
[gd_scene load_steps=57 format=3 uid="uid://2eq2j53sic1i"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_hdc0q"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_yy7r0"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="2_hdc0q"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="3_235d3"]
[ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="4_3tcg6"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="5_3w10a"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="6_nw0c3"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="7_2j8l2"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="8_dc2st"]
[sub_resource type="Gradient" id="Gradient_yy7r0"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_hdc0q"]
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_235d3"]
seamless = true
color_ramp = SubResource("Gradient_yy7r0")
noise = SubResource("FastNoiseLite_hdc0q")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3tcg6"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_yy7r0")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_235d3")
shader_parameter/primary_color = Color(0.917647, 0.439216, 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_3w10a"]
_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_nw0c3"]
curve = SubResource("Curve_3w10a")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_2j8l2"]
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_nw0c3")
[sub_resource type="SphereMesh" id="SphereMesh_dc2st"]
radius = 0.8
height = 0.5
is_hemisphere = true
[sub_resource type="Gradient" id="Gradient_mbt53"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_kl6uu"]
gradient = SubResource("Gradient_mbt53")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rhnvq"]
render_priority = 0
shader = ExtResource("2_hdc0q")
shader_parameter/shape_texture = SubResource("GradientTexture2D_kl6uu")
shader_parameter/primary_color = Color(0.917647, 0.439216, 0, 1)
shader_parameter/secondary_color = Color(1, 0.627451, 0.294118, 1)
[sub_resource type="Curve" id="Curve_o2r4g"]
_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_ovten"]
curve = SubResource("Curve_o2r4g")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_iqw3l"]
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_ovten")
[sub_resource type="QuadMesh" id="QuadMesh_omfat"]
size = Vector2(0.05, 0.4)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_yy7r0"]
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_hdc0q"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_yy7r0")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_235d3"]
noise_type = 2
frequency = 0.04
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3tcg6"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_235d3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3w10a"]
render_priority = 0
shader = ExtResource("3_235d3")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_3tcg6")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_hdc0q")
shader_parameter/primary_color = Color(0.917647, 0.439216, 0, 1)
shader_parameter/tertiary_color = Color(0.317647, 0.317647, 0.219608, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 0.6
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_yy7r0"]
_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_hdc0q"]
curve = SubResource("Curve_yy7r0")
[sub_resource type="Gradient" id="Gradient_235d3"]
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_3tcg6"]
gradient = SubResource("Gradient_235d3")
[sub_resource type="Gradient" id="Gradient_3w10a"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_nw0c3"]
gradient = SubResource("Gradient_3w10a")
[sub_resource type="Curve" id="Curve_2j8l2"]
_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_dc2st"]
curve = SubResource("Curve_2j8l2")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mbt53"]
particle_flag_align_y = true
emission_shape_offset = Vector3(0, 0.5, 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 = 20.0
initial_velocity_min = 2.0
initial_velocity_max = 6.0
gravity = Vector3(0, 0, 0)
damping_min = 3.0
damping_max = 5.0
scale_min = 0.2
scale_curve = SubResource("CurveTexture_dc2st")
color_ramp = SubResource("GradientTexture1D_nw0c3")
color_initial_ramp = SubResource("GradientTexture1D_3tcg6")
alpha_curve = SubResource("CurveTexture_hdc0q")
[sub_resource type="SphereMesh" id="SphereMesh_kl6uu"]
radius = 0.6
height = 2.5
radial_segments = 32
rings = 16
[sub_resource type="FastNoiseLite" id="FastNoiseLite_3tcg6"]
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_3w10a"]
noise = SubResource("FastNoiseLite_3tcg6")
[sub_resource type="Gradient" id="Gradient_nw0c3"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_2j8l2"]
gradient = SubResource("Gradient_nw0c3")
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_dc2st"]
render_priority = 0
shader = ExtResource("4_3tcg6")
shader_parameter/shape_texture = SubResource("GradientTexture2D_2j8l2")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_3w10a")
shader_parameter/primary_color = Color(0.917647, 0.439216, 0, 1)
shader_parameter/secondary_color = Color(1, 0.627451, 0.294118, 1)
shader_parameter/decay = 0.0
shader_parameter/alpha_mode = 0
[sub_resource type="PlaneMesh" id="PlaneMesh_uetuo"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_3lxlv"]
noise_type = 3
frequency = 0.005
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_ojxkw"]
seamless = true
noise = SubResource("FastNoiseLite_3lxlv")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1d7b2"]
render_priority = 0
shader = ExtResource("5_3w10a")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_ojxkw")
shader_parameter/primary_color = Color(0.917647, 0.439216, 0, 1)
shader_parameter/secondary_color = Color(1, 0.627451, 0.294118, 1)
shader_parameter/texture_scale = Vector2(3, 1)
shader_parameter/time_scale = Vector2(-0.1, 0.1)
shader_parameter/grow = 0.05
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_yy7r0"]
top_radius = 1.5
height = 1.6
cap_top = false
cap_bottom = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7lxyq"]
noise_type = 0
frequency = 0.003
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_25mym"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_7lxyq")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_uyueq"]
render_priority = 0
shader = ExtResource("5_3w10a")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_25mym")
shader_parameter/primary_color = Color(0.917647, 0.439216, 0, 1)
shader_parameter/secondary_color = Color(1, 0.627451, 0.294118, 1)
shader_parameter/texture_scale = Vector2(4, 1)
shader_parameter/time_scale = Vector2(0.1, 0.1)
shader_parameter/grow = 0.05
shader_parameter/decay = 0.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_hdc0q"]
top_radius = 2.0
bottom_radius = 0.6
height = 0.8
cap_top = false
cap_bottom = false
[sub_resource type="Animation" id="Animation_ms5jo"]
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/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.05, 0.1, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 0.6, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 0.0, 0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.1, 0.15, 0.55, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 0.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.05, 0.5, 1),
"transitions": PackedFloat32Array(4, 4, 1, 1),
"update": 0,
"values": [0.05, 0.05, 0.2, 0.2]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.15, 0.55, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.05, 0.05, 0.2, 0.2]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Core:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Ground_Impact:material_override:shader_parameter/decay")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 0.55, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 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, 0.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.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.6, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("Light:light_multiplier")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0, 0.55, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="Animation" id="Animation_yy7r0"]
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/decay")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks1: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": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2: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.05]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.05]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Core:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Ground_Impact:material_override:shader_parameter/decay")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [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),
"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("Light:light_multiplier")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tw8oj"]
_data = {
&"RESET": SubResource("Animation_yy7r0"),
&"main": SubResource("Animation_ms5jo")
}
[node name="VFXImpact_04" type="Node3D"]
script = ExtResource("1_hdc0q")
primary_color = Color(0.917647, 0.439216, 0, 1)
secondary_color = Color(1, 0.627451, 0.294118, 1)
tertiary_color = Color(0.317647, 0.317647, 0.219608, 1)
light_color = Color(0.917647, 0.439216, 0, 1)
[node name="Core" type="GPUParticles3D" parent="."]
sorting_offset = 0.5
material_override = SubResource("ShaderMaterial_3tcg6")
emitting = false
amount = 1
lifetime = 1.6
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_2j8l2")
draw_pass_1 = SubResource("SphereMesh_dc2st")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_rhnvq")
emitting = false
amount = 16
lifetime = 0.5
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_iqw3l")
draw_pass_1 = SubResource("QuadMesh_omfat")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
sorting_offset = 0.2
material_override = SubResource("ShaderMaterial_3w10a")
emitting = false
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_mbt53")
draw_pass_1 = SubResource("SphereMesh_kl6uu")
[node name="Ground_Impact" type="MeshInstance3D" parent="."]
layers = 540672
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_dc2st")
mesh = SubResource("PlaneMesh_uetuo")
[node name="Impact_Streaks2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_1d7b2")
mesh = SubResource("CylinderMesh_yy7r0")
[node name="Impact_Streaks1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_uyueq")
mesh = SubResource("CylinderMesh_hdc0q")
[node name="Decal" type="Decal" parent="."]
size = Vector3(3, 3, 3)
texture_albedo = ExtResource("6_nw0c3")
texture_emission = ExtResource("7_2j8l2")
emission_energy = 4.0
modulate = Color(1, 0.32549, 0, 1)
cull_mask = 507903
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(0.917647, 0.439216, 0, 1)
light_energy = 8.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("8_dc2st")
base_energy = 8.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_tw8oj")
}

View File

@@ -0,0 +1,643 @@
[gd_scene load_steps=57 format=3 uid="uid://dgct4mxupvyvi"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_am62u"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_rr123"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="2_am62u"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="3_8q4jv"]
[ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="4_b5ep3"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="5_chide"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="6_iidpi"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="7_k6d2x"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="8_s328v"]
[sub_resource type="Gradient" id="Gradient_am62u"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_iidpi"]
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_k6d2x"]
seamless = true
color_ramp = SubResource("Gradient_am62u")
noise = SubResource("FastNoiseLite_iidpi")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3533t"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_rr123")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_k6d2x")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 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_2sgf2"]
_data = [Vector2(0, 0), 0.0, 0.439471, 0, 0, Vector2(1, 1), 1.98161, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_rrrcj"]
curve = SubResource("Curve_2sgf2")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_amm2i"]
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_rrrcj")
[sub_resource type="SphereMesh" id="SphereMesh_5oy36"]
radius = 0.8
height = 0.2
radial_segments = 32
rings = 16
is_hemisphere = true
[sub_resource type="Gradient" id="Gradient_rr123"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_am62u"]
gradient = SubResource("Gradient_rr123")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8q4jv"]
render_priority = 0
shader = ExtResource("2_am62u")
shader_parameter/shape_texture = SubResource("GradientTexture2D_am62u")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 1)
shader_parameter/secondary_color = Color(1, 0.337255, 0, 1)
[sub_resource type="Curve" id="Curve_rr123"]
_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_am62u"]
curve = SubResource("Curve_rr123")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_8q4jv"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 30.0
initial_velocity_min = 5.0
initial_velocity_max = 15.0
damping_min = 5.0
damping_max = 10.0
scale_min = 0.5
scale_curve = SubResource("CurveTexture_am62u")
[sub_resource type="QuadMesh" id="QuadMesh_k6d2x"]
size = Vector2(0.05, 0.4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rr123"]
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_am62u"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_rr123")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_8q4jv"]
noise_type = 2
frequency = 0.04
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_b5ep3"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_8q4jv")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_chide"]
render_priority = 0
shader = ExtResource("3_8q4jv")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_b5ep3")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_am62u")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 1)
shader_parameter/tertiary_color = Color(0.57, 0.312645, 0.2109, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 0.6
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_iidpi"]
_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_k6d2x"]
curve = SubResource("Curve_iidpi")
[sub_resource type="Gradient" id="Gradient_s328v"]
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_3533t"]
gradient = SubResource("Gradient_s328v")
[sub_resource type="Gradient" id="Gradient_2sgf2"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_rrrcj"]
gradient = SubResource("Gradient_2sgf2")
[sub_resource type="Curve" id="Curve_amm2i"]
_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_5oy36"]
curve = SubResource("Curve_amm2i")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_yp81r"]
particle_flag_align_y = true
emission_shape_offset = Vector3(0, 0.5, 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)
initial_velocity_min = 1.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_5oy36")
color_ramp = SubResource("GradientTexture1D_rrrcj")
color_initial_ramp = SubResource("GradientTexture1D_3533t")
alpha_curve = SubResource("CurveTexture_k6d2x")
[sub_resource type="SphereMesh" id="SphereMesh_ptibk"]
radius = 1.0
height = 0.5
radial_segments = 32
rings = 16
[sub_resource type="FastNoiseLite" id="FastNoiseLite_am62u"]
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_8q4jv"]
noise = SubResource("FastNoiseLite_am62u")
[sub_resource type="Gradient" id="Gradient_b5ep3"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_chide"]
gradient = SubResource("Gradient_b5ep3")
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_iidpi"]
render_priority = 0
shader = ExtResource("4_b5ep3")
shader_parameter/shape_texture = SubResource("GradientTexture2D_chide")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_8q4jv")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 1)
shader_parameter/secondary_color = Color(1, 0.337255, 0, 1)
shader_parameter/decay = 0.0
shader_parameter/alpha_mode = 0
[sub_resource type="PlaneMesh" id="PlaneMesh_rr123"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_chide"]
noise_type = 3
frequency = 0.005
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_iidpi"]
seamless = true
noise = SubResource("FastNoiseLite_chide")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_s328v"]
render_priority = 0
shader = ExtResource("5_chide")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_iidpi")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 1)
shader_parameter/secondary_color = Color(1, 0.337255, 0, 1)
shader_parameter/texture_scale = Vector2(3, 1)
shader_parameter/time_scale = Vector2(-0.1, 0.1)
shader_parameter/grow = 0.0518914
shader_parameter/decay = 0.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_2sgf2"]
top_radius = 1.6
bottom_radius = 0.6
height = 1.4
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_b5ep3"]
noise_type = 0
frequency = 0.003
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_chide"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_b5ep3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_k6d2x"]
render_priority = 0
shader = ExtResource("5_chide")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_chide")
shader_parameter/primary_color = Color(1, 0.560784, 0.462745, 1)
shader_parameter/secondary_color = Color(1, 0.337255, 0, 1)
shader_parameter/texture_scale = Vector2(4, 1)
shader_parameter/time_scale = Vector2(0.1, 0.1)
shader_parameter/grow = 0.3
shader_parameter/decay = 0.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="CylinderMesh" id="CylinderMesh_yp81r"]
top_radius = 1.6
bottom_radius = 0.0
height = 0.4
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="Animation" id="Animation_s328v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Impact_Streaks1: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.3]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks1: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": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Core:emitting")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Smoke:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Ground_Impact:material_override:shader_parameter/decay")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
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]
}
[sub_resource type="Animation" id="Animation_rr123"]
resource_name = "main"
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.05, 0.5, 1),
"transitions": PackedFloat32Array(0.2, 0.5, 1, 1),
"update": 0,
"values": [0.3, 0.1, 0.03, 0.03]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Impact_Streaks1:material_override:shader_parameter/decay")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.05, 0.65, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 0.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 0.0, 0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Core:emitting")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.05),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Smoke:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.05),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Sparks: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("Ground_Impact:material_override:shader_parameter/decay")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0]
}
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.5, 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.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.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.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_am62u"]
_data = {
&"RESET": SubResource("Animation_s328v"),
&"main": SubResource("Animation_rr123")
}
[node name="VFXImpact_05" type="Node3D"]
script = ExtResource("1_am62u")
primary_color = Color(1, 0.560784, 0.462745, 1)
secondary_color = Color(1, 0.337255, 0, 1)
tertiary_color = Color(0.57, 0.312645, 0.2109, 1)
light_color = Color(1, 0.560784, 0.462745, 1)
[node name="Core" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_3533t")
emitting = false
amount = 1
lifetime = 0.8
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_amm2i")
draw_pass_1 = SubResource("SphereMesh_5oy36")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_8q4jv")
emitting = false
amount = 32
lifetime = 0.5
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_8q4jv")
draw_pass_1 = SubResource("QuadMesh_k6d2x")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
sorting_offset = 0.2
material_override = SubResource("ShaderMaterial_chide")
emitting = false
amount = 16
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_yp81r")
draw_pass_1 = SubResource("SphereMesh_ptibk")
[node name="Ground_Impact" type="MeshInstance3D" parent="."]
layers = 540672
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_iidpi")
mesh = SubResource("PlaneMesh_rr123")
[node name="Impact_Streaks2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.7, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_s328v")
mesh = SubResource("CylinderMesh_2sgf2")
[node name="Impact_Streaks1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_k6d2x")
mesh = SubResource("CylinderMesh_yp81r")
[node name="Decal" type="Decal" parent="."]
size = Vector3(3, 3, 3)
texture_albedo = ExtResource("6_iidpi")
texture_emission = ExtResource("7_k6d2x")
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.560784, 0.462745, 1)
light_energy = 8.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("8_s328v")
base_energy = 8.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_am62u")
}

View File

@@ -0,0 +1,536 @@
[gd_scene load_steps=45 format=3 uid="uid://ditmybmcrt283"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_1ainm"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_cpglc"]
[ext_resource type="Shader" uid="uid://dw1bkef40wjyi" path="res://assets/BinbunVFX/impact_explosions/src/shader/ground_impact.gdshader" id="2_cpglc"]
[ext_resource type="Shader" uid="uid://bf8eiigjam2fr" path="res://assets/BinbunVFX/impact_explosions/src/shader/explostion_ring.gdshader" id="3_hekmx"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="3_i6n1f"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="4_hekmx"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="5_j1n3n"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="6_uiprv"]
[sub_resource type="Gradient" id="Gradient_l6bhb"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6r8sx"]
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_7aqx2"]
seamless = true
color_ramp = SubResource("Gradient_l6bhb")
noise = SubResource("FastNoiseLite_6r8sx")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3syo3"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_1ainm")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_7aqx2")
shader_parameter/primary_color = Color(1, 0.454902, 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_jtj2s"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4kqba"]
curve = SubResource("Curve_jtj2s")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_rcnau"]
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_4kqba")
[sub_resource type="SphereMesh" id="SphereMesh_3ky6y"]
radius = 0.8
height = 0.8
radial_segments = 32
rings = 16
is_hemisphere = true
[sub_resource type="FastNoiseLite" id="FastNoiseLite_i6n1f"]
noise_type = 2
fractal_octaves = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_hekmx"]
seamless = true
noise = SubResource("FastNoiseLite_i6n1f")
[sub_resource type="Gradient" id="Gradient_j1n3n"]
offsets = PackedFloat32Array(0.868159, 0.980099, 1)
colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_uiprv"]
gradient = SubResource("Gradient_j1n3n")
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_l6bhb"]
render_priority = 0
shader = ExtResource("3_hekmx")
shader_parameter/ring_texture = SubResource("GradientTexture2D_uiprv")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_hekmx")
shader_parameter/primary_color = Color(1, 0.294118, 0.0666667, 1)
shader_parameter/secondary_color = Color(0.713726, 0.192157, 0, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 4.0
shader_parameter/alpha_mode = 1
[sub_resource type="Curve" id="Curve_6r8sx"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -2.57182, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_7aqx2"]
curve = SubResource("Curve_6r8sx")
[sub_resource type="Curve" id="Curve_3syo3"]
_data = [Vector2(0, 0), 0.0, 6.09936, 0, 0, Vector2(0.216346, 0.856486), 0.699631, 0.699631, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_jtj2s"]
curve = SubResource("Curve_3syo3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4kqba"]
angle_min = 1.07288e-05
angle_max = 1.07288e-05
direction = Vector3(0, 1, 0)
spread = 90.0
initial_velocity_min = -1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
scale_min = 0.6
scale_max = 1.2
scale_curve = SubResource("CurveTexture_jtj2s")
alpha_curve = SubResource("CurveTexture_7aqx2")
[sub_resource type="QuadMesh" id="QuadMesh_i6n1f"]
size = Vector2(4, 4)
orientation = 1
[sub_resource type="FastNoiseLite" id="FastNoiseLite_b5pcy"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3f5vg"]
noise = SubResource("FastNoiseLite_b5pcy")
[sub_resource type="Gradient" id="Gradient_imq44"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_gsjnu"]
gradient = SubResource("Gradient_imq44")
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_tn6s4"]
render_priority = 0
shader = ExtResource("2_cpglc")
shader_parameter/shape_texture = SubResource("GradientTexture2D_gsjnu")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_3f5vg")
shader_parameter/primary_color = Color(1, 0.454902, 0, 1)
shader_parameter/secondary_color = Color(1, 0.270588, 0.0392157, 1)
shader_parameter/decay = 0.0
shader_parameter/alpha_mode = 0
[sub_resource type="PlaneMesh" id="PlaneMesh_xgc35"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_2lstl"]
noise_type = 2
frequency = 0.02
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_gisu5"]
seamless = true
noise = SubResource("FastNoiseLite_2lstl")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_573mb"]
render_priority = 0
shader = ExtResource("3_i6n1f")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_gisu5")
shader_parameter/primary_color = Color(1, 0.454902, 0, 1)
shader_parameter/secondary_color = Color(1, 0.270588, 0.0392157, 1)
shader_parameter/texture_scale = Vector2(3, 1)
shader_parameter/time_scale = Vector2(-0.1, 0.1)
shader_parameter/grow = 0.04
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_n55o1"]
top_radius = 1.2
bottom_radius = 0.0
height = 1.0
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_7dous"]
noise_type = 2
frequency = 0.02
offset = Vector3(412.7, 0, 0)
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_sg858"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_7dous")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2n5mr"]
render_priority = 0
shader = ExtResource("3_i6n1f")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_sg858")
shader_parameter/primary_color = Color(1, 0.454902, 0, 1)
shader_parameter/secondary_color = Color(1, 0.270588, 0.0392157, 1)
shader_parameter/texture_scale = Vector2(4, 1)
shader_parameter/time_scale = Vector2(0.1, 0.1)
shader_parameter/grow = 0.16
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_1oo0j"]
top_radius = 2.0
bottom_radius = 0.0
height = 0.4
radial_segments = 32
cap_top = false
cap_bottom = false
[sub_resource type="Animation" id="Animation_1ainm"]
resource_name = "main"
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("Ground_Impact:material_override:shader_parameter/decay")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.433333, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2:material_override:shader_parameter/grow")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.1, 0.433333, 1),
"transitions": PackedFloat32Array(1, 0.366021, 1, 1),
"update": 0,
"values": [0.52, 0.1, 0.05, 0.52]
}
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.166667, 0.433333),
"transitions": PackedFloat32Array(2, 1, 1),
"update": 0,
"values": [0.0, 1.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.1, 0.166667, 0.433333, 1),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 0,
"values": [0.4, 0.16, 0.05, 0.05, 0.4]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.1, 0.433333),
"transitions": PackedFloat32Array(1, 2, 1),
"update": 0,
"values": [0.0, 1.0, 0.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Decal:emission_energy")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 0.7, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.0, 0.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Decal:albedo_mix")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 0.7, 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("Light:light_multiplier")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 0.433333, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Rings:emitting")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_cpglc"]
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("Ground_Impact: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": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Impact_Streaks2: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.04]
}
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("Impact_Streaks1:material_override:shader_parameter/grow")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.16]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Impact_Streaks2:material_override:shader_parameter/decay")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Decal:emission_energy")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Decal:albedo_mix")
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("Light:light_multiplier")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("Rings:emitting")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cpglc"]
_data = {
&"RESET": SubResource("Animation_cpglc"),
&"main": SubResource("Animation_1ainm")
}
[node name="VFXImpact_06" type="Node3D"]
script = ExtResource("1_cpglc")
primary_color = Color(1, 0.454902, 0, 1)
secondary_color = Color(1, 0.270588, 0.0392157, 1)
light_color = Color(1, 0.454902, 0, 1)
[node name="Core" type="GPUParticles3D" parent="."]
sorting_offset = 0.5
material_override = SubResource("ShaderMaterial_3syo3")
emitting = false
amount = 1
lifetime = 0.8
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_rcnau")
draw_pass_1 = SubResource("SphereMesh_3ky6y")
[node name="Rings" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_l6bhb")
emitting = false
amount = 1
one_shot = true
explosiveness = 0.9
process_material = SubResource("ParticleProcessMaterial_4kqba")
draw_pass_1 = SubResource("QuadMesh_i6n1f")
[node name="Ground_Impact" type="MeshInstance3D" parent="."]
layers = 540672
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_tn6s4")
mesh = SubResource("PlaneMesh_xgc35")
[node name="Impact_Streaks2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_573mb")
mesh = SubResource("CylinderMesh_n55o1")
[node name="Impact_Streaks1" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
layers = 540672
material_override = SubResource("ShaderMaterial_2n5mr")
mesh = SubResource("CylinderMesh_1oo0j")
[node name="Decal" type="Decal" parent="."]
size = Vector3(3, 3, 3)
texture_albedo = ExtResource("4_hekmx")
texture_emission = ExtResource("5_j1n3n")
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.454902, 0, 1)
light_energy = 8.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_uiprv")
base_energy = 8.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_cpglc")
}