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,559 @@
[gd_scene load_steps=59 format=3 uid="uid://bflg720h1w3d3"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_so17j"]
[ext_resource type="Shader" uid="uid://b6ke6r1fjb8s3" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core.gdshader" id="2_d2rk6"]
[ext_resource type="Material" uid="uid://dnw08mtonx63d" path="res://assets/BinbunVFX/impact_explosions/src/material/explosion/explosion_smoke.tres" id="2_plj08"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="3_msnhc"]
[ext_resource type="Shader" uid="uid://bf8eiigjam2fr" path="res://assets/BinbunVFX/impact_explosions/src/shader/explostion_ring.gdshader" id="5_d2rk6"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="5_otofc"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="6_d2rk6"]
[ext_resource type="Shader" uid="uid://ccd4kg68n7uox" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic_billboard.gdshader" id="8_y01pw"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="9_85p3d"]
[sub_resource type="Gradient" id="Gradient_y01pw"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_85p3d"]
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_csir3"]
seamless = true
color_ramp = SubResource("Gradient_y01pw")
noise = SubResource("FastNoiseLite_85p3d")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_e6ocy"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("2_d2rk6")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_csir3")
shader_parameter/primary_color = Color(1, 0.662745, 0.0666667, 1)
shader_parameter/texture_scale = Vector2(1, 1)
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="SphereMesh" id="SphereMesh_awqfb"]
radius = 1.8
height = 3.6
radial_segments = 32
rings = 16
[sub_resource type="Curve" id="Curve_msnhc"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.42645, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_csir3"]
curve = SubResource("Curve_msnhc")
[sub_resource type="Gradient" id="Gradient_msnhc"]
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_e6ocy"]
gradient = SubResource("Gradient_msnhc")
[sub_resource type="Gradient" id="Gradient_plj08"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_u3den"]
gradient = SubResource("Gradient_plj08")
[sub_resource type="Curve" id="Curve_plj08"]
_data = [Vector2(0, 0.103036), 0.0, 2.87627, 0, 0, Vector2(0.502404, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), -0.135687, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_fabmy"]
curve = SubResource("Curve_plj08")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_cp01m"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
initial_velocity_min = 6.0
initial_velocity_max = 10.0
gravity = Vector3(0, 0, 0)
damping_min = 15.0
damping_max = 20.0
scale_min = 0.5
scale_curve = SubResource("CurveTexture_fabmy")
color_ramp = SubResource("GradientTexture1D_u3den")
color_initial_ramp = SubResource("GradientTexture1D_e6ocy")
alpha_curve = SubResource("CurveTexture_csir3")
[sub_resource type="SphereMesh" id="SphereMesh_plj08"]
radius = 1.2
height = 2.4
radial_segments = 32
rings = 16
[sub_resource type="Gradient" id="Gradient_so17j"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_y01pw"]
gradient = SubResource("Gradient_so17j")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_msnhc"]
render_priority = 0
shader = ExtResource("3_msnhc")
shader_parameter/shape_texture = SubResource("GradientTexture2D_y01pw")
shader_parameter/primary_color = Color(1, 0.662745, 0.0666667, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
[sub_resource type="Curve" id="Curve_otofc"]
_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_e6ocy"]
curve = SubResource("Curve_otofc")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_msnhc"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
initial_velocity_min = 5.0
initial_velocity_max = 20.0
damping_min = 5.0
damping_max = 10.0
scale_min = 0.5
scale_curve = SubResource("CurveTexture_e6ocy")
[sub_resource type="QuadMesh" id="QuadMesh_so17j"]
size = Vector2(0.05, 0.4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="FastNoiseLite" id="FastNoiseLite_d2rk6"]
noise_type = 2
fractal_octaves = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_7t2vj"]
seamless = true
noise = SubResource("FastNoiseLite_d2rk6")
[sub_resource type="Gradient" id="Gradient_d2rk6"]
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_cwquj"]
gradient = SubResource("Gradient_d2rk6")
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_y01pw"]
render_priority = 0
shader = ExtResource("5_d2rk6")
shader_parameter/ring_texture = SubResource("GradientTexture2D_cwquj")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_7t2vj")
shader_parameter/primary_color = Color(1, 0.662745, 0.0666667, 1)
shader_parameter/secondary_color = Color(0.984314, 0.192157, 0, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_y01pw"]
_data = [Vector2(0, 1), 0.0, -0.971299, 0, 0, Vector2(1, 0), -0.989796, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_qiymc"]
curve = SubResource("Curve_y01pw")
[sub_resource type="Curve" id="Curve_d2rk6"]
_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_78tnr"]
curve = SubResource("Curve_d2rk6")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_otofc"]
particle_flag_align_y = true
angle_min = 1.07288e-05
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 90.0
initial_velocity_min = -0.2
initial_velocity_max = 0.2
gravity = Vector3(0, 0, 0)
scale_min = 0.6
scale_max = 1.2
scale_curve = SubResource("CurveTexture_78tnr")
alpha_curve = SubResource("CurveTexture_qiymc")
[sub_resource type="QuadMesh" id="QuadMesh_otofc"]
size = Vector2(8, 8)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="Gradient" id="Gradient_85p3d"]
offsets = PackedFloat32Array(0.29558, 1)
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_3i5cu"]
gradient = SubResource("Gradient_85p3d")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_y01pw"]
noise_type = 2
frequency = 0.02
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_cwquj"]
invert = true
seamless = true
seamless_blend_skirt = 1.0
noise = SubResource("FastNoiseLite_y01pw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_85p3d"]
render_priority = 0
shader = ExtResource("8_y01pw")
shader_parameter/mask_texture = SubResource("GradientTexture2D_3i5cu")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_cwquj")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
shader_parameter/alpha_multiplier = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_85p3d"]
_data = [Vector2(0, 0), 0.0, 1.01211, 0, 0, Vector2(1, 1), 0.977263, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_xi76h"]
curve = SubResource("Curve_85p3d")
[sub_resource type="Gradient" id="Gradient_csir3"]
colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_8vear"]
gradient = SubResource("Gradient_csir3")
[sub_resource type="Curve" id="Curve_752a7"]
_limits = [0.0, 3.0, 0.0, 1.0]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_pr5p5"]
curve = SubResource("Curve_752a7")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_csir3"]
spread = 180.0
flatness = 0.8
initial_velocity_min = 4.0
initial_velocity_max = 6.0
gravity = Vector3(0, 1, 0)
damping_min = 1.0
damping_max = 2.0
scale_over_velocity_curve = SubResource("CurveTexture_pr5p5")
color_initial_ramp = SubResource("GradientTexture1D_8vear")
alpha_curve = SubResource("CurveTexture_xi76h")
[sub_resource type="QuadMesh" id="QuadMesh_e6ocy"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="Animation" id="Animation_plj08"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Decal:emission_energy")
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("Decal:albedo_mix")
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("Decal:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0, 0, 0, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Rings: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: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("Dust:emitting")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Light:light_multiplier")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_v36aq"]
resource_name = "main"
length = 1.2
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Smoke:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.05),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Sparks:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.05),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:emission_energy")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [4.0, 0.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:albedo_mix")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.5, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 1.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:modulate")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 0.32549, 0, 1), Color(0, 0, 0, 1)]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Rings: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("Core:material_override:shader_parameter/decay")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 0.1, 1, 1.2),
"transitions": PackedFloat32Array(0.5, 0.5, 1, 1),
"update": 0,
"values": [null, 0.5, 1.0, 1.0]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Dust:emitting")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.05),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
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, 1),
"transitions": PackedFloat32Array(0.6, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_plj08"]
_data = {
&"RESET": SubResource("Animation_plj08"),
&"main": SubResource("Animation_v36aq")
}
[node name="VFXExplosion_01" type="Node3D"]
script = ExtResource("1_so17j")
primary_color = Color(1, 0.662745, 0.0666667, 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.662745, 0.0666667, 1)
light_energy = 12.0
alpha_mode = 1
[node name="Core" type="MeshInstance3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_e6ocy")
mesh = SubResource("SphereMesh_awqfb")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
material_override = ExtResource("2_plj08")
amount = 16
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_cp01m")
draw_pass_1 = SubResource("SphereMesh_plj08")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_msnhc")
amount = 16
lifetime = 0.5
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_msnhc")
draw_pass_1 = SubResource("QuadMesh_so17j")
[node name="Rings" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_y01pw")
emitting = false
amount = 3
lifetime = 1.2
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_otofc")
draw_pass_1 = SubResource("QuadMesh_otofc")
[node name="Dust" type="GPUParticles3D" parent="."]
layers = 540672
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_85p3d")
emitting = false
amount = 16
one_shot = true
explosiveness = 0.9
process_material = SubResource("ParticleProcessMaterial_csir3")
draw_pass_1 = SubResource("QuadMesh_e6ocy")
[node name="Decal" type="Decal" parent="."]
visible = false
size = Vector3(5, 5, 5)
texture_albedo = ExtResource("5_otofc")
texture_emission = ExtResource("6_d2rk6")
emission_energy = 0.0
modulate = Color(0, 0, 0, 1)
albedo_mix = 0.0
cull_mask = 507903
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 0.662745, 0.0666667, 1)
light_energy = 12.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("9_85p3d")
base_energy = 12.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
callback_mode_method = 1
libraries = {
&"": SubResource("AnimationLibrary_plj08")
}
autoplay = "RESET"

View File

@@ -0,0 +1,616 @@
[gd_scene load_steps=67 format=3 uid="uid://dato0qpbqvwnj"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_8n8gd"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_cdqbm"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="1_sadvm"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="2_8n8gd"]
[ext_resource type="Shader" uid="uid://bf8eiigjam2fr" path="res://assets/BinbunVFX/impact_explosions/src/shader/explostion_ring.gdshader" id="3_cdqbm"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="6_bdwyf"]
[ext_resource type="Shader" uid="uid://ccd4kg68n7uox" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic_billboard.gdshader" id="6_haqe0"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="7_haqe0"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="9_bqkcx"]
[sub_resource type="Gradient" id="Gradient_8n8gd"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_cdqbm"]
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_haqe0"]
seamless = true
color_ramp = SubResource("Gradient_8n8gd")
noise = SubResource("FastNoiseLite_cdqbm")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bdwyf"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_8n8gd")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_haqe0")
shader_parameter/primary_color = Color(1, 0.294118, 0.0666667, 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_cdqbm"]
_data = [Vector2(0, 0), 0.0, 2.58816, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_rmi04"]
curve = SubResource("Curve_cdqbm")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_sadvm"]
emission_shape = 2
emission_sphere_radius = 0.2
angle_min = -720.0
angle_max = 799.5
spread = 180.0
flatness = 1.0
initial_velocity_min = -0.5
initial_velocity_max = 0.5
gravity = Vector3(0, 0, 0)
scale_min = 0.5
alpha_curve = SubResource("CurveTexture_rmi04")
[sub_resource type="SphereMesh" id="SphereMesh_cdqbm"]
radius = 1.8
height = 2.0
[sub_resource type="FastNoiseLite" id="FastNoiseLite_8n8gd"]
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_bqkcx"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_8n8gd")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_w7scw"]
frequency = 0.005
fractal_type = 2
fractal_octaves = 2
domain_warp_enabled = true
domain_warp_type = 1
domain_warp_frequency = 0.005
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_rmi04"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_w7scw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bqkcx"]
render_priority = 0
shader = ExtResource("1_sadvm")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_rmi04")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_bqkcx")
shader_parameter/primary_color = Color(1, 0.294118, 0.0666667, 1)
shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 1.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 4.0
shader_parameter/alpha_mode = 1
[sub_resource type="Curve" id="Curve_sadvm"]
_data = [Vector2(0, 1), 0.0, -0.977263, 0, 0, Vector2(1, 0), -0.983939, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_1gfff"]
curve = SubResource("Curve_sadvm")
[sub_resource type="Gradient" id="Gradient_cdqbm"]
offsets = PackedFloat32Array(0, 0.494872, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 0.47451, 0.87451, 0.87451, 0.87451, 0.258824)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_lnkdc"]
gradient = SubResource("Gradient_cdqbm")
[sub_resource type="Gradient" id="Gradient_bdwyf"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_37nkj"]
gradient = SubResource("Gradient_bdwyf")
[sub_resource type="Curve" id="Curve_bqkcx"]
_data = [Vector2(0, 1), 0.0, -0.0648056, 0, 0, Vector2(1, 0.374871), -1.36091, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_nk5kr"]
curve = SubResource("Curve_bqkcx")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1gfff"]
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 1.0
initial_velocity_min = 6.0
initial_velocity_max = 10.0
gravity = Vector3(0, 0, 0)
damping_min = 15.0
damping_max = 20.0
scale_min = 0.4
scale_max = 1.1
scale_curve = SubResource("CurveTexture_nk5kr")
color_ramp = SubResource("GradientTexture1D_37nkj")
color_initial_ramp = SubResource("GradientTexture1D_lnkdc")
alpha_curve = SubResource("CurveTexture_1gfff")
[sub_resource type="SphereMesh" id="SphereMesh_lnkdc"]
radius = 1.0
radial_segments = 32
rings = 16
[sub_resource type="Gradient" id="Gradient_sadvm"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_bdwyf"]
gradient = SubResource("Gradient_sadvm")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cdqbm"]
render_priority = 0
shader = ExtResource("2_8n8gd")
shader_parameter/shape_texture = SubResource("GradientTexture2D_bdwyf")
shader_parameter/primary_color = Color(1, 0.294118, 0.0666667, 1)
shader_parameter/secondary_color = Color(0.713726, 0.192157, 0, 1)
[sub_resource type="Curve" id="Curve_bdwyf"]
_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_bqkcx"]
curve = SubResource("Curve_bdwyf")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_bqkcx"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 0.8
initial_velocity_min = 5.0
initial_velocity_max = 20.0
damping_min = 5.0
damping_max = 10.0
scale_min = 0.2
scale_curve = SubResource("CurveTexture_bqkcx")
[sub_resource type="QuadMesh" id="QuadMesh_rmi04"]
size = Vector2(0.05, 0.4)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_sadvm"]
noise_type = 2
fractal_octaves = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_kp1a8"]
seamless = true
noise = SubResource("FastNoiseLite_sadvm")
[sub_resource type="Gradient" id="Gradient_w7scw"]
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_oylqv"]
gradient = SubResource("Gradient_w7scw")
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_haqe0"]
render_priority = 0
shader = ExtResource("3_cdqbm")
shader_parameter/ring_texture = SubResource("GradientTexture2D_oylqv")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_kp1a8")
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_haqe0"]
_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_o3arm"]
curve = SubResource("Curve_haqe0")
[sub_resource type="Curve" id="Curve_rmi04"]
_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_gud6y"]
curve = SubResource("Curve_rmi04")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_lnkdc"]
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_gud6y")
alpha_curve = SubResource("CurveTexture_o3arm")
[sub_resource type="QuadMesh" id="QuadMesh_tbk35"]
size = Vector2(8, 8)
orientation = 1
[sub_resource type="Gradient" id="Gradient_bqkcx"]
offsets = PackedFloat32Array(0.29558, 1)
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_haqe0"]
gradient = SubResource("Gradient_bqkcx")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rmi04"]
noise_type = 2
frequency = 0.02
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_1gfff"]
invert = true
seamless = true
seamless_blend_skirt = 1.0
noise = SubResource("FastNoiseLite_rmi04")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1gfff"]
render_priority = 0
shader = ExtResource("6_haqe0")
shader_parameter/mask_texture = SubResource("GradientTexture2D_haqe0")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_1gfff")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 1
[sub_resource type="Curve" id="Curve_lnkdc"]
_data = [Vector2(0, 0), 0.0, 1.01211, 0, 0, Vector2(1, 1), 0.977263, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_37nkj"]
curve = SubResource("Curve_lnkdc")
[sub_resource type="Gradient" id="Gradient_nk5kr"]
colors = PackedColorArray(0, 0, 0, 1, 1, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_tbk35"]
gradient = SubResource("Gradient_nk5kr")
[sub_resource type="Curve" id="Curve_h88cn"]
_limits = [0.0, 3.0, 0.0, 1.0]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_qfevt"]
curve = SubResource("Curve_h88cn")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dswvj"]
spread = 180.0
flatness = 0.8
initial_velocity_min = 2.0
initial_velocity_max = 4.0
gravity = Vector3(0, 1, 0)
damping_min = 1.0
damping_max = 2.0
scale_over_velocity_curve = SubResource("CurveTexture_qfevt")
color_initial_ramp = SubResource("GradientTexture1D_tbk35")
alpha_curve = SubResource("CurveTexture_37nkj")
[sub_resource type="QuadMesh" id="QuadMesh_h88cn"]
size = Vector2(4, 4)
[sub_resource type="Animation" id="Animation_8n8gd"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Smoke: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("Core:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Rings:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sparks: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("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Decal:emission_energy")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Dust: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]
}
[sub_resource type="Animation" id="Animation_sadvm"]
resource_name = "main"
length = 1.2
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Smoke:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Core:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Rings:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Sparks:emitting")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 1.05, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Decal:emission_energy")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 1.05, 1.2),
"transitions": PackedFloat32Array(3.86374, 1, 1),
"update": 0,
"values": [4.0, 0.0, 0.0]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Dust: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, 1.05, 1.2),
"transitions": PackedFloat32Array(0.6, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_8n8gd"]
_data = {
&"RESET": SubResource("Animation_8n8gd"),
&"main": SubResource("Animation_sadvm")
}
[node name="VFXExplosion_02" type="Node3D"]
script = ExtResource("1_cdqbm")
primary_color = Color(1, 0.294118, 0.0666667, 1)
secondary_color = Color(0.713726, 0.192157, 0, 1)
tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
light_color = Color(1, 0.294118, 0.0666667, 1)
light_energy = 12.0
[node name="Core" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_bdwyf")
emitting = false
amount = 2
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_sadvm")
draw_pass_1 = SubResource("SphereMesh_cdqbm")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_bqkcx")
emitting = false
amount = 16
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_1gfff")
draw_pass_1 = SubResource("SphereMesh_lnkdc")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_cdqbm")
emitting = false
amount = 32
lifetime = 0.4
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_bqkcx")
draw_pass_1 = SubResource("QuadMesh_rmi04")
[node name="Rings" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_haqe0")
emitting = false
amount = 1
one_shot = true
explosiveness = 0.9
process_material = SubResource("ParticleProcessMaterial_lnkdc")
draw_pass_1 = SubResource("QuadMesh_tbk35")
[node name="Dust" type="GPUParticles3D" parent="."]
layers = 540672
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_1gfff")
emitting = false
amount = 16
one_shot = true
explosiveness = 0.9
process_material = SubResource("ParticleProcessMaterial_dswvj")
draw_pass_1 = SubResource("QuadMesh_h88cn")
[node name="Decal" type="Decal" parent="."]
size = Vector3(4, 4, 4)
texture_albedo = ExtResource("6_bdwyf")
texture_emission = ExtResource("7_haqe0")
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.294118, 0.0666667, 1)
light_energy = 12.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("9_bqkcx")
base_energy = 12.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_8n8gd")
}

View File

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

View File

@@ -0,0 +1,419 @@
[gd_scene load_steps=43 format=3 uid="uid://cl82y5gxnb8d6"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://experimental/BinbunVFX/shared/script/vfx_controller.gd" id="1_gkc2v"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://experimental/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_k4fxl"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://experimental/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="2_ppd7v"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://experimental/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="3_f3136"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://experimental/BinbunVFX/shared/texture/cracks_01.png" id="4_g57xf"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://experimental/BinbunVFX/shared/texture/cracks_emission_01.png" id="5_gkc2v"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://experimental/BinbunVFX/shared/script/vfx_light.gd" id="7_3n50y"]
[sub_resource type="Gradient" id="Gradient_ppd7v"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_f3136"]
frequency = 0.005
fractal_type = 2
fractal_octaves = 2
fractal_weighted_strength = 0.66
domain_warp_enabled = true
domain_warp_amplitude = 19.465
domain_warp_frequency = 0.02
domain_warp_fractal_octaves = 1
domain_warp_fractal_lacunarity = 6.89
domain_warp_fractal_gain = 0.765
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_m2d33"]
noise = SubResource("FastNoiseLite_f3136")
color_ramp = SubResource("Gradient_ppd7v")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g57xf"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_k4fxl")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_m2d33")
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_gkc2v"]
_data = [Vector2(0, 0), 0.0, 0.10399, 0, 0, Vector2(0.159574, 0.119442), 1.68494, 1.68494, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_3n50y"]
curve = SubResource("Curve_gkc2v")
[sub_resource type="Curve" id="Curve_lt01u"]
_data = [Vector2(0, 0.516029), 0.0, 7.81198, 0, 0, Vector2(0.167553, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_13ab5"]
curve = SubResource("Curve_lt01u")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_8n3be"]
angle_min = -720.0
angle_max = 799.5
spread = 180.0
flatness = 1.0
gravity = Vector3(0, 0, 0)
scale_min = 0.9
scale_curve = SubResource("CurveTexture_13ab5")
alpha_curve = SubResource("CurveTexture_3n50y")
[sub_resource type="SphereMesh" id="SphereMesh_hvte5"]
radius = 0.6
height = 1.2
[sub_resource type="FastNoiseLite" id="FastNoiseLite_m2d33"]
noise_type = 0
seed = 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_g57xf"]
noise = SubResource("FastNoiseLite_m2d33")
seamless = true
normalize = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gkc2v"]
frequency = 0.005
fractal_type = 2
fractal_octaves = 2
domain_warp_enabled = true
domain_warp_type = 1
domain_warp_frequency = 0.005
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3n50y"]
width = 128
height = 128
noise = SubResource("FastNoiseLite_gkc2v")
seamless = true
invert = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lt01u"]
render_priority = 0
shader = ExtResource("2_ppd7v")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_3n50y")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_g57xf")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 1.0
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 4.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_3n50y"]
_data = [Vector2(0, 1), 0.0, -0.69537, 0, 0, Vector2(1, 0), -0.685899, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_lt01u"]
curve = SubResource("Curve_3n50y")
[sub_resource type="Gradient" id="Gradient_13ab5"]
offsets = PackedFloat32Array(0, 0.494872, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 0.47451, 0.87451, 0.87451, 0.87451, 0.258824)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_8n3be"]
gradient = SubResource("Gradient_13ab5")
[sub_resource type="Gradient" id="Gradient_hvte5"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_kxca7"]
gradient = SubResource("Gradient_hvte5")
[sub_resource type="Curve" id="Curve_34yqr"]
_data = [Vector2(0, 0.206825), 0.0, 1.8623, 0, 0, Vector2(1, 1), 0.143345, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_6iprs"]
curve = SubResource("Curve_34yqr")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_f2s7u"]
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 5.0
damping_max = 10.0
scale_max = 1.2
scale_curve = SubResource("CurveTexture_6iprs")
color_ramp = SubResource("GradientTexture1D_kxca7")
color_initial_ramp = SubResource("GradientTexture1D_8n3be")
alpha_curve = SubResource("CurveTexture_lt01u")
[sub_resource type="SphereMesh" id="SphereMesh_13ab5"]
radius = 1.6
height = 2.2
radial_segments = 32
rings = 16
[sub_resource type="Gradient" id="Gradient_f3136"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_m2d33"]
gradient = SubResource("Gradient_f3136")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gkc2v"]
render_priority = 0
shader = ExtResource("3_f3136")
shader_parameter/shape_texture = SubResource("GradientTexture2D_m2d33")
shader_parameter/primary_color = Color(1, 0.529412, 0, 1)
shader_parameter/secondary_color = Color(1, 0.337255, 0, 1)
[sub_resource type="Curve" id="Curve_13ab5"]
_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_8n3be"]
curve = SubResource("Curve_13ab5")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hvte5"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
initial_velocity_min = 10.0
initial_velocity_max = 15.0
damping_min = 15.0
damping_max = 20.0
scale_min = 0.2
scale_curve = SubResource("CurveTexture_8n3be")
[sub_resource type="QuadMesh" id="QuadMesh_kxca7"]
size = Vector2(0.05, 0.4)
[sub_resource type="Animation" id="Animation_ppd7v"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:emission_energy")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Light:light_multiplier")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_k4fxl"]
resource_name = "main"
length = 1.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.0666667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:emission_energy")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.8, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.8, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Light:light_multiplier")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ppd7v"]
_data = {
&"RESET": SubResource("Animation_ppd7v"),
&"main": SubResource("Animation_k4fxl")
}
[node name="VFXExplosion_04" type="Node3D"]
script = ExtResource("1_gkc2v")
primary_color = Color(1, 0.529412, 0, 1)
secondary_color = Color(1, 0.337255, 0, 1)
tertiary_color = Color(0.227451, 0.223529, 0.180392, 1)
light_color = Color(1, 0.529412, 0, 1)
[node name="Core" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_g57xf")
emitting = false
amount = 1
lifetime = 0.8
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_8n3be")
draw_pass_1 = SubResource("SphereMesh_hvte5")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_lt01u")
emitting = false
amount = 3
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_f2s7u")
draw_pass_1 = SubResource("SphereMesh_13ab5")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_gkc2v")
emitting = false
amount = 16
lifetime = 0.4
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_hvte5")
draw_pass_1 = SubResource("QuadMesh_kxca7")
[node name="Decal" type="Decal" parent="."]
sorting_offset = -1.0
texture_albedo = ExtResource("4_g57xf")
texture_emission = ExtResource("5_gkc2v")
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 = 4.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("7_3n50y")
base_energy = 4.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ppd7v")
}

View File

@@ -0,0 +1,417 @@
[gd_scene load_steps=43 format=3 uid="uid://shl0iw1x775r"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_pc1m8"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_vxewg"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="2_vxewg"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="3_wbyke"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="4_ro6ym"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="5_c84e7"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="6_xgs5v"]
[sub_resource type="Gradient" id="Gradient_pc1m8"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vxewg"]
frequency = 0.003
fractal_type = 2
fractal_octaves = 2
fractal_weighted_strength = 0.66
domain_warp_enabled = true
domain_warp_amplitude = 19.465
domain_warp_frequency = 0.02
domain_warp_fractal_octaves = 1
domain_warp_fractal_lacunarity = 6.89
domain_warp_fractal_gain = 0.765
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_vxewg"]
seamless = true
color_ramp = SubResource("Gradient_pc1m8")
noise = SubResource("FastNoiseLite_vxewg")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ro6ym"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_pc1m8")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_vxewg")
shader_parameter/primary_color = Color(0.890196, 0.627451, 0.0901961, 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_tgerl"]
_data = [Vector2(0, 0), 0.0, 0.10399, 0, 0, Vector2(0.159574, 0.119442), 1.68494, 1.68494, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_wbyke"]
curve = SubResource("Curve_tgerl")
[sub_resource type="Curve" id="Curve_qarha"]
_data = [Vector2(0, 0.516029), 0.0, 7.81198, 0, 0, Vector2(0.167553, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_ro6ym"]
curve = SubResource("Curve_qarha")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jilrt"]
angle_min = -720.0
angle_max = 799.5
spread = 180.0
flatness = 1.0
gravity = Vector3(0, 0, 0)
scale_min = 0.9
scale_curve = SubResource("CurveTexture_ro6ym")
alpha_curve = SubResource("CurveTexture_wbyke")
[sub_resource type="SphereMesh" id="SphereMesh_6lo2p"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_pc1m8"]
noise_type = 0
seed = 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_c84e7"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_pc1m8")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wbyke"]
frequency = 0.005
fractal_type = 2
fractal_octaves = 2
domain_warp_enabled = true
domain_warp_type = 1
domain_warp_frequency = 0.005
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_xgs5v"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_wbyke")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_c84e7"]
render_priority = 0
shader = ExtResource("2_vxewg")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_xgs5v")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_c84e7")
shader_parameter/primary_color = Color(0.890196, 0.627451, 0.0901961, 1)
shader_parameter/tertiary_color = Color(0.215686, 0.215686, 0.180392, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 0.3
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 4.0
shader_parameter/alpha_mode = 1
[sub_resource type="Curve" id="Curve_pc1m8"]
_data = [Vector2(0, 1), 0.0, -0.69537, 0, 0, Vector2(1, 0), -0.685899, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_nmq2e"]
curve = SubResource("Curve_pc1m8")
[sub_resource type="Gradient" id="Gradient_wbyke"]
offsets = PackedFloat32Array(0, 0.494872, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 0.47451, 0.87451, 0.87451, 0.87451, 0.258824)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_frsf8"]
gradient = SubResource("Gradient_wbyke")
[sub_resource type="Gradient" id="Gradient_c84e7"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ifykw"]
gradient = SubResource("Gradient_c84e7")
[sub_resource type="Curve" id="Curve_nmq2e"]
_data = [Vector2(0, 0.206825), 0.0, 1.8623, 0, 0, Vector2(1, 1), 0.143345, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_tgerl"]
curve = SubResource("Curve_nmq2e")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ifykw"]
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 5.0
damping_max = 10.0
scale_max = 1.2
scale_curve = SubResource("CurveTexture_tgerl")
color_ramp = SubResource("GradientTexture1D_ifykw")
color_initial_ramp = SubResource("GradientTexture1D_frsf8")
alpha_curve = SubResource("CurveTexture_nmq2e")
[sub_resource type="SphereMesh" id="SphereMesh_tgerl"]
radius = 0.8
height = 1.6
radial_segments = 32
rings = 16
[sub_resource type="Gradient" id="Gradient_vxewg"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_q21nm"]
gradient = SubResource("Gradient_vxewg")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xgs5v"]
render_priority = 0
shader = ExtResource("3_wbyke")
shader_parameter/shape_texture = SubResource("GradientTexture2D_q21nm")
shader_parameter/primary_color = Color(0.890196, 0.627451, 0.0901961, 1)
shader_parameter/secondary_color = Color(0.890196, 0, 0.152941, 1)
[sub_resource type="Curve" id="Curve_vxewg"]
_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_qarha"]
curve = SubResource("Curve_vxewg")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ro6ym"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
initial_velocity_min = 5.0
initial_velocity_max = 10.0
damping_min = 15.0
damping_max = 20.0
scale_min = 0.2
scale_curve = SubResource("CurveTexture_qarha")
[sub_resource type="QuadMesh" id="QuadMesh_pc1m8"]
size = Vector2(0.05, 0.4)
[sub_resource type="Animation" id="Animation_vxewg"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Light:light_multiplier")
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("Decal:emission_energy")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Decal:albedo_mix")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_pc1m8"]
resource_name = "main"
length = 1.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Light:light_multiplier")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.5, 1.2),
"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("Decal:emission_energy")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.5, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [4.0, 0.0, 0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Decal:albedo_mix")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.5, 1.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vxewg"]
_data = {
&"RESET": SubResource("Animation_vxewg"),
&"main": SubResource("Animation_pc1m8")
}
[node name="VFXExplosion_05" type="Node3D"]
script = ExtResource("1_vxewg")
primary_color = Color(0.890196, 0.627451, 0.0901961, 1)
secondary_color = Color(0.890196, 0, 0.152941, 1)
tertiary_color = Color(0.215686, 0.215686, 0.180392, 1)
light_color = Color(0.890196, 0.627451, 0.0901961, 1)
[node name="Core" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_ro6ym")
emitting = false
amount = 1
lifetime = 0.8
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_jilrt")
draw_pass_1 = SubResource("SphereMesh_6lo2p")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_c84e7")
emitting = false
amount = 3
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_ifykw")
draw_pass_1 = SubResource("SphereMesh_tgerl")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_xgs5v")
emitting = false
lifetime = 0.4
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_ro6ym")
draw_pass_1 = SubResource("QuadMesh_pc1m8")
[node name="Decal" type="Decal" parent="."]
sorting_offset = -1.0
size = Vector3(1, 1, 1)
texture_albedo = ExtResource("4_ro6ym")
texture_emission = ExtResource("5_c84e7")
emission_energy = 4.0
modulate = Color(1, 0.32549, 0, 1)
cull_mask = 507903
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(0.890196, 0.627451, 0.0901961, 1)
light_energy = 4.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_xgs5v")
base_energy = 4.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_vxewg")
}

View File

@@ -0,0 +1,418 @@
[gd_scene load_steps=43 format=3 uid="uid://bjru1p8jhdp1b"]
[ext_resource type="Shader" uid="uid://de7cy2qqnf2p5" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core_particle.gdshader" id="1_dfkn5"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_dmlm6"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="2_dmlm6"]
[ext_resource type="Shader" uid="uid://d28ltkmbbdcjb" path="res://assets/BinbunVFX/impact_explosions/src/shader/sparks.gdshader" id="3_h53b0"]
[ext_resource type="Texture2D" uid="uid://85fb3gemkbhp" path="res://assets/BinbunVFX/shared/texture/cracks_01.png" id="4_pnhd3"]
[ext_resource type="Texture2D" uid="uid://bbxo5nkvy537a" path="res://assets/BinbunVFX/shared/texture/cracks_emission_01.png" id="5_abayo"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="6_c2dwc"]
[sub_resource type="Gradient" id="Gradient_5fu0g"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_v16vn"]
fractal_type = 2
fractal_octaves = 2
fractal_weighted_strength = 0.66
domain_warp_enabled = true
domain_warp_amplitude = 19.465
domain_warp_frequency = 0.02
domain_warp_fractal_octaves = 1
domain_warp_fractal_lacunarity = 6.89
domain_warp_fractal_gain = 0.765
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_88mbr"]
seamless = true
color_ramp = SubResource("Gradient_5fu0g")
noise = SubResource("FastNoiseLite_v16vn")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mf8nh"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_dfkn5")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_88mbr")
shader_parameter/primary_color = Color(1, 1, 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_ncnyg"]
_data = [Vector2(0, 0), 0.0, 0.10399, 0, 0, Vector2(0.159574, 0.119442), 1.68494, 1.68494, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_sw7kb"]
curve = SubResource("Curve_ncnyg")
[sub_resource type="Curve" id="Curve_6s1rp"]
_data = [Vector2(0, 0.516029), 0.0, 7.81198, 0, 0, Vector2(0.167553, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8cxy7"]
curve = SubResource("Curve_6s1rp")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_p7tmq"]
angle_min = -720.0
angle_max = 799.5
spread = 180.0
flatness = 1.0
gravity = Vector3(0, 0, 0)
scale_min = 0.9
scale_curve = SubResource("CurveTexture_8cxy7")
alpha_curve = SubResource("CurveTexture_sw7kb")
[sub_resource type="SphereMesh" id="SphereMesh_pf3f7"]
radius = 0.8
height = 0.7
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jrygr"]
noise_type = 0
seed = 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_38x4d"]
seamless = true
normalize = false
noise = SubResource("FastNoiseLite_jrygr")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_5dj1p"]
frequency = 0.005
fractal_type = 2
fractal_octaves = 2
domain_warp_enabled = true
domain_warp_type = 1
domain_warp_frequency = 0.005
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_wvci1"]
width = 128
height = 128
invert = true
seamless = true
noise = SubResource("FastNoiseLite_5dj1p")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x22jd"]
render_priority = 0
shader = ExtResource("2_dmlm6")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_wvci1")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_38x4d")
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/tertiary_color = Color(0, 0, 0, 1)
shader_parameter/time_scale = Vector2(0, 0.3)
shader_parameter/texture_scale = Vector2(1, 1)
shader_parameter/noise_scale = 0.3
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 4.0
shader_parameter/alpha_mode = 1
[sub_resource type="Curve" id="Curve_dfkn5"]
_data = [Vector2(0, 1), 0.0, -0.69537, 0, 0, Vector2(1, 0), -0.685899, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_dmlm6"]
curve = SubResource("Curve_dfkn5")
[sub_resource type="Gradient" id="Gradient_h53b0"]
offsets = PackedFloat32Array(0, 0.494872, 1)
colors = PackedColorArray(1, 1, 1, 1, 0.623529, 0.921569, 0.921569, 0.47451, 0.87451, 0.87451, 0.87451, 0.258824)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_pnhd3"]
gradient = SubResource("Gradient_h53b0")
[sub_resource type="Gradient" id="Gradient_abayo"]
offsets = PackedFloat32Array(0.133333, 0.735897)
colors = PackedColorArray(1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_c2dwc"]
gradient = SubResource("Gradient_abayo")
[sub_resource type="Curve" id="Curve_5fu0g"]
_data = [Vector2(0, 0.206825), 0.0, 1.8623, 0, 0, Vector2(1, 1), 0.143345, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_v16vn"]
curve = SubResource("Curve_5fu0g")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_88mbr"]
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 1.0
initial_velocity_max = 1.0
gravity = Vector3(0, 0, 0)
damping_min = 5.0
damping_max = 10.0
scale_max = 1.2
scale_curve = SubResource("CurveTexture_v16vn")
color_ramp = SubResource("GradientTexture1D_c2dwc")
color_initial_ramp = SubResource("GradientTexture1D_pnhd3")
alpha_curve = SubResource("CurveTexture_dmlm6")
[sub_resource type="SphereMesh" id="SphereMesh_1k8gh"]
radius = 1.2
height = 1.6
radial_segments = 32
rings = 16
[sub_resource type="Gradient" id="Gradient_dfkn5"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_dmlm6"]
gradient = SubResource("Gradient_dfkn5")
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_h53b0"]
render_priority = 0
shader = ExtResource("3_h53b0")
shader_parameter/shape_texture = SubResource("GradientTexture2D_dmlm6")
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/secondary_color = Color(1, 0, 0, 1)
[sub_resource type="Curve" id="Curve_pnhd3"]
_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_abayo"]
curve = SubResource("Curve_pnhd3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_c2dwc"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
spread = 180.0
flatness = 0.854
initial_velocity_min = 10.0
initial_velocity_max = 20.0
damping_min = 15.0
damping_max = 20.0
scale_min = 0.2
scale_curve = SubResource("CurveTexture_abayo")
[sub_resource type="QuadMesh" id="QuadMesh_5fu0g"]
size = Vector2(0.05, 0.4)
[sub_resource type="Animation" id="Animation_dmlm6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:emission_energy")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [4.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Light:light_multiplier")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_dfkn5"]
resource_name = "main"
length = 1.2
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Core:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Smoke:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Sparks:emitting")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:emission_energy")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [4.0, 0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Decal:albedo_mix")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Light:light_multiplier")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.599737),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dmlm6"]
_data = {
&"RESET": SubResource("Animation_dmlm6"),
&"main": SubResource("Animation_dfkn5")
}
[node name="VFXExplosion_06" type="Node3D"]
script = ExtResource("1_dmlm6")
primary_color = Color(1, 1, 0, 1)
secondary_color = Color(1, 0, 0, 1)
[node name="Core" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_mf8nh")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_p7tmq")
draw_pass_1 = SubResource("SphereMesh_pf3f7")
[node name="Smoke" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_x22jd")
emitting = false
amount = 3
lifetime = 0.8
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_88mbr")
draw_pass_1 = SubResource("SphereMesh_1k8gh")
[node name="Sparks" type="GPUParticles3D" parent="."]
layers = 540672
material_override = SubResource("ShaderMaterial_h53b0")
emitting = false
amount = 16
lifetime = 0.4
one_shot = true
explosiveness = 1.0
transform_align = 3
process_material = SubResource("ParticleProcessMaterial_c2dwc")
draw_pass_1 = SubResource("QuadMesh_5fu0g")
[node name="Decal" type="Decal" parent="."]
sorting_offset = -1.0
size = Vector3(1, 1, 1)
texture_albedo = ExtResource("4_pnhd3")
texture_emission = ExtResource("5_abayo")
emission_energy = 4.0
modulate = Color(1, 0.32549, 0, 1)
cull_mask = 507903
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(0.890196, 0.627451, 0.0901961, 1)
light_energy = 4.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_c2dwc")
base_energy = 4.0
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_dmlm6")
}