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

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")
}

View File

@@ -0,0 +1,341 @@
[gd_scene load_steps=34 format=3 uid="uid://ri1dspbxt43r"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_ivu3w"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_v574d"]
[ext_resource type="Texture2D" uid="uid://i6dlldk10la7" path="res://assets/BinbunVFX/shared/texture/flash/flash_04.png" id="2_yt271"]
[ext_resource type="Texture2D" uid="uid://bqqrfrrd5f7kq" path="res://assets/BinbunVFX/shared/texture/flash/flash_03.png" id="3_ivu3w"]
[ext_resource type="Shader" uid="uid://d4eb3cue1817u" path="res://assets/BinbunVFX/impact_explosions/src/shader/glow.gdshader" id="4_hylye"]
[ext_resource type="Texture2D" uid="uid://hxi4xo7j57d7" path="res://assets/BinbunVFX/shared/texture/flare/flare_01.png" id="5_aiijp"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="7_eoult"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xfhs0"]
render_priority = 0
shader = ExtResource("1_ivu3w")
shader_parameter/mask_texture = ExtResource("2_yt271")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/secondary_color = Color(1, 0.290196, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_yt271"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_eoult"]
curve = SubResource("Curve_yt271")
[sub_resource type="Curve" id="Curve_ivu3w"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.696629), -1.17373, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_80dxi"]
curve = SubResource("Curve_ivu3w")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_eoult"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_80dxi")
alpha_curve = SubResource("CurveTexture_eoult")
[sub_resource type="QuadMesh" id="QuadMesh_80dxi"]
size = Vector2(2, 2)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ivu3w"]
render_priority = 0
shader = ExtResource("1_ivu3w")
shader_parameter/mask_texture = ExtResource("3_ivu3w")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/secondary_color = Color(1, 0.290196, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_hylye"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_87miy"]
curve = SubResource("Curve_hylye")
[sub_resource type="Curve" id="Curve_aiijp"]
_data = [Vector2(0, 1), 0.0, -0.125756, 0, 0, Vector2(1, 0.41573), -1.2228, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_jvs7g"]
curve = SubResource("Curve_aiijp")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_80dxi"]
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_jvs7g")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_87miy")
[sub_resource type="QuadMesh" id="QuadMesh_87miy"]
size = Vector2(3, 3)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hylye"]
render_priority = 0
shader = ExtResource("1_ivu3w")
shader_parameter/mask_texture = ExtResource("5_aiijp")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/secondary_color = Color(1, 0.290196, 0, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_eoult"]
_data = [Vector2(0, 0.393258), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_p1hel"]
curve = SubResource("Curve_eoult")
[sub_resource type="Curve" id="Curve_l64xe"]
_data = [Vector2(0, 0.47191), 0.0, 1.45318, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_l64xe"]
curve = SubResource("Curve_l64xe")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aqjj4"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 10.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.6
scale_max = 1.1
scale_curve = SubResource("CurveTexture_l64xe")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_p1hel")
[sub_resource type="QuadMesh" id="QuadMesh_v574d"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_aiijp"]
render_priority = 0
shader = ExtResource("4_hylye")
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="SphereMesh" id="SphereMesh_ivu3w"]
radius = 2.0
height = 4.0
radial_segments = 32
rings = 16
[sub_resource type="Animation" id="Animation_ivu3w"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_yt271"]
resource_name = "main"
length = 0.8
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.5, 0.8),
"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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.5, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ivu3w"]
_data = {
&"RESET": SubResource("Animation_ivu3w"),
&"main": SubResource("Animation_yt271")
}
[node name="VFXHit_01" type="Node3D"]
script = ExtResource("1_v574d")
primary_color = Color(1, 0.847059, 0, 1)
secondary_color = Color(1, 0.290196, 0, 1)
light_color = Color(1, 1, 0.541176, 1)
light_energy = 2.0
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_xfhs0")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_eoult")
draw_pass_1 = SubResource("QuadMesh_80dxi")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_ivu3w")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_80dxi")
draw_pass_1 = SubResource("QuadMesh_87miy")
[node name="Flare_01" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_hylye")
emitting = false
amount = 1
lifetime = 0.6
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_aqjj4")
draw_pass_1 = SubResource("QuadMesh_v574d")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
sorting_offset = -2.0
material_override = SubResource("ShaderMaterial_aiijp")
mesh = SubResource("SphereMesh_ivu3w")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0.541176, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("7_eoult")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_ivu3w")
}

View File

@@ -0,0 +1,347 @@
[gd_scene load_steps=35 format=3 uid="uid://se15ow6u0q0m"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_3o1ib"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_fnjpx"]
[ext_resource type="Texture2D" uid="uid://cjkuadylsfid1" path="res://assets/BinbunVFX/shared/texture/flash/flash_02.png" id="2_3mt8j"]
[ext_resource type="Texture2D" uid="uid://6n72xg2cgxx2" path="res://assets/BinbunVFX/shared/texture/flare/flare_04.png" id="3_m0fyp"]
[ext_resource type="Shader" uid="uid://d4eb3cue1817u" path="res://assets/BinbunVFX/impact_explosions/src/shader/glow.gdshader" id="5_jqm4h"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="6_mmwga"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fnjpx"]
render_priority = 0
shader = ExtResource("1_fnjpx")
shader_parameter/mask_texture = ExtResource("2_3mt8j")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/secondary_color = Color(1, 0.580392, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_3o1ib"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_y1jqx"]
curve = SubResource("Curve_3o1ib")
[sub_resource type="Curve" id="Curve_0sv8k"]
_data = [Vector2(0, 1), 0.0, -0.235651, 0, 0, Vector2(1, 0.213483), -1.0667, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_jqm4h"]
curve = SubResource("Curve_0sv8k")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mmwga"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_jqm4h")
alpha_curve = SubResource("CurveTexture_y1jqx")
[sub_resource type="QuadMesh" id="QuadMesh_caueu"]
size = Vector2(1.5, 1.5)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="ShaderMaterial" id="ShaderMaterial_m0fyp"]
render_priority = 0
shader = ExtResource("1_fnjpx")
shader_parameter/mask_texture = ExtResource("2_3mt8j")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/secondary_color = Color(1, 0.580392, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_fnjpx"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3o1ib"]
curve = SubResource("Curve_fnjpx")
[sub_resource type="Curve" id="Curve_y1jqx"]
_data = [Vector2(0, 0.775281), 0.0, 1.24559, 0, 0, Vector2(1, 0.269663), -1.51924, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_0sv8k"]
curve = SubResource("Curve_y1jqx")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jqm4h"]
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_0sv8k")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_3o1ib")
[sub_resource type="QuadMesh" id="QuadMesh_mmwga"]
size = Vector2(2.5, 2.5)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3o1ib"]
render_priority = 0
shader = ExtResource("1_fnjpx")
shader_parameter/mask_texture = ExtResource("3_m0fyp")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/secondary_color = Color(1, 0.580392, 0, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_m0fyp"]
_data = [Vector2(0, 1), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_fnjpx"]
curve = SubResource("Curve_m0fyp")
[sub_resource type="Gradient" id="Gradient_fnjpx"]
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_3o1ib"]
gradient = SubResource("Gradient_fnjpx")
[sub_resource type="Curve" id="Curve_jqm4h"]
_data = [Vector2(0, 0.47191), 0.0, 1.01723, 0, 0, Vector2(1, 1), 0.181648, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_mmwga"]
curve = SubResource("Curve_jqm4h")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_caueu"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 20.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.6
scale_max = 0.7
scale_curve = SubResource("CurveTexture_mmwga")
color = Color(0, 0, 0, 1)
color_initial_ramp = SubResource("GradientTexture1D_3o1ib")
alpha_curve = SubResource("CurveTexture_fnjpx")
[sub_resource type="QuadMesh" id="QuadMesh_nddl7"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cub7k"]
render_priority = 0
shader = ExtResource("5_jqm4h")
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="SphereMesh" id="SphereMesh_8nm16"]
radius = 1.5
height = 3.0
radial_segments = 32
rings = 16
[sub_resource type="Animation" id="Animation_cub7k"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.6, 0.766667),
"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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.6, 0.766667),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="Animation" id="Animation_3mt8j"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3mt8j"]
_data = {
&"RESET": SubResource("Animation_3mt8j"),
&"main": SubResource("Animation_cub7k")
}
[node name="VFXHit_02" type="Node3D"]
script = ExtResource("1_3o1ib")
primary_color = Color(1, 1, 0.686275, 1)
secondary_color = Color(1, 0.580392, 0, 1)
light_color = Color(1, 1, 0.541176, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_fnjpx")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_mmwga")
draw_pass_1 = SubResource("QuadMesh_caueu")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_m0fyp")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_jqm4h")
draw_pass_1 = SubResource("QuadMesh_mmwga")
[node name="Flare_01" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_3o1ib")
emitting = false
amount = 2
lifetime = 0.6
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_caueu")
draw_pass_1 = SubResource("QuadMesh_nddl7")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
sorting_offset = -2.0
material_override = SubResource("ShaderMaterial_cub7k")
mesh = SubResource("SphereMesh_8nm16")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0.541176, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_mmwga")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_3mt8j")
}

View File

@@ -0,0 +1,349 @@
[gd_scene load_steps=33 format=3 uid="uid://b40oyf32pgee"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://experimental/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_l0cbk"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://experimental/BinbunVFX/shared/script/vfx_controller.gd" id="1_vffy1"]
[ext_resource type="Texture2D" uid="uid://bfvs2muk8b4ls" path="res://experimental/BinbunVFX/shared/texture/flare/flare_02.png" id="3_2sgsy"]
[ext_resource type="Texture2D" uid="uid://bqqrfrrd5f7kq" path="res://experimental/BinbunVFX/shared/texture/flash/flash_03.png" id="3_f52cn"]
[ext_resource type="Shader" uid="uid://d4eb3cue1817u" path="res://experimental/BinbunVFX/impact_explosions/src/shader/glow.gdshader" id="5_2w4ua"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://experimental/BinbunVFX/shared/script/vfx_light.gd" id="6_gky3u"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l5xb5"]
render_priority = 0
shader = ExtResource("1_l0cbk")
shader_parameter/mask_texture = ExtResource("3_f52cn")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/secondary_color = Color(0.894118, 0.101961, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = true
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_0v3x4"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_eoult"]
curve = SubResource("Curve_0v3x4")
[sub_resource type="Curve" id="Curve_ncj6l"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.775281), -0.40554, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_80dxi"]
curve = SubResource("Curve_ncj6l")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_76mw0"]
emission_shape = 1
emission_sphere_radius = 0.1
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_min = 0.7
scale_max = 1.1
scale_curve = SubResource("CurveTexture_80dxi")
alpha_curve = SubResource("CurveTexture_eoult")
[sub_resource type="QuadMesh" id="QuadMesh_l0cbk"]
size = Vector2(1.2, 2)
subdivide_width = 16
subdivide_depth = 16
[sub_resource type="ShaderMaterial" id="ShaderMaterial_l0cbk"]
render_priority = 0
shader = ExtResource("1_l0cbk")
shader_parameter/mask_texture = ExtResource("3_f52cn")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/secondary_color = Color(0.894118, 0.101961, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = true
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_vffy1"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_f52cn"]
curve = SubResource("Curve_vffy1")
[sub_resource type="Curve" id="Curve_w12qn"]
_data = [Vector2(0, 1), 0.0, -0.125756, 0, 0, Vector2(1, 0.775281), -0.565127, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_2w4ua"]
curve = SubResource("Curve_w12qn")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gky3u"]
emission_shape = 1
emission_sphere_radius = 0.1
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_2w4ua")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_f52cn")
[sub_resource type="QuadMesh" id="QuadMesh_2sgsy"]
size = Vector2(3, 2)
subdivide_width = 16
subdivide_depth = 16
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vffy1"]
render_priority = 0
shader = ExtResource("1_l0cbk")
shader_parameter/mask_texture = ExtResource("3_2sgsy")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/secondary_color = Color(0.894118, 0.101961, 0, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = true
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_f52cn"]
_data = [Vector2(0, 0.393258), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_w12qn"]
curve = SubResource("Curve_f52cn")
[sub_resource type="Curve" id="Curve_2w4ua"]
_data = [Vector2(0, 0.47191), 0.0, 1.45318, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_gky3u"]
curve = SubResource("Curve_2w4ua")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_l5xb5"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 180.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.8
scale_max = 1.2
scale_curve = SubResource("CurveTexture_gky3u")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_w12qn")
[sub_resource type="QuadMesh" id="QuadMesh_0v3x4"]
size = Vector2(3, 3)
subdivide_width = 16
subdivide_depth = 16
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2sgsy"]
render_priority = 0
shader = ExtResource("5_2w4ua")
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/proximity_fade = true
shader_parameter/proximity_fade_distance = 2.0
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="SphereMesh" id="SphereMesh_2sgsy"]
radius = 1.5
height = 3.0
radial_segments = 16
rings = 8
[sub_resource type="Animation" id="Animation_2sgsy"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_5dbw3"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.5, 0.8),
"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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.5, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_2sgsy"]
_data = {
&"RESET": SubResource("Animation_2sgsy"),
&"main": SubResource("Animation_5dbw3")
}
[node name="VFXHit_03" type="Node3D"]
script = ExtResource("1_vffy1")
primary_color = Color(1, 0.611765, 0.0941176, 1)
secondary_color = Color(0.894118, 0.101961, 0, 1)
light_color = Color(1, 1, 0.67451, 1)
mesh_resolutions = 16
[node name="Hit_01" type="GPUParticles3D" parent="."]
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_l5xb5")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_76mw0")
draw_pass_1 = SubResource("QuadMesh_l0cbk")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_l0cbk")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_gky3u")
draw_pass_1 = SubResource("QuadMesh_2sgsy")
[node name="Flare_01" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_vffy1")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_l5xb5")
draw_pass_1 = SubResource("QuadMesh_0v3x4")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
sorting_offset = -2.0
material_override = SubResource("ShaderMaterial_2sgsy")
mesh = SubResource("SphereMesh_2sgsy")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0.67451, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_gky3u")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_2sgsy")
}

View File

@@ -0,0 +1,335 @@
[gd_scene load_steps=32 format=3 uid="uid://bbynk4p3biw83"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://experimental/BinbunVFX/shared/script/vfx_controller.gd" id="1_g5yym"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://experimental/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_qu10d"]
[ext_resource type="Texture2D" uid="uid://i6dlldk10la7" path="res://experimental/BinbunVFX/shared/texture/flash/flash_04.png" id="2_libwh"]
[ext_resource type="Shader" uid="uid://d4eb3cue1817u" path="res://experimental/BinbunVFX/impact_explosions/src/shader/glow.gdshader" id="5_ev7fe"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://experimental/BinbunVFX/shared/script/vfx_light.gd" id="6_7aexv"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qu10d"]
render_priority = 0
shader = ExtResource("1_qu10d")
shader_parameter/mask_texture = ExtResource("2_libwh")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/secondary_color = Color(1, 0, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_libwh"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_qu10d"]
curve = SubResource("Curve_libwh")
[sub_resource type="Curve" id="Curve_4t8w8"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.696629), -1.17373, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_libwh"]
curve = SubResource("Curve_4t8w8")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_7aexv"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_libwh")
alpha_curve = SubResource("CurveTexture_qu10d")
[sub_resource type="QuadMesh" id="QuadMesh_3py1k"]
size = Vector2(2, 2)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g5yym"]
render_priority = 0
shader = ExtResource("1_qu10d")
shader_parameter/mask_texture = ExtResource("2_libwh")
shader_parameter/edge_smoothness = 0.313559
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/secondary_color = Color(1, 0, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_qu10d"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_3bmj3"]
curve = SubResource("Curve_qu10d")
[sub_resource type="Curve" id="Curve_3bmj3"]
_data = [Vector2(0, 1), 0.0, -0.125756, 0, 0, Vector2(1, 0.41573), -1.2228, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4t8w8"]
curve = SubResource("Curve_3bmj3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ev7fe"]
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_4t8w8")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_3bmj3")
[sub_resource type="QuadMesh" id="QuadMesh_7aexv"]
size = Vector2(3, 3)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3py1k"]
render_priority = 0
shader = ExtResource("1_qu10d")
shader_parameter/mask_texture = ExtResource("2_libwh")
shader_parameter/edge_smoothness = 0.4
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/secondary_color = Color(1, 0, 0, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_vs881"]
_data = [Vector2(0, 1), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_ev7fe"]
curve = SubResource("Curve_vs881")
[sub_resource type="Curve" id="Curve_jolb0"]
_data = [Vector2(0, 0.730337), 0.0, 0.87191, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_7aexv"]
curve = SubResource("Curve_jolb0")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ke5tf"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 180.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.5
scale_curve = SubResource("CurveTexture_7aexv")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_ev7fe")
[sub_resource type="QuadMesh" id="QuadMesh_cyw7j"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_35k1s"]
render_priority = 0
shader = ExtResource("5_ev7fe")
shader_parameter/primary_color = Color(1, 1, 0, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="SphereMesh" id="SphereMesh_35k1s"]
radius = 1.5
height = 3.0
radial_segments = 32
rings = 16
[sub_resource type="Animation" id="Animation_35k1s"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_kjvwe"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.4, 0.8),
"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("Light:light_multiplier")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.4, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_i65yy"]
_data = {
&"RESET": SubResource("Animation_35k1s"),
&"main": SubResource("Animation_kjvwe")
}
[node name="VFXHit_04" type="Node3D"]
script = ExtResource("1_g5yym")
primary_color = Color(1, 1, 0, 1)
secondary_color = Color(1, 0, 0, 1)
light_color = Color(1, 1, 0, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_qu10d")
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_7aexv")
draw_pass_1 = SubResource("QuadMesh_3py1k")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_g5yym")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_ev7fe")
draw_pass_1 = SubResource("QuadMesh_7aexv")
[node name="Flare_01" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_3py1k")
emitting = false
amount = 6
lifetime = 0.4
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_ke5tf")
draw_pass_1 = SubResource("QuadMesh_cyw7j")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
sorting_offset = -2.0
material_override = SubResource("ShaderMaterial_35k1s")
mesh = SubResource("SphereMesh_35k1s")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("6_7aexv")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_i65yy")
}

View File

@@ -0,0 +1,348 @@
[gd_scene load_steps=35 format=3 uid="uid://vkstbs4fu60"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_5fy01"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_rqeg2"]
[ext_resource type="Texture2D" uid="uid://b2ahcfqaivla7" path="res://assets/BinbunVFX/shared/texture/flash/flash_01.png" id="2_aqcd5"]
[ext_resource type="Shader" uid="uid://d4eb3cue1817u" path="res://assets/BinbunVFX/impact_explosions/src/shader/glow.gdshader" id="3_cy50q"]
[ext_resource type="Texture2D" uid="uid://bqqrfrrd5f7kq" path="res://assets/BinbunVFX/shared/texture/flash/flash_03.png" id="3_rqeg2"]
[ext_resource type="Texture2D" uid="uid://cjkuadylsfid1" path="res://assets/BinbunVFX/shared/texture/flash/flash_02.png" id="4_cy50q"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="4_rqeg2"]
[ext_resource type="Texture2D" uid="uid://bxtojkguayub2" path="res://assets/BinbunVFX/shared/texture/flare/flare_03.png" id="6_il5r6"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d2ynh"]
render_priority = 0
shader = ExtResource("1_5fy01")
shader_parameter/mask_texture = ExtResource("2_aqcd5")
shader_parameter/noise_texture = ExtResource("3_rqeg2")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(0.815686, 0.321569, 0.00392157, 1)
shader_parameter/secondary_color = Color(1, 0.541455, 0.101383, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_27chy"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_i4m5q"]
curve = SubResource("Curve_27chy")
[sub_resource type="Curve" id="Curve_pns5y"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.696629), -1.17373, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_ka0sc"]
curve = SubResource("Curve_pns5y")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jy2lo"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_ka0sc")
alpha_curve = SubResource("CurveTexture_i4m5q")
[sub_resource type="QuadMesh" id="QuadMesh_05b6s"]
size = Vector2(2, 2)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5fy01"]
render_priority = 0
shader = ExtResource("1_5fy01")
shader_parameter/mask_texture = ExtResource("4_cy50q")
shader_parameter/edge_smoothness = 0.4
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(0.815686, 0.321569, 0.00392157, 1)
shader_parameter/secondary_color = Color(1, 0.541455, 0.101383, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_aqcd5"]
_data = [Vector2(0, 1), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_cy50q"]
curve = SubResource("Curve_aqcd5")
[sub_resource type="Curve" id="Curve_rqeg2"]
_data = [Vector2(0, 0.730337), 0.0, 0.87191, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_il5r6"]
curve = SubResource("Curve_rqeg2")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_d2ynh"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 180.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.5
scale_curve = SubResource("CurveTexture_il5r6")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_cy50q")
[sub_resource type="QuadMesh" id="QuadMesh_27chy"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_27chy"]
render_priority = 0
shader = ExtResource("1_5fy01")
shader_parameter/mask_texture = ExtResource("6_il5r6")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(0.815686, 0.321569, 0.00392157, 1)
shader_parameter/secondary_color = Color(1, 0.541455, 0.101383, 1)
shader_parameter/billboard = false
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_i4m5q"]
_data = [Vector2(0, 0.393258), 0.0, -1.11523, 0, 0, Vector2(1, 0), -0.171187, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_pns5y"]
curve = SubResource("Curve_i4m5q")
[sub_resource type="Curve" id="Curve_ka0sc"]
_data = [Vector2(0, 0.47191), 0.0, 1.45318, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_jy2lo"]
curve = SubResource("Curve_ka0sc")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_05b6s"]
particle_flag_align_y = true
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
spread = 10.0
initial_velocity_min = -0.1
initial_velocity_max = 0.1
gravity = Vector3(0, 0, 0)
scale_min = 0.6
scale_max = 1.1
scale_curve = SubResource("CurveTexture_jy2lo")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_pns5y")
[sub_resource type="QuadMesh" id="QuadMesh_doq2e"]
size = Vector2(4, 4)
subdivide_width = 32
subdivide_depth = 32
orientation = 1
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6hydx"]
render_priority = 0
shader = ExtResource("3_cy50q")
shader_parameter/primary_color = Color(0.815686, 0.321569, 0.00392157, 1)
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 0.5
shader_parameter/alpha_multiplier = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="SphereMesh" id="SphereMesh_5fy01"]
radius = 1.0
height = 2.0
radial_segments = 32
rings = 16
[sub_resource type="Animation" id="Animation_5fy01"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
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("Flare_02:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_6hydx"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Flare_01: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("MeshInstance3D:material_override:shader_parameter/alpha_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
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, 0.8),
"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("Flare_02:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5fy01"]
_data = {
&"RESET": SubResource("Animation_5fy01"),
&"main": SubResource("Animation_6hydx")
}
[node name="VFXHit_05" type="Node3D"]
script = ExtResource("1_rqeg2")
primary_color = Color(0.815686, 0.321569, 0.00392157, 1)
secondary_color = Color(1, 0.541455, 0.101383, 1)
light_color = Color(0.886275, 0.831373, 0.756863, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_d2ynh")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_jy2lo")
draw_pass_1 = SubResource("QuadMesh_05b6s")
[node name="Flare_01" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_5fy01")
emitting = false
amount = 6
lifetime = 0.4
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_d2ynh")
draw_pass_1 = SubResource("QuadMesh_27chy")
[node name="Flare_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_27chy")
emitting = false
amount = 1
lifetime = 0.6
one_shot = true
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_05b6s")
draw_pass_1 = SubResource("QuadMesh_doq2e")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
sorting_offset = -2.0
material_override = SubResource("ShaderMaterial_6hydx")
mesh = SubResource("SphereMesh_5fy01")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(0.886275, 0.831373, 0.756863, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("4_rqeg2")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_5fy01")
}

View File

@@ -0,0 +1,210 @@
[gd_scene load_steps=23 format=3 uid="uid://h47wdqps3cc6"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://experimental/BinbunVFX/shared/script/vfx_controller.gd" id="1_8tack"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://experimental/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_65c2p"]
[ext_resource type="Texture2D" uid="uid://b2ahcfqaivla7" path="res://experimental/BinbunVFX/shared/texture/flash/flash_01.png" id="3_xdu8x"]
[ext_resource type="Texture2D" uid="uid://i6dlldk10la7" path="res://experimental/BinbunVFX/shared/texture/flash/flash_04.png" id="4_1m8b4"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://experimental/BinbunVFX/shared/script/vfx_light.gd" id="4_kynun"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8tack"]
render_priority = 0
shader = ExtResource("1_65c2p")
shader_parameter/mask_texture = ExtResource("3_xdu8x")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/secondary_color = Color(1, 0.290196, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_65c2p"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_t0vfo"]
curve = SubResource("Curve_65c2p")
[sub_resource type="Curve" id="Curve_21na2"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.696629), -1.17373, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_kynun"]
curve = SubResource("Curve_21na2")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_cgcsd"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_kynun")
alpha_curve = SubResource("CurveTexture_t0vfo")
[sub_resource type="QuadMesh" id="QuadMesh_r5rva"]
size = Vector2(1.5, 1.5)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d07gb"]
render_priority = 0
shader = ExtResource("1_65c2p")
shader_parameter/mask_texture = ExtResource("4_1m8b4")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.847059, 0, 1)
shader_parameter/secondary_color = Color(1, 0.290196, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_cc04f"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_87miy"]
curve = SubResource("Curve_cc04f")
[sub_resource type="Curve" id="Curve_vx43j"]
_data = [Vector2(0, 1), 0.0, -0.125756, 0, 0, Vector2(1, 0.41573), -1.2228, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_jvs7g"]
curve = SubResource("Curve_vx43j")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_0t4af"]
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_jvs7g")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_87miy")
[sub_resource type="QuadMesh" id="QuadMesh_k8870"]
size = Vector2(2, 2)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="Animation" id="Animation_dtgi6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_8pcwq"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.6),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cc04f"]
_data = {
&"RESET": SubResource("Animation_dtgi6"),
&"main": SubResource("Animation_8pcwq")
}
[node name="VFXHit_06" type="Node3D"]
script = ExtResource("1_8tack")
primary_color = Color(1, 0.847059, 0, 1)
secondary_color = Color(1, 0.290196, 0, 1)
light_color = Color(1, 0.847059, 0, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_8tack")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_cgcsd")
draw_pass_1 = SubResource("QuadMesh_r5rva")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_d07gb")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_0t4af")
draw_pass_1 = SubResource("QuadMesh_k8870")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 0.847059, 0, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("4_kynun")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_cc04f")
}

View File

@@ -0,0 +1,216 @@
[gd_scene load_steps=23 format=3 uid="uid://drtpctry2l8gr"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_3wu2a"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_4r8et"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="3_5t4k4"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_3wu2a"]
load_path = "res://.godot/imported/flash_02.png-484d2fe310e53356e8646347ab61dab0.s3tc.ctex"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4r8et"]
render_priority = 0
shader = ExtResource("1_3wu2a")
shader_parameter/mask_texture = SubResource("CompressedTexture2D_3wu2a")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/secondary_color = Color(1, 0.580392, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_5t4k4"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_35dyo"]
curve = SubResource("Curve_5t4k4")
[sub_resource type="Curve" id="Curve_sxdym"]
_data = [Vector2(0, 1), 0.0, -0.235651, 0, 0, Vector2(1, 0.213483), -1.0667, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_aqqxy"]
curve = SubResource("Curve_sxdym")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_su3r0"]
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_aqqxy")
alpha_curve = SubResource("CurveTexture_35dyo")
[sub_resource type="QuadMesh" id="QuadMesh_m1ds4"]
size = Vector2(1.5, 1.5)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_quohl"]
load_path = "res://.godot/imported/flash_02.png-484d2fe310e53356e8646347ab61dab0.s3tc.ctex"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3wu2a"]
render_priority = 0
shader = ExtResource("1_3wu2a")
shader_parameter/mask_texture = SubResource("CompressedTexture2D_quohl")
shader_parameter/edge_smoothness = 1.0
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 1, 0.686275, 1)
shader_parameter/secondary_color = Color(1, 0.580392, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_4r8et"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_5t4k4"]
curve = SubResource("Curve_4r8et")
[sub_resource type="Curve" id="Curve_35dyo"]
_data = [Vector2(0, 0.775281), 0.0, 1.24559, 0, 0, Vector2(1, 0.269663), -1.51924, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_sxdym"]
curve = SubResource("Curve_35dyo")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aqqxy"]
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_sxdym")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_5t4k4")
[sub_resource type="QuadMesh" id="QuadMesh_su3r0"]
size = Vector2(2, 2)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="Animation" id="Animation_3wu2a"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="Animation" id="Animation_quohl"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_4r8et"]
_data = {
&"RESET": SubResource("Animation_quohl"),
&"main": SubResource("Animation_3wu2a")
}
[node name="VFXHit_07" type="Node3D"]
script = ExtResource("1_4r8et")
primary_color = Color(1, 1, 0.686275, 1)
secondary_color = Color(1, 0.580392, 0, 1)
light_color = Color(1, 1, 0.541176, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
material_override = SubResource("ShaderMaterial_4r8et")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
explosiveness = 0.6
process_material = SubResource("ParticleProcessMaterial_su3r0")
draw_pass_1 = SubResource("QuadMesh_m1ds4")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_3wu2a")
emitting = false
amount = 1
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_aqqxy")
draw_pass_1 = SubResource("QuadMesh_su3r0")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0.541176, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("3_5t4k4")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_4r8et")
}

View File

@@ -0,0 +1,224 @@
[gd_scene load_steps=23 format=3 uid="uid://cp7mydlqqpb17"]
[ext_resource type="Script" uid="uid://tb7n6ybv43ch" path="res://assets/BinbunVFX/shared/script/vfx_controller.gd" id="1_ghyif"]
[ext_resource type="Shader" uid="uid://cssforqq3llvn" path="res://assets/BinbunVFX/impact_explosions/src/shader/basic.gdshader" id="1_uiasa"]
[ext_resource type="Script" uid="uid://bdk8hhttligw" path="res://assets/BinbunVFX/shared/script/vfx_light.gd" id="2_ghyif"]
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_mf6mg"]
load_path = "res://.godot/imported/flash_03.png-5a9d2c66592f2873db86fa41f28ce732.s3tc.ctex"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_746na"]
render_priority = 0
shader = ExtResource("1_uiasa")
shader_parameter/mask_texture = SubResource("CompressedTexture2D_mf6mg")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/secondary_color = Color(0.894118, 0.101961, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_sdvv1"]
_data = [Vector2(0.5, 1), 0.0, -3.02196, 0, 0, Vector2(1, 0), -0.0871912, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_6d4th"]
curve = SubResource("Curve_sdvv1")
[sub_resource type="Curve" id="Curve_cpsjg"]
_data = [Vector2(0, 1), 0.0, 0.032534, 0, 0, Vector2(1, 0.775281), -0.40554, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_7vnfm"]
curve = SubResource("Curve_cpsjg")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ba0na"]
emission_shape = 1
emission_sphere_radius = 0.1
angle_min = -720.0
angle_max = 720.0
direction = Vector3(0, 1, 0)
gravity = Vector3(0, 0, 0)
scale_min = 0.7
scale_max = 1.1
scale_curve = SubResource("CurveTexture_7vnfm")
alpha_curve = SubResource("CurveTexture_6d4th")
[sub_resource type="QuadMesh" id="QuadMesh_shtac"]
size = Vector2(1.2, 2)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_uiasa"]
load_path = "res://.godot/imported/flash_03.png-5a9d2c66592f2873db86fa41f28ce732.s3tc.ctex"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ghyif"]
render_priority = 0
shader = ExtResource("1_uiasa")
shader_parameter/mask_texture = SubResource("CompressedTexture2D_uiasa")
shader_parameter/edge_smoothness = 0.5
shader_parameter/color_smoothness = 1.0
shader_parameter/primary_color = Color(1, 0.611765, 0.0941176, 1)
shader_parameter/secondary_color = Color(0.894118, 0.101961, 0, 1)
shader_parameter/billboard = true
shader_parameter/proximity_fade = false
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/alpha_mode = 0
[sub_resource type="Curve" id="Curve_mf6mg"]
_data = [Vector2(0.479381, 1), 0.0, -2.39775, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_746na"]
curve = SubResource("Curve_mf6mg")
[sub_resource type="Curve" id="Curve_6d4th"]
_data = [Vector2(0, 1), 0.0, -0.125756, 0, 0, Vector2(1, 0.775281), -0.565127, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_cpsjg"]
curve = SubResource("Curve_6d4th")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_7vnfm"]
emission_shape = 1
emission_sphere_radius = 0.1
angle_min = -720.0
angle_max = 720.0
gravity = Vector3(0, 0, 0)
scale_max = 1.4
scale_curve = SubResource("CurveTexture_cpsjg")
color = Color(0, 0, 0, 1)
alpha_curve = SubResource("CurveTexture_746na")
[sub_resource type="QuadMesh" id="QuadMesh_ba0na"]
size = Vector2(3, 2)
subdivide_width = 32
subdivide_depth = 32
[sub_resource type="Animation" id="Animation_ghyif"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_uiasa"]
resource_name = "main"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Hit_01: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("Hit_02: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("Light:light_multiplier")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.4, 0.8),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [1.0, 0.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mf6mg"]
_data = {
&"RESET": SubResource("Animation_ghyif"),
&"main": SubResource("Animation_uiasa")
}
[node name="VFXHit_08" type="Node3D"]
script = ExtResource("1_ghyif")
primary_color = Color(1, 0.611765, 0.0941176, 1)
secondary_color = Color(0.894118, 0.101961, 0, 1)
light_color = Color(1, 1, 0.67451, 1)
[node name="Hit_01" type="GPUParticles3D" parent="."]
sorting_offset = -0.5
material_override = SubResource("ShaderMaterial_746na")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_ba0na")
draw_pass_1 = SubResource("QuadMesh_shtac")
[node name="Hit_02" type="GPUParticles3D" parent="."]
sorting_offset = -1.0
material_override = SubResource("ShaderMaterial_ghyif")
emitting = false
amount = 2
lifetime = 0.4
one_shot = true
explosiveness = 1.0
process_material = SubResource("ParticleProcessMaterial_7vnfm")
draw_pass_1 = SubResource("QuadMesh_ba0na")
[node name="Light" type="OmniLight3D" parent="."]
light_color = Color(1, 1, 0.67451, 1)
light_energy = 2.0
light_size = 4.0
light_cull_mask = 4294426623
omni_range = 8.0
script = ExtResource("2_ghyif")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_mf6mg")
}

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")
}

View File

@@ -0,0 +1,289 @@
[gd_scene load_steps=32 format=3 uid="uid://bc0gv4he0k5ta"]
[ext_resource type="Texture2D" uid="uid://c6p8bs6eksvr5" path="res://experimental/BinbunVFX/shared/texture/placeholder.png" id="1_vn7vm"]
[ext_resource type="PackedScene" uid="uid://bflg720h1w3d3" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_01.tscn" id="2_t2wbt"]
[ext_resource type="PackedScene" uid="uid://dato0qpbqvwnj" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_02.tscn" id="3_0ayp4"]
[ext_resource type="PackedScene" uid="uid://cdsloy1kvhikp" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_03.tscn" id="4_hwdop"]
[ext_resource type="PackedScene" uid="uid://cl82y5gxnb8d6" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_04.tscn" id="5_pn2nt"]
[ext_resource type="PackedScene" uid="uid://shl0iw1x775r" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_05.tscn" id="6_1w6h6"]
[ext_resource type="PackedScene" uid="uid://bjru1p8jhdp1b" path="res://experimental/BinbunVFX/impact_explosions/effects/explosion/vfx_explosion_06.tscn" id="7_qbfoq"]
[ext_resource type="PackedScene" uid="uid://34ptrnfgpwlp" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_01.tscn" id="8_o25xt"]
[ext_resource type="PackedScene" uid="uid://x7jrg2y81jse" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_02.tscn" id="9_1plst"]
[ext_resource type="PackedScene" uid="uid://b6eowhdx7a7vq" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_03.tscn" id="10_htcnc"]
[ext_resource type="PackedScene" uid="uid://2eq2j53sic1i" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_04.tscn" id="11_doqkh"]
[ext_resource type="PackedScene" uid="uid://dgct4mxupvyvi" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_05.tscn" id="12_xqauc"]
[ext_resource type="PackedScene" uid="uid://ditmybmcrt283" path="res://experimental/BinbunVFX/impact_explosions/effects/impact/vfx_impact_06.tscn" id="13_i3mhr"]
[ext_resource type="PackedScene" uid="uid://ri1dspbxt43r" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_01.tscn" id="14_3gj8a"]
[ext_resource type="PackedScene" uid="uid://se15ow6u0q0m" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_02.tscn" id="15_lek47"]
[ext_resource type="PackedScene" uid="uid://b40oyf32pgee" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_03.tscn" id="16_d84l7"]
[ext_resource type="PackedScene" uid="uid://bbynk4p3biw83" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_04.tscn" id="17_rldqb"]
[ext_resource type="PackedScene" uid="uid://vkstbs4fu60" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_05.tscn" id="18_8nvr1"]
[ext_resource type="PackedScene" uid="uid://h47wdqps3cc6" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_06.tscn" id="19_xubrg"]
[ext_resource type="PackedScene" uid="uid://drtpctry2l8gr" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_07.tscn" id="20_bwmwf"]
[ext_resource type="PackedScene" uid="uid://cp7mydlqqpb17" path="res://experimental/BinbunVFX/impact_explosions/effects/hit/vfx_hit_08.tscn" id="21_y8o6q"]
[sub_resource type="Shader" id="Shader_0xm2m"]
code = "// NOTE: Shader automatically converted from Godot Engine 4.4.1.stable's StandardMaterial3D.
shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
uniform vec4 albedo : source_color;
uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01);
uniform ivec2 albedo_texture_size;
uniform float point_size : hint_range(0.1, 128.0, 0.1);
uniform float roughness : hint_range(0.0, 1.0);
uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable;
uniform vec4 metallic_texture_channel;
uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable;
uniform float specular : hint_range(0.0, 1.0, 0.01);
uniform float metallic : hint_range(0.0, 1.0, 0.01);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
uniform vec3 uv1_scale;
uniform vec3 uv1_offset;
uniform vec3 uv2_scale;
uniform vec3 uv2_offset;
void vertex() {
UV = UV * uv1_scale.xy + uv1_offset.xy;
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo, base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
float metallic_tex = dot(texture(texture_metallic, base_uv), metallic_texture_channel);
METALLIC = metallic_tex * metallic;
SPECULAR = specular;
vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0);
float roughness_tex = dot(texture(texture_roughness, base_uv), roughness_texture_channel);
ROUGHNESS = roughness_tex * roughness;
ALPHA *= albedo.a * albedo_tex.a;
// Proximity Fade: Enabled
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
ALPHA *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1bvp3"]
render_priority = 0
shader = SubResource("Shader_0xm2m")
shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/proximity_fade_distance = 1.0
shader_parameter/albedo_texture_size = Vector2i(0, 0)
shader_parameter/point_size = 1.0
shader_parameter/roughness = 1.0
shader_parameter/metallic_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/specular = 0.5
shader_parameter/metallic = 0.0
shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0)
shader_parameter/uv2_scale = Vector3(1, 1, 1)
shader_parameter/uv2_offset = Vector3(0, 0, 0)
[sub_resource type="CapsuleMesh" id="CapsuleMesh_7dm0k"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_h2yge"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_lquwl"]
[sub_resource type="Sky" id="Sky_lquwl"]
sky_material = SubResource("ProceduralSkyMaterial_lquwl")
[sub_resource type="Environment" id="Environment_0xm2m"]
background_mode = 2
background_color = Color(0.266667, 0, 0, 1)
background_energy_multiplier = 0.8
sky = SubResource("Sky_lquwl")
ambient_light_source = 3
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 2.0
ssao_enabled = true
ssao_intensity = 4.0
glow_enabled = true
glow_normalized = true
glow_intensity = 0.0
glow_bloom = 0.05
glow_map_strength = 0.0
fog_enabled = true
fog_light_color = Color(0.0629, 0.09503, 0.17, 1)
fog_light_energy = 2.0
fog_density = 0.02
volumetric_fog_enabled = true
volumetric_fog_density = 0.01
volumetric_fog_albedo = Color(0.482927, 0.681971, 0.820904, 1)
volumetric_fog_emission_energy = 0.0
adjustment_enabled = true
adjustment_contrast = 1.1
adjustment_saturation = 1.1
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_0xm2m"]
dof_blur_far_enabled = true
dof_blur_far_distance = 30.0
dof_blur_far_transition = 64.0
dof_blur_near_transition = -1.0
[sub_resource type="BoxMesh" id="BoxMesh_ig7tw"]
size = Vector3(1000, 6, 1000)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1bvp3"]
albedo_color = Color(0.866489, 0.931253, 0.944994, 1)
albedo_texture = ExtResource("1_vn7vm")
uv1_triplanar = true
[node name="Node3D" type="Node3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
visible = false
material_override = SubResource("ShaderMaterial_1bvp3")
mesh = SubResource("CapsuleMesh_7dm0k")
surface_material_override/0 = SubResource("ShaderMaterial_h2yge")
[node name="Environment" type="Node3D" parent="."]
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"]
transform = Transform3D(0.708475, 0.540625, 0.453638, 1.62119e-08, -0.642788, 0.766044, 0.705736, -0.542723, -0.455399, 0, 2.19112, 0)
light_color = Color(1, 0.992157, 0.956863, 1)
light_energy = 1.5
shadow_enabled = true
shadow_opacity = 0.5
shadow_blur = 9.219
[node name="WorldEnvironment" type="WorldEnvironment" parent="Environment"]
environment = SubResource("Environment_0xm2m")
camera_attributes = SubResource("CameraAttributesPractical_0xm2m")
[node name="Ground" type="MeshInstance3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3, 0)
mesh = SubResource("BoxMesh_ig7tw")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_1bvp3")
[node name="Lights" type="Node3D" parent="Environment"]
[node name="SpotLight3D" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 10, 0)
light_energy = 30.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D2" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 10, 0)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D3" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -14, 10, 0)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D4" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -20, 10, 0)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D5" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 10, -7)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D6" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -7, 10, -7)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D7" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -14, 10, -7)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="SpotLight3D8" type="SpotLight3D" parent="Environment/Lights"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -20, 10, -7)
light_energy = 20.0
spot_range = 18.188
spot_angle = 40.0
[node name="Effects" type="Node3D" parent="."]
[node name="VFXExplosion_01" parent="Effects" instance=ExtResource("2_t2wbt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
alpha_mode = 0
[node name="VFXExplosion_02" parent="Effects" instance=ExtResource("3_0ayp4")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 1, 0)
[node name="VFXExplosion_03" parent="Effects" instance=ExtResource("4_hwdop")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 1, 0)
[node name="VFXExplosion_04" parent="Effects" instance=ExtResource("5_pn2nt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 1, 0)
[node name="VFXExplosion_05" parent="Effects" instance=ExtResource("6_1w6h6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, 0)
[node name="VFXExplosion_06" parent="Effects" instance=ExtResource("7_qbfoq")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25, 1, 0)
[node name="VFXImpact_01" parent="Effects" instance=ExtResource("8_o25xt")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -5)
[node name="VFXImpact_02" parent="Effects" instance=ExtResource("9_1plst")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 0, -5)
[node name="VFXImpact_03" parent="Effects" instance=ExtResource("10_htcnc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 0, -5)
[node name="VFXImpact_04" parent="Effects" instance=ExtResource("11_doqkh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, -5)
[node name="VFXImpact_05" parent="Effects" instance=ExtResource("12_xqauc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 0, -5)
[node name="VFXImpact_06" parent="Effects" instance=ExtResource("13_i3mhr")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25, 0, -5)
[node name="VFXHit_01" parent="Effects" instance=ExtResource("14_3gj8a")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -9)
[node name="VFXHit_02" parent="Effects" instance=ExtResource("15_lek47")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -9)
[node name="VFXHit_03" parent="Effects" instance=ExtResource("16_d84l7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 1, -9)
[node name="VFXHit_04" parent="Effects" instance=ExtResource("17_rldqb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11, 1, -9)
proximity_fade_distance = 0.5
[node name="VFXHit_05" parent="Effects" instance=ExtResource("18_8nvr1")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 1, -9)
[node name="VFXHit_06" parent="Effects" instance=ExtResource("19_xubrg")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -17.5, 1, -9)
[node name="VFXHit_07" parent="Effects" instance=ExtResource("20_bwmwf")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, -9)
[node name="VFXHit_08" parent="Effects" instance=ExtResource("21_y8o6q")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24, 1, -9)
[node name="MainCamera" type="Camera3D" parent="."]
transform = Transform3D(-1, 5.01436e-08, -7.16125e-08, 0, 0.819152, 0.573576, 8.74228e-08, 0.573576, -0.819152, -12, 16, -27)
fov = 40.0

View File

@@ -0,0 +1,30 @@
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://ds825epdbvmpy"]
[ext_resource type="Shader" uid="uid://b6ke6r1fjb8s3" path="res://assets/BinbunVFX/impact_explosions/src/shader/explosion_core.gdshader" id="1_cumgj"]
[sub_resource type="Gradient" id="Gradient_o8yid"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_8jx1v"]
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_v36aq"]
seamless = true
color_ramp = SubResource("Gradient_o8yid")
noise = SubResource("FastNoiseLite_8jx1v")
[resource]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("1_cumgj")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_v36aq")
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

View File

@@ -0,0 +1,46 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://dnw08mtonx63d"]
[ext_resource type="Shader" uid="uid://b1sjgiq8o4tvd" path="res://experimental/BinbunVFX/impact_explosions/src/shader/explosion_smoke.gdshader" id="1_5yu7f"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_msnhc"]
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_plj08"]
noise = SubResource("FastNoiseLite_msnhc")
seamless = true
normalize = false
[sub_resource type="FastNoiseLite" id="FastNoiseLite_plj08"]
noise_type = 2
frequency = 0.04
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_msnhc"]
width = 128
height = 128
noise = SubResource("FastNoiseLite_plj08")
seamless = true
invert = true
[resource]
render_priority = 0
shader = ExtResource("1_5yu7f")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_msnhc")
shader_parameter/glow_noise_texture = SubResource("NoiseTexture2D_plj08")
shader_parameter/primary_color = Color(1, 0.662745, 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 = 1.0
shader_parameter/alpha_mode = 0

View File

@@ -0,0 +1,28 @@
[gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://ckmhsplln2t4v"]
[ext_resource type="Shader" uid="uid://7acg1ejnsqij" path="res://assets/BinbunVFX/impact_explosions/src/shader/impact_streaks.gdshader" id="1_q4j6j"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6ypje"]
noise_type = 2
frequency = 0.02
offset = Vector3(412.7, 0, 0)
fractal_octaves = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_6ypje"]
seamless = true
seamless_blend_skirt = 0.5
noise = SubResource("FastNoiseLite_6ypje")
[resource]
render_priority = 0
shader = ExtResource("1_q4j6j")
shader_parameter/noise_texture = SubResource("NoiseTexture2D_6ypje")
shader_parameter/primary_color = Color(0, 0, 0, 1)
shader_parameter/secondary_color = Color(0, 0, 0, 1)
shader_parameter/texture_scale = Vector2(4, 0.2)
shader_parameter/time_scale = 0.4
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

View File

@@ -0,0 +1,78 @@
shader_type spatial;
render_mode blend_mix, unshaded, cull_disabled;
uniform sampler2D mask_texture;
uniform sampler2D noise_texture;
uniform float edge_smoothness : hint_range(0.0, 1.0, 0.0) = 0.5;
uniform float color_smoothness : hint_range(0.0, 1.0, 0.1) = 1.0;
uniform vec4 primary_color : source_color;
uniform vec4 secondary_color : source_color;
uniform bool billboard = true;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
void vertex() {
if(billboard){
// Billboard Mode: Particles
mat4 mat_world = mat4(
normalize(INV_VIEW_MATRIX[0]),
normalize(INV_VIEW_MATRIX[1]),
normalize(INV_VIEW_MATRIX[2]),
MODEL_MATRIX[3]);
mat_world = mat_world * mat4(
vec4(cos(INSTANCE_CUSTOM.x), -sin(INSTANCE_CUSTOM.x), 0.0, 0.0),
vec4(sin(INSTANCE_CUSTOM.x), cos(INSTANCE_CUSTOM.x), 0.0, 0.0),
vec4(0.0, 0.0, 1.0, 0.0),
vec4(0.0, 0.0, 0.0, 1.0));
MODELVIEW_MATRIX = VIEW_MATRIX * mat_world;
// Billboard Keep Scale: Enabled
MODELVIEW_MATRIX = MODELVIEW_MATRIX * mat4(
vec4(length(MODEL_MATRIX[0].xyz), 0.0, 0.0, 0.0),
vec4(0.0, length(MODEL_MATRIX[1].xyz), 0.0, 0.0),
vec4(0.0, 0.0, length(MODEL_MATRIX[2].xyz), 0.0),
vec4(0.0, 0.0, 0.0, 1.0));
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
}
}
void fragment() {
float mask = texture(mask_texture, UV).r;
float noise = texture(noise_texture, UV + vec2(COLOR.r)).r;
float masked_noise = mask - (1.0 - (noise));
float color_value = smoothstep(0.5 - color_smoothness * 0.5,0.5 + color_smoothness * 0.5,masked_noise);
float alpha = smoothstep(0.5 - edge_smoothness * 0.5,0.5 + edge_smoothness * 0.5,masked_noise) * COLOR.a;
//float color_value = smoothstep(0.0,color_smoothness, masked_noise);
ALBEDO = (mix(secondary_color, primary_color, color_value).rgb + COLOR.rgb) * 2.0;
EMISSION = ALBEDO;
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}

View File

@@ -0,0 +1 @@
uid://cssforqq3llvn

View File

@@ -0,0 +1,55 @@
shader_type spatial;
render_mode blend_mix, unshaded;
uniform sampler2D mask_texture;
uniform sampler2D noise_texture;
uniform float edge_smoothness : hint_range(0.0, 1.0, 0.0) = 0.5;
uniform float color_smoothness : hint_range(0.0, 1.0, 0.1) = 1.0;
uniform vec4 tertiary_color : source_color;
uniform float alpha_multiplier : hint_range(0.0, 1.0, 0.1) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
void vertex() {
mat4 modified_model_view = VIEW_MATRIX * mat4(
INV_VIEW_MATRIX[0],
INV_VIEW_MATRIX[1],
INV_VIEW_MATRIX[2],
MODEL_MATRIX[3]
);
MODELVIEW_MATRIX = modified_model_view;
}
void fragment() {
float mask = texture(mask_texture, UV).r;
float noise = texture(noise_texture, UV + vec2(COLOR.r)).r;
float masked_noise = mask - (1.0 - (noise - pow(COLOR.a, 4.0)));
float alpha = smoothstep(0.5 - edge_smoothness * 0.5,0.5 + edge_smoothness * 0.5,masked_noise) * alpha_multiplier;
//float color_value = smoothstep(0.0,color_smoothness, masked_noise);
ALBEDO = tertiary_color.rgb;
//EMISSION = ALBEDO * 2.0;
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://ccd4kg68n7uox

View File

@@ -0,0 +1,63 @@
shader_type spatial;
render_mode blend_mix, cull_disabled;
uniform sampler2D noise_texture;
uniform sampler2D glow_noise_texture;
uniform vec4 primary_color : source_color;
uniform vec2 texture_scale = vec2(1.0);
uniform float decay = 0.0;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
float noise(vec2 uv) {
float noise = texture(noise_texture, uv * texture_scale + vec2(TIME * 0.2)).r;
return noise;
}
void vertex() {
VERTEX = VERTEX + (NORMAL * noise(UV) * pow(decay, 0.5) * 0.3) + (NORMAL * pow(decay, 0.3)*0.1);
}
void fragment() {
float noise = noise(UV);
float alpha = 1.0 - smoothstep(noise, 1.0, decay);
alpha = smoothstep(0.9, 1.0, alpha);
ALBEDO = mix(vec3(1.0), primary_color.rgb, decay);
ROUGHNESS = 1.0;
EMISSION = ALBEDO * ((1.0-decay) * 2.0);
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://b6ke6r1fjb8s3

View File

@@ -0,0 +1,61 @@
shader_type spatial;
render_mode blend_mix, cull_disabled;
uniform sampler2D noise_texture;
uniform sampler2D glow_noise_texture;
uniform vec4 primary_color : source_color;
uniform vec2 texture_scale = vec2(1.0);
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
float noise(vec2 uv) {
float noise = texture(noise_texture, uv * texture_scale + vec2(TIME * 0.2)).r;
return noise;
}
void vertex() {
VERTEX = VERTEX + (NORMAL * noise(UV) * pow(COLOR.a, 0.5) * 0.3) + (NORMAL * pow(COLOR.a, 0.3)*0.1);
}
void fragment() {
float noise = noise(UV);
float alpha = 1.0 - smoothstep(noise, 1.0, COLOR.a);
alpha = smoothstep(0.9, 1.0, alpha);
ALBEDO = mix(vec3(1.0), primary_color.rgb, COLOR.a);
ROUGHNESS = 1.0;
EMISSION = ALBEDO * ((1.0-COLOR.a) * 2.0);
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://de7cy2qqnf2p5

View File

@@ -0,0 +1,89 @@
shader_type spatial;
render_mode blend_mix, depth_prepass_alpha, cull_back, diffuse_burley, specular_schlick_ggx;
uniform sampler2D noise_texture;
uniform sampler2D glow_noise_texture;
uniform vec4 primary_color : source_color;
uniform vec4 tertiary_color : source_color;
uniform vec2 time_scale = vec2(1.0);
uniform vec2 texture_scale = vec2(1.0);
uniform float noise_scale = 1.0;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
float fresnel(float amount, vec3 normal, vec3 view)
{
return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0 )), amount);
}
float noise(vec2 uv){
float uv_mask1 = pow(uv.y, 0.2);
float uv_mask2 = pow(1.0-uv.y, 0.2);
float uv_mask = min(uv_mask1, uv_mask2);
vec2 noise_uv = (uv * texture_scale) + vec2(TIME) * time_scale;
float noise = texture(noise_texture, noise_uv).r * uv_mask;
return noise;
}
void vertex() {
float n = noise(UV);
n = pow(n, 0.5);
vec3 offset = (NORMAL * n);
VERTEX += offset * noise_scale;
}
void fragment() {
ROUGHNESS = 1.0;
float glow_amount = COLOR.r;
float glow_n = texture(glow_noise_texture, UV + vec2(TIME) * time_scale * 0.5).r;
float n = pow(1.0 - noise(UV), 0.5) * (mix(glow_n, 1.0, .7));
float glow = smoothstep(1.0 - glow_amount, 1.0, n);
vec4 color = mix(tertiary_color, primary_color, glow);
ALBEDO = color.rgb;
EMISSION = (ALBEDO * 4.0) * glow;
// ALPHA
float decay_amount = 1.0 - COLOR.a;
float alpha = smoothstep(decay_amount - 0.2, decay_amount, glow_n*0.8);//
alpha *= 1.0 - fresnel(3.0, NORMAL, VIEW);
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://b1sjgiq8o4tvd

View File

@@ -0,0 +1,70 @@
shader_type spatial;
render_mode blend_mix, cull_disabled;
uniform sampler2D ring_texture;
uniform sampler2D noise_texture;
uniform vec4 primary_color : source_color;
uniform vec4 secondary_color : source_color;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
void vertex() {
// Called for every vertex the material is visible on.
}
float noise_fade(float v, float n, float amt, float treshold){
float value = 1.0;
float n_amt = amt * 2.0;
value = mix(v, v - (1.0-(n * treshold)), n_amt);
value = clamp(value, 0.0, 1.0);
return value;
}
void fragment() {
float ring_mask = texture(ring_texture, UV).r;
float noise = texture(noise_texture, UV).r;
float decay = (1.0 - pow(COLOR.a,0.5)) * 3.0;
float value = noise_fade(ring_mask, noise, decay, 0.7);
vec4 color = mix(secondary_color, primary_color, value);
ALBEDO = mix(color.rgb, vec3(1.0), pow(COLOR.a, 8.0));
EMISSION = ALBEDO * 2.0;
float alpha = smoothstep(0.1,0.5, value);
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://bf8eiigjam2fr

View File

@@ -0,0 +1,49 @@
shader_type spatial;
render_mode blend_mix, unshaded;
uniform vec4 primary_color : source_color;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform float alpha_multiplier : hint_range(0.0,1.0,0.05) = 0.432;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
float fresnel(float amount, vec3 normal, vec3 view)
{
return pow((1.0 - clamp(dot(normalize(normal), normalize(view)), 0.0, 1.0 )), amount);
}
void fragment() {
float alpha = pow(1.0 - fresnel(1.0,NORMAL, VIEW), 16.0) * alpha_multiplier;
ALBEDO = primary_color.rgb;
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://d4eb3cue1817u

View File

@@ -0,0 +1,65 @@
shader_type spatial;
render_mode blend_mix;
uniform sampler2D shape_texture;
uniform sampler2D noise_texture;
uniform vec4 primary_color : source_color;
uniform vec4 secondary_color : source_color;
uniform float decay : hint_range(0.0,1.0,0.01);
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
float shape(vec2 uv){
float s = texture(shape_texture, uv).r;
return s;
}
float wave(vec2 uv){
float s = pow(shape(uv),0.4);
float mask1 = shape(uv);
float mask2 = pow(1.0 - shape(uv),2.0);
float w = sin(s * 16.0 + (TIME * 16.0));
w = (w + 1.0) / 2.0;
w *= mask1 - pow(1.0 - decay, 8.0);
w *= 1.0 + mask2 - pow(decay * 2.0, 1.0);
w = clamp(w, 0.0, 1.0);
return w * 8.0;
}
void vertex() {
VERTEX += NORMAL * wave(UV) * 0.1;
}
void fragment() {
float wave_value = wave(UV);
float noise = texture(noise_texture, UV).r;
float alpha = clamp(wave_value - noise, 0.0, 1.0);
vec3 color = mix(secondary_color, primary_color, wave_value).rgb;
ALBEDO = color;
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://dw1bkef40wjyi

View File

@@ -0,0 +1,62 @@
shader_type spatial;
render_mode blend_mix, cull_disabled, depth_prepass_alpha;
uniform sampler2D noise_texture;
uniform vec4 primary_color : source_color;
uniform vec4 secondary_color : source_color;
uniform vec2 texture_scale = vec2(1.0);
uniform vec2 time_scale = vec2(1.0);
uniform float grow : hint_range(0.0, 1.0, 0.01) = 0.34;
uniform float decay : hint_range(0.0, 1.0, 0.01) = 0.34;
uniform bool proximity_fade = false;
uniform float proximity_fade_distance : hint_range(0.0, 4096.0, 0.01) = 1.0;
uniform int alpha_mode : hint_range(0, 2, 1) = 0;
const vec3 ign = vec3(0.06711056f, 0.00583715f, 52.9829189f);
uniform sampler2D depth_texture : hint_depth_texture, repeat_disable, filter_nearest;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
float noise = texture(noise_texture, (UV * texture_scale + (vec2(TIME) * time_scale))).r;
float mask = UV.y;
float masked_noise = noise * mask;
float alpha = smoothstep(grow,grow + 0.1,masked_noise);
alpha *= decay;
ALBEDO = mix(secondary_color.rgb, primary_color.rgb, UV.y);
EMISSION = ALBEDO * 3.0;
// Proximity Fade: Enabled
if(proximity_fade){
float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r;
vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0);
proximity_view_pos.xyz /= proximity_view_pos.w;
alpha *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0);
}
if(alpha_mode == 0){
ALPHA = alpha;
} else if (alpha_mode == 1) {
if (alpha < 0.001 || alpha < fract(ign.z * fract(dot(FRAGCOORD.xy, ign.xy)))) {
discard;
}
} else if (alpha_mode == 2) {
if (alpha < 0.2){
discard;
}
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://7acg1ejnsqij

View File

@@ -0,0 +1,23 @@
shader_type spatial;
render_mode blend_mix;
uniform sampler2D shape_texture;
uniform vec4 primary_color : source_color;
uniform vec4 secondary_color : source_color;
void fragment() {
float mask = texture(shape_texture, UV).r;
ALBEDO = mix(secondary_color, primary_color, mask).rgb;
EMISSION = ALBEDO * 4.0;
if (mask < .1){
discard;
}
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

@@ -0,0 +1 @@
uid://d28ltkmbbdcjb

View File

@@ -0,0 +1,201 @@
@tool
extends Node3D
class_name VFXController
## Works only in the editor. By default works like "emitting" on particles. When one_shot is enabled works as a button.
@export var preview : bool = true:
set(value):
if Engine.is_editor_hint():
if one_shot && value == true:
play()
else:
preview = value
if value == true:
play()
@export var one_shot : bool = false:
set(value):
if Engine.is_editor_hint():
one_shot = value
preview = false
@export var autoplay : bool = true
@export_group("General")
@export var local_coords : bool = false:
set(value):
local_coords = value
for p in _get_particles(): if is_instance_valid(p): p.local_coords = value
@export_range(0, 10, 0.01) var speed_scale : float = 1.0:
set(value):
speed_scale = value
_set_shader_params("time_scale", speed_scale)
_get_anim().speed_scale = value
for p in _get_particles(): if is_instance_valid(p): p.speed_scale = value
@export_group("Colors")
@export var primary_color : Color:
set(value):
primary_color = value
_set_shader_params("primary_color", primary_color)
@export var secondary_color : Color:
set(value):
secondary_color = value
_set_shader_params("secondary_color", secondary_color)
@export var tertiary_color : Color:
set(value):
tertiary_color = value
_set_shader_params("tertiary_color", tertiary_color)
@export_group("Light")
@export var light_enable : bool = true:
set(value):
light_enable = value
_set_light_prop("visible", value)
@export var light_color : Color:
set(value):
light_color = value
_set_light_prop("light_color", value)
@export var light_energy : float = 4.0:
set(value):
light_energy = value
_set_light_prop("base_energy", value)
@export var light_indirect_energy : float = 1.0:
set(value):
light_indirect_energy = value
_set_light_prop("light_indirect_energy", value)
@export var light_volumetric_fog_energy : float = 1.0:
set(value):
light_volumetric_fog_energy = value
_set_light_prop("light_volumetric_fog_energy", value)
@export_group("Proximity Fade")
@export var proximity_fade : bool = false:
set(value):
proximity_fade = value
_set_shader_params("proximity_fade", proximity_fade)
@export var proximity_fade_distance : float = 1.0:
set(value):
proximity_fade_distance = value
_set_shader_params("proximity_fade_distance", proximity_fade_distance)
@export_group("LODs")
enum Alpha_Mode {
## Smooth transparency. Most performance intensive
SMOOTH,
## Displays transparency with a dithering pattern. Less performance intensive
DITHER,
## Hard cut alpha. Like "Alpha Scissor" in [b]SpatialMaterial[/b]. Least performance intensive
CUT,
## Uses dithering and hard cut to achieve better results
HYBRID
}
## Specifies how to handle [b]transparency[/b] within shaders.
@export var alpha_mode : Alpha_Mode = Alpha_Mode.SMOOTH:
set(value):
alpha_mode = value
_set_shader_params("alpha_mode", alpha_mode)
@export_range(0.0,1.0,0.01) var alpha_cutoff : float = 0.02:
set(value):
alpha_cutoff = value
_set_shader_params("alpha_cutoff", alpha_cutoff)
@export_range(0.0,1.0,0.01) var dither_cutoff : float = 0.8:
set(value):
dither_cutoff = value
_set_shader_params("dither_cutoff", dither_cutoff)
## Specify resolution of meshes.
## [br][br]
## [b]SphereMesh:[/b] Sets [code]radial_segments[/code] to the [b]value[/b] and
## [code]rings[/code] to [b]half the value[/b]
## [br][br]
## [b]CylinderMesh:[/b] Sets [code]radial_segments[/code] to the [b]value[/b]
## [br][br]
## [b]PlaneMesh:[/b] Sets [code]subdivide_width[/code] and [code]subdivide_depth[/code] to the [b]value[/b]
@export var mesh_resolutions : int = 32:
set(value):
mesh_resolutions = value
_set_mesh_resolutions(mesh_resolutions)
var particles : Array[GPUParticles3D] = []
func _ready() -> void:
if Engine.is_editor_hint():
return
if autoplay: play()
func _enter_tree() -> void:
if autoplay: preview = true
func play():
var anim : AnimationPlayer = _get_anim()
_reset_particles()
if !one_shot:
anim.play("main")
anim.seek(0.0)
await _get_anim().animation_finished
if Engine.is_editor_hint() && !preview:
return
play()
else:
if anim.has_animation("oneshot"):
anim.play("oneshot")
else:
anim.play("main")
## Util
func _get_anim() -> AnimationPlayer:
return get_node("AnimationPlayer")
func _get_particles() -> Array[GPUParticles3D]:
var result : Array[GPUParticles3D] = []
for p in get_children():
if p is GPUParticles3D:
result.append(p)
return result
func _get_meshinstances() -> Array[MeshInstance3D]:
var result : Array[MeshInstance3D] = []
for m in get_children():
if m is MeshInstance3D:
result.append(m)
return result
func _get_meshes() -> Array[Mesh]:
var result : Array[Mesh]
for p in _get_particles(): if is_instance_valid(p):
result.append(p.draw_pass_1)
for m in _get_meshinstances(): if is_instance_valid(m):
result.append(m.mesh)
return result
func _set_light_prop(pname : String, value) -> void:
var light = get_node_or_null("Light")
if light != null:
light.set(pname, value)
func _reset_particles():
for p in _get_particles():
p.restart()
func _set_shader_params(name : String, value) -> void:
for p in _get_particles():
if is_instance_valid(p):
if p.material_override is ShaderMaterial:
p.material_override.set("shader_parameter/" + name, value)
for m in _get_meshinstances():
if is_instance_valid(m):
if m.material_override is ShaderMaterial:
m.material_override.set("shader_parameter/" + name, value)
func _set_mesh_resolutions(value : int) -> void:
for m in _get_meshes(): if is_instance_valid(m):
if m is SphereMesh:
m.radial_segments = value
m.rings = value/2
if m is CylinderMesh:
m.radial_segments = value
if m is PlaneMesh:
m.subdivide_width = value
m.subdivide_depth = value

View File

@@ -0,0 +1 @@
uid://tb7n6ybv43ch

View File

@@ -0,0 +1,12 @@
@tool
extends OmniLight3D
class_name VFX_Light
@export var base_energy : float = 2.0:
set(value):
base_energy = value
light_energy = base_energy * light_multiplier
@export_range(0.0,1.0,0.01) var light_multiplier : float = 1.0:
set(value):
light_multiplier = value
light_energy = base_energy * light_multiplier

View File

@@ -0,0 +1 @@
uid://bdk8hhttligw

View File

@@ -0,0 +1,907 @@
{
"connections": [
{
"from": "voronoi2_2",
"from_port": 0,
"to": "math_2",
"to_port": 1
},
{
"from": "math_2",
"from_port": 0,
"to": "math_3",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "math_3",
"to_port": 1
},
{
"from": "math_3",
"from_port": 0,
"to": "sharpen",
"to_port": 0
},
{
"from": "voronoi2",
"from_port": 0,
"to": "math_2",
"to_port": 0
},
{
"from": "sharpen",
"from_port": 0,
"to": "math",
"to_port": 0
},
{
"from": "math",
"from_port": 0,
"to": "tones_step",
"to_port": 0
},
{
"from": "uniform",
"from_port": 0,
"to": "blend2",
"to_port": 0
},
{
"from": "uniform_2",
"from_port": 0,
"to": "blend2",
"to_port": 1
},
{
"from": "tones_step_2",
"from_port": 0,
"to": "blend2",
"to_port": 2
},
{
"from": "blend2",
"from_port": 0,
"to": "blend2_2",
"to_port": 0
},
{
"from": "uniform_3",
"from_port": 0,
"to": "blend2_2",
"to_port": 1
},
{
"from": "normal_map2",
"from_port": 0,
"to": "Material",
"to_port": 4
},
{
"from": "math_4",
"from_port": 0,
"to": "normal_map2",
"to_port": 0
},
{
"from": "tones_step",
"from_port": 0,
"to": "fast_blur",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "tones_step_2",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "math_4",
"to_port": 0
},
{
"from": "fast_blur",
"from_port": 0,
"to": "blend2_2",
"to_port": 2
},
{
"from": "fast_blur",
"from_port": 0,
"to": "graph_6",
"to_port": 0
},
{
"from": "blend2_2",
"from_port": 0,
"to": "blend2_3",
"to_port": 0
},
{
"from": "graph_6",
"from_port": 0,
"to": "blend2_3",
"to_port": 1
},
{
"from": "blend2_3",
"from_port": 0,
"to": "Material",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "511",
"node_position": {
"x": 0,
"y": 0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 2029,
"y": -92
},
"parameters": {
"albedo_color": {
"a": 1,
"b": 1,
"g": 1,
"r": 1,
"type": "Color"
},
"ao": 1,
"depth_scale": 0.7,
"emission_energy": 0,
"flags_transparent": false,
"metallic": 0,
"normal": 1,
"roughness": 1,
"size": 11,
"sss": 0
},
"seed_int": 0,
"type": "material"
},
{
"name": "voronoi2",
"node_position": {
"x": -2174,
"y": 335
},
"parameters": {
"intensity": 1,
"randomness": 0.85,
"scale_x": 8,
"scale_y": 8,
"stretch_x": 1,
"stretch_y": 1
},
"seed_int": 1884072448,
"type": "voronoi2"
},
{
"name": "voronoi2_2",
"node_position": {
"x": -2185.340332,
"y": 576.901062
},
"parameters": {
"intensity": 1,
"randomness": 1,
"scale_x": 6,
"scale_y": 6,
"stretch_x": 1,
"stretch_y": 1
},
"seed_int": 190614896,
"type": "voronoi2"
},
{
"name": "math_2",
"node_position": {
"x": -1422.340332,
"y": 488.901062
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "sharpen",
"node_position": {
"x": -292.340332,
"y": 358.901062
},
"parameters": {
"size": 5
},
"seed_int": 0,
"type": "sharpen"
},
{
"name": "radial_gradient",
"node_position": {
"x": -888.340332,
"y": 141.901062
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1,
"b": 1,
"g": 1,
"pos": 0.400481,
"r": 1
},
{
"a": 1,
"b": 0,
"g": 0,
"pos": 0.718311,
"r": 0
}
],
"type": "Gradient"
},
"repeat": 1
},
"seed_int": 0,
"type": "radial_gradient"
},
{
"name": "math_3",
"node_position": {
"x": -582.340332,
"y": 299.901062
},
"parameters": {
"clamp": true,
"default_in1": 0,
"default_in2": 3,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "tones_step",
"node_position": {
"x": 141.659668,
"y": 136.901062
},
"parameters": {
"invert": false,
"value": 0.15,
"width": 0.28
},
"seed_int": 0,
"type": "tones_step"
},
{
"name": "math",
"node_position": {
"x": -133.678223,
"y": 139.390686
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 2,
"op": 6
},
"seed_int": 0,
"type": "math"
},
{
"generic_size": 1,
"name": "blend2",
"node_position": {
"x": 877.70166,
"y": -140.297119
},
"parameters": {
"amount1": 0.71,
"blend_type1": 0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "uniform",
"node_position": {
"x": 526.70166,
"y": -241.297119
},
"parameters": {
"color": {
"a": 0,
"b": 0.239216,
"g": 0.239216,
"r": 0.239216,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "uniform_2",
"node_position": {
"x": 521.20166,
"y": -148.297119
},
"parameters": {
"color": {
"a": 1,
"b": 0.183594,
"g": 0.183594,
"r": 0.183594,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "uniform_3",
"node_position": {
"x": 949.20166,
"y": 86.702881
},
"parameters": {
"color": {
"a": 1,
"b": 0.042969,
"g": 0.042969,
"r": 0.042969,
"type": "Color"
}
},
"seed_int": 0,
"type": "uniform"
},
{
"name": "tones_step_2",
"node_position": {
"x": 481.70166,
"y": -53.29715
},
"parameters": {
"invert": false,
"value": 0.15,
"width": 0.28
},
"seed_int": 0,
"type": "tones_step"
},
{
"name": "normal_map2",
"node_position": {
"x": 1555.70166,
"y": 264.702881
},
"parameters": {
"buffer": 1,
"param2": 0,
"size": 11,
"strength": -1
},
"seed_int": 0,
"type": "normal_map2"
},
{
"generic_size": 1,
"name": "blend2_2",
"node_position": {
"x": 1227.70166,
"y": 97.702881
},
"parameters": {
"amount1": 1,
"blend_type1": 0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "math_4",
"node_position": {
"x": 999.70166,
"y": 342.702881
},
"parameters": {
"clamp": false,
"default_in1": 0,
"default_in2": 0.9,
"op": 6
},
"seed_int": 0,
"type": "math"
},
{
"name": "fast_blur",
"node_position": {
"x": 393.70166,
"y": 333.702881
},
"parameters": {
"param0": 11,
"param1": 4,
"param2": 1,
"param3": 1
},
"seed_int": 0,
"type": "fast_blur"
},
{
"connections": [
{
"from": "voronoi_3",
"from_port": 0,
"to": "buffer_5",
"to_port": 0
},
{
"from": "voronoi_2",
"from_port": 0,
"to": "buffer_7",
"to_port": 0
},
{
"from": "buffer_7",
"from_port": 0,
"to": "gen_outputs",
"to_port": 0
},
{
"from": "gen_inputs",
"from_port": 0,
"to": "buffer_2",
"to_port": 0
},
{
"from": "buffer_2",
"from_port": 0,
"to": "voronoi_3",
"to_port": 0
},
{
"from": "buffer_5",
"from_port": 0,
"to": "voronoi_2",
"to_port": 0
}
],
"label": "HBAO",
"longdesc": "",
"name": "graph_6",
"node_position": {
"x": 1400.70166,
"y": -410.297119
},
"nodes": [
{
"name": "voronoi_3",
"node_position": {
"x": -600.80072,
"y": -894.601807
},
"parameters": {
"angleBiasDeg": 15,
"depth_scale": 0.08,
"intensity": 2,
"quality": 4,
"radius": 0.1
},
"seed": 49449,
"shader_model": {
"code": "",
"global": "",
"inputs": [
{
"default": "0.0",
"function": true,
"label": "",
"name": "in",
"type": "f"
}
],
"instance": "//inspired by:\n//http://developer.download.nvidia.com/presentations/2008/SIGGRAPH/HBAO_SIG08b.pdf\n//https://gist.github.com/dotModded/981206ae1f4e760b7348\n//https://github.com/scanberg/hbao/blob/master/resources/shaders/hbao_full_frag.glsl\n//radius - radius of influence in screen space\n//angleBiasDeg - ~minimum angle for AO\n//intensity - increase strength of caclulated AO\n//noiseScale - for randomization values\nfloat $(name)_hbao(vec2 uv, float radius, float angleBiasDeg, float intensity, vec2 noiseScale) {\n int samplig_directions = 8;\n int steps = int($quality);\n\n float angleBias = 0.0174532925 * angleBiasDeg;\n\n vec3 c_point = vec3(uv*2.0 - 1.0, $in(uv)*$depth_scale);\n //fun with dfdx & dfdy - https://community.khronos.org/t/getting-the-normal-with-dfdx-and-dfdy/70177\n vec3 c_normal = normalize(cross(dFdx(c_point), dFdy(c_point)));\n\n\n float cosMaxRot = cos(6.28318530718 / float(samplig_directions));\n float sinMaxROt = sin(6.28318530718 / float(samplig_directions));\n \n // it should be faster than standard rotation in each iteartion\n mat2 deltaRotationMatrix = mat2(\n\tvec2(cosMaxRot, -sinMaxROt),\n\tvec2(sinMaxROt, cosMaxRot)\n );\n \n // calculate starting offset, as the smallest step\n vec2 offset_uv = vec2(1.0, 0.0) * (radius /float(steps));\n\n //randomize angle\n vec3 sampleNoise\t= rand3(uv * noiseScale);\n sampleNoise.xy\t = sampleNoise.xy * 2.0 - vec2(1.0);\n mat2 rotationMatrix = mat2(vec2(sampleNoise.x, -sampleNoise.y), \n\t\t\t\t\t\t\t vec2(sampleNoise.y, sampleNoise.x));\n \n // apply a random rotation to the base step vector\n offset_uv = rotationMatrix * offset_uv;\n \n float jitter = sampleNoise.z;\n float occlusion = 0.0;\n \n for (int i = 0; i < samplig_directions; ++i) {\n\t// incrementally rotate sample direction\n\toffset_uv = deltaRotationMatrix * offset_uv;\n\tfloat oldAngle = angleBias;\n\tfor (int j = 0; j < steps; ++j) {\n\t //add jitter & distance to offset UV\n\t vec2 sample_uv\t = uv + (jitter + float(j)) * offset_uv;\n\t vec3 s_point\t = vec3(sample_uv*2.0 - 1.0, $in(sample_uv)*$depth_scale);\n\t vec3 sample_tan = (s_point - c_point); //not sure if correct, but looks ok\n\t // 90 deg - (angle between normal from current point & sampled tangent)\n\t //https://math.stackexchange.com/questions/654315/how-to-convert-a-dot-product-of-two-vectors-to-the-angle-between-the-vectors\n\t float gamma = 1.57079632679 - acos(dot(c_normal, normalize(sample_tan)));\n\t \n\t if (gamma > oldAngle) {\n\t\tfloat value = sin(gamma) - sin(oldAngle);\n\t\tfloat attenuation = clamp(1.0 - pow(length(sample_tan.xy)/radius, 2.0), 0.0, 1.0);\n\t\tocclusion += attenuation * value;\n\t\t//occlusion += value;\n\t\toldAngle = gamma;\n\t }\n\t}\n }\n \n occlusion = 1.0 - occlusion / float(samplig_directions);\n return clamp(pow(occlusion, 1.0 + intensity), 0.0, 1.0);\n}",
"longdesc": "A node that generates several images from a tileable voronoi noise",
"name": "HBAO",
"outputs": [
{
"f": "$(name)_hbao($uv,$radius, $angleBiasDeg, $intensity, vec2(16.0,16.0))",
"longdesc": "A color pattern that assigns a random color to each cell",
"shortdesc": "Random color",
"type": "f"
}
],
"parameters": [
{
"control": "None",
"default": 0.01,
"label": "Radius",
"longdesc": "The scale along the X axis",
"max": 1,
"min": 0,
"name": "radius",
"shortdesc": "Scale.x",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 30,
"label": "Angle Bias",
"longdesc": "Angle bias for AO",
"max": 90,
"min": 0,
"name": "angleBiasDeg",
"shortdesc": "Angle Bias",
"step": 1,
"type": "float"
},
{
"control": "None",
"default": 0.2,
"label": "Intensity",
"longdesc": "Change intensity of AO",
"max": 5,
"min": 0,
"name": "intensity",
"shortdesc": "Intensity",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 1,
"label": "Depth Scale",
"longdesc": "Lineary scales depth values afecting cacluated normals & tangents",
"max": 1,
"min": 0,
"name": "depth_scale",
"shortdesc": "Depth Scale",
"step": 0.01,
"type": "float"
},
{
"control": "None",
"default": 4,
"label": "Steps",
"longdesc": "Steps in given direction per ray",
"max": 12,
"min": 1,
"name": "quality",
"shortdesc": "Quality",
"step": 1,
"type": "float"
}
],
"shortdesc": "Voronoi Noise"
},
"type": "shader"
},
{
"name": "gen_inputs",
"node_position": {
"x": -1338.030762,
"y": -788.080872
},
"parameters": {
},
"ports": [
{
"group_size": 0,
"longdesc": "Greyscale heightmap",
"name": "input",
"shortdesc": "Input",
"type": "f"
}
],
"seed": 43798,
"type": "ios"
},
{
"name": "gen_outputs",
"node_position": {
"x": -902.684204,
"y": -327.282288
},
"parameters": {
},
"ports": [
{
"group_size": 0,
"longdesc": "",
"name": "port0",
"shortdesc": "AO",
"type": "f"
}
],
"seed": 42623,
"type": "ios"
},
{
"name": "gen_parameters",
"node_position": {
"x": -1488.979004,
"y": -561.71167
},
"parameters": {
"param0": 10,
"param1": 0.1,
"param2": 15,
"param3": 0.08,
"param4": 4,
"param5": 2
},
"seed": 58911,
"type": "remote",
"widgets": [
{
"label": "Size",
"linked_widgets": [
{
"node": "voronoi_2",
"widget": "size"
},
{
"node": "buffer_2",
"widget": "size"
},
{
"node": "buffer_5",
"widget": "size"
},
{
"node": "buffer_7",
"widget": "size"
}
],
"name": "param0",
"shortdesc": "Size",
"type": "linked_control"
},
{
"label": "Radius",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "radius"
}
],
"longdesc": "Affected radius of point in UV size",
"name": "param1",
"shortdesc": "Radius",
"type": "linked_control"
},
{
"label": "Angle Bias",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "angleBiasDeg"
}
],
"longdesc": "Minimum angle on heightmap for AO to occur. Angle is calculated in UV space, where depth (grayscale input) is scaled by \"Depth Scale\" parameter",
"name": "param2",
"shortdesc": "Angle bias",
"type": "linked_control"
},
{
"label": "Depth Scale",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "depth_scale"
}
],
"longdesc": "Lineary scales depth values afecting cacluated normals & tangents",
"name": "param3",
"shortdesc": "Depth Scale",
"type": "linked_control"
},
{
"label": "Quality",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "quality"
}
],
"longdesc": "Number of steps per direction sampling",
"name": "param4",
"shortdesc": "Quality",
"type": "linked_control"
},
{
"label": "Intensity",
"linked_widgets": [
{
"node": "voronoi_3",
"widget": "intensity"
}
],
"longdesc": "Change intensity of calculated AO",
"name": "param5",
"shortdesc": "Intensity",
"type": "linked_control"
}
]
},
{
"name": "voronoi_2",
"node_position": {
"x": -710.111145,
"y": -596.459534
},
"parameters": {
"ksigma": 4,
"sigma": 3,
"size": 10,
"threshold": 0.7
},
"seed": 38722,
"shader_model": {
"code": "",
"global": "",
"inputs": [
{
"default": "0.0",
"function": true,
"label": "",
"name": "in",
"type": "rgba"
}
],
"instance": "//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n// Copyright (c) 2018-2019 Michele Morrone\n// All rights reserved.\n//\n// https://michelemorrone.eu - https://BrutPitt.com\n//\n// me@michelemorrone.eu - brutpitt@gmail.com\n// twitter: @BrutPitt - github: BrutPitt\n// \n// https://github.com/BrutPitt/glslSmartDeNoise/\n//\n// This software is distributed under the terms of the BSD 2-Clause license\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n// smartDeNoise - parameters\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n//\n// sampler2D tex\t - sampler image / texture\n// vec2 uv\t\t - actual fragment coord\n// float sigma > 0 - sigma Standard Deviation\n// float kSigma >= 0 - sigma coefficient \n//\t kSigma * sigma --> radius of the circular kernel\n// float threshold - edge sharpening threshold \nvec4 $(name)_smartDeNoise(vec2 uv, float sigma, float kSigma, float threshold)\n{\n\tfloat INV_SQRT_OF_2PI = 0.39894228040143267793994605993439; // 1.0/SQRT_OF_2PI\n\tfloat INV_PI = 0.31830988618379067153776752674503;\n\tfloat radius = round(kSigma*sigma);\n\tfloat radQ = radius * radius;\n\n\tfloat invSigmaQx2 = .5 / (sigma * sigma);\t // 1.0 / (sigma^2 * 2.0)\n\tfloat invSigmaQx2PI = INV_PI * invSigmaQx2;\t// 1/(2 * PI * sigma^2)\n\n\tfloat invThresholdSqx2 = .5 / (threshold * threshold);\t // 1.0 / (sigma^2 * 2.0)\n\tfloat invThresholdSqrt2PI = INV_SQRT_OF_2PI / threshold; // 1.0 / (sqrt(2*PI) * sigma^2)\n\n\tvec4 centrPx = $in(uv); \n\n\tfloat zBuff = 0.0;\n\tvec4 aBuff = vec4(0.0);\n\tvec2 size = vec2($size, $size);\n\n\tvec2 d;\n\tfor (d.x=-radius; d.x <= radius; d.x++) {\n\t\tfloat pt = sqrt(radQ-d.x*d.x);\t // pt = yRadius: have circular trend\n\t\tfor (d.y=-pt; d.y <= pt; d.y++) {\n\t\t\tfloat blurFactor = exp( -dot(d , d) * invSigmaQx2 ) * invSigmaQx2PI;\n\n\t\t\tvec4 walkPx = $in(uv+d/size);\n\t\t\tvec4 dC = walkPx-centrPx;\n\t\t\tfloat deltaFactor = exp( -dot(dC, dC) * invThresholdSqx2) * invThresholdSqrt2PI * blurFactor;\n\n\t\t\tzBuff += deltaFactor;\n\t\t\taBuff += deltaFactor*walkPx;\n\t\t}\n\t}\n\treturn aBuff/zBuff;\n}",
"longdesc": "A node that generates several images from a tileable voronoi noise",
"name": "Denoiser",
"outputs": [
{
"longdesc": "A color pattern that assigns a random color to each cell",
"rgba": "$(name)_smartDeNoise($uv, $sigma, $ksigma, $threshold)",
"shortdesc": "Random color",
"type": "rgba"
}
],
"parameters": [
{
"default": 10,
"first": 0,
"label": "size",
"last": 12,
"longdesc": "The scale along the X axis",
"name": "size",
"shortdesc": "Scale.x",
"type": "size"
},
{
"control": "None",
"default": 0.5,
"label": "Sigma",
"max": 1,
"min": 0.005,
"name": "sigma",
"step": 0.1,
"type": "float"
},
{
"control": "None",
"default": 0.5,
"label": "kSigma",
"max": 1,
"min": 0,
"name": "ksigma",
"step": 0.1,
"type": "float"
},
{
"control": "None",
"default": 0.5,
"label": "threshold",
"max": 1,
"min": 0,
"name": "threshold",
"step": 0.1,
"type": "float"
}
],
"shortdesc": "Voronoi Noise"
},
"type": "shader"
},
{
"name": "buffer_5",
"node_position": {
"x": -931.449646,
"y": -724.330017
},
"parameters": {
"size": 10
},
"seed": 6771,
"type": "buffer",
"version": 1
},
{
"name": "buffer_7",
"node_position": {
"x": -948.36377,
"y": -449.796295
},
"parameters": {
"size": 10
},
"seed": 16139,
"type": "buffer",
"version": 1
},
{
"name": "buffer_2",
"node_position": {
"x": -976.009644,
"y": -975.5
},
"parameters": {
"size": 10
},
"seed": 42465,
"type": "buffer",
"version": 1
}
],
"parameters": {
"param0": 10,
"param1": 0.1,
"param2": 15,
"param3": 0.08,
"param4": 4,
"param5": 2
},
"seed": 6741,
"shortdesc": "",
"type": "graph"
},
{
"generic_size": 1,
"name": "blend2_3",
"node_position": {
"x": 1737.70166,
"y": -221.297119
},
"parameters": {
"amount1": 1,
"blend_type1": 2
},
"seed_int": 0,
"type": "blend2"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://85fb3gemkbhp"
path="res://.godot/imported/cracks_01.png-b2883083b679e85a58b6b181da75c176.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/cracks_01.png"
dest_files=["res://.godot/imported/cracks_01.png-b2883083b679e85a58b6b181da75c176.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bbxo5nkvy537a"
path="res://.godot/imported/cracks_emission_01.png-422f532765f31b10e8119ebefe47ff83.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/cracks_emission_01.png"
dest_files=["res://.godot/imported/cracks_emission_01.png-422f532765f31b10e8119ebefe47ff83.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hxi4xo7j57d7"
path.s3tc="res://.godot/imported/flare_01.png-998db80d842535967a4542ef99bc60fb.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_01.png"
dest_files=["res://.godot/imported/flare_01.png-998db80d842535967a4542ef99bc60fb.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfvs2muk8b4ls"
path.s3tc="res://.godot/imported/flare_02.png-ba0ed870ef7eae70ba66322cae236a97.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_02.png"
dest_files=["res://.godot/imported/flare_02.png-ba0ed870ef7eae70ba66322cae236a97.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxtojkguayub2"
path.s3tc="res://.godot/imported/flare_03.png-96332c1d1aa4bc5d6fff0fa81be47532.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_03.png"
dest_files=["res://.godot/imported/flare_03.png-96332c1d1aa4bc5d6fff0fa81be47532.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6n72xg2cgxx2"
path.s3tc="res://.godot/imported/flare_04.png-d4bfa986ba6200a8f8fe47269ca582d5.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flare/flare_04.png"
dest_files=["res://.godot/imported/flare_04.png-d4bfa986ba6200a8f8fe47269ca582d5.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2ahcfqaivla7"
path.s3tc="res://.godot/imported/flash_01.png-124ac486dfaee7dac9f6fa5ed84ea33e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_01.png"
dest_files=["res://.godot/imported/flash_01.png-124ac486dfaee7dac9f6fa5ed84ea33e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cjkuadylsfid1"
path.s3tc="res://.godot/imported/flash_02.png-17a4ad00a195fbe7dacad81bcf45261d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_02.png"
dest_files=["res://.godot/imported/flash_02.png-17a4ad00a195fbe7dacad81bcf45261d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqqrfrrd5f7kq"
path.s3tc="res://.godot/imported/flash_03.png-c479df70ab6f702bab174d8991fc1227.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_03.png"
dest_files=["res://.godot/imported/flash_03.png-c479df70ab6f702bab174d8991fc1227.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://i6dlldk10la7"
path.s3tc="res://.godot/imported/flash_04.png-476effc01f47798e59f16f12db9f307c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/flash/flash_04.png"
dest_files=["res://.godot/imported/flash_04.png-476effc01f47798e59f16f12db9f307c.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -0,0 +1,749 @@
{
"connections": [
{
"from": "voronoi2",
"from_port": 0,
"to": "tones_map",
"to_port": 0
},
{
"from": "tones_map",
"from_port": 0,
"to": "shape",
"to_port": 0
},
{
"from": "shape_2",
"from_port": 0,
"to": "math",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "math",
"from_port": 0,
"to": "tones_map_3",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "blend2",
"to_port": 1
},
{
"from": "blend2",
"from_port": 0,
"to": "gaussian_blur",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "rotate",
"to_port": 0
},
{
"from": "rotate",
"from_port": 0,
"to": "blend2",
"to_port": 0
},
{
"from": "gaussian_blur",
"from_port": 0,
"to": "blend2_2",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_2",
"to_port": 1
},
{
"from": "blend2_2",
"from_port": 0,
"to": "Material",
"to_port": 0
},
{
"from": "blend2_2",
"from_port": 0,
"to": "export",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_2",
"to_port": 0
},
{
"from": "transform2_2",
"from_port": 0,
"to": "blend2_3",
"to_port": 0
},
{
"from": "transform2",
"from_port": 0,
"to": "blend2_3",
"to_port": 1
},
{
"from": "blend2_3",
"from_port": 0,
"to": "gaussian_blur_2",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_4",
"to_port": 1
},
{
"from": "gaussian_blur_2",
"from_port": 0,
"to": "blend2_4",
"to_port": 0
},
{
"from": "blend2_4",
"from_port": 0,
"to": "export_2",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2_3",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_4",
"to_port": 0
},
{
"from": "transform2_4",
"from_port": 0,
"to": "blend2_5",
"to_port": 1
},
{
"from": "transform2_3",
"from_port": 0,
"to": "blend2_5",
"to_port": 0
},
{
"from": "blend2_5",
"from_port": 0,
"to": "gaussian_blur_3",
"to_port": 0
},
{
"from": "gaussian_blur_3",
"from_port": 0,
"to": "blend2_6",
"to_port": 0
},
{
"from": "blend2_5",
"from_port": 0,
"to": "blend2_6",
"to_port": 1
},
{
"from": "blend2_6",
"from_port": 0,
"to": "export_3",
"to_port": 0
},
{
"from": "shape",
"from_port": 0,
"to": "transform2_5",
"to_port": 0
},
{
"from": "tones_map_3",
"from_port": 0,
"to": "transform2_6",
"to_port": 0
},
{
"from": "transform2_6",
"from_port": 0,
"to": "blend2_7",
"to_port": 0
},
{
"from": "transform2_5",
"from_port": 0,
"to": "blend2_7",
"to_port": 1
},
{
"from": "blend2_7",
"from_port": 0,
"to": "gaussian_blur_4",
"to_port": 0
},
{
"from": "gaussian_blur_4",
"from_port": 0,
"to": "blend2_8",
"to_port": 0
},
{
"from": "radial_gradient",
"from_port": 0,
"to": "blend2_8",
"to_port": 1
},
{
"from": "blend2_8",
"from_port": 0,
"to": "export_4",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "_Node_867",
"node_position": {
"x": 0.0,
"y": 0.0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 2525.98217773438,
"y": -766.519775390625
},
"parameters": {
"albedo_color": {
"a": 1.0,
"b": 1.0,
"g": 1.0,
"r": 1.0,
"type": "Color"
},
"ao": 1.0,
"depth_scale": 0.5,
"emission_energy": 1.0,
"flags_transparent": true,
"metallic": 0.0,
"normal": 1.0,
"roughness": 1.0,
"size": 11.0,
"sss": 1.0
},
"seed_int": 0,
"type": "material"
},
{
"name": "shape",
"node_position": {
"x": 623.377807617188,
"y": -679.47021484375
},
"parameters": {
"edge": 1.0,
"radius": 0.5,
"shape": 3.0,
"sides": 6.0
},
"seed_int": 0,
"type": "shape"
},
{
"name": "voronoi2",
"node_position": {
"x": -388.564422607422,
"y": -823.6640625
},
"parameters": {
"intensity": 1.0,
"randomness": 0.85,
"scale_x": 8.0,
"scale_y": 8.0,
"stretch_x": 1.0,
"stretch_y": 1.0
},
"seed_int": 0,
"type": "voronoi2"
},
{
"generic_size": 1,
"name": "tones_map",
"node_position": {
"x": 167.742294311523,
"y": -438.236206054688
},
"parameters": {
"in_max": 1.0,
"in_min": 0.0,
"out_max": 1.0,
"out_min": 0.77
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "shape_2",
"node_position": {
"x": 175.742294311523,
"y": -1057.23645019531
},
"parameters": {
"edge": 1.0,
"radius": 0.38,
"shape": 4,
"sides": 6.0
},
"seed_int": 0,
"type": "shape"
},
{
"name": "radial_gradient",
"node_position": {
"x": 129.742294311523,
"y": -1213.23645019531
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 0.0,
"r": 1.0
},
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.709090909090909,
"r": 0.0
}
],
"type": "Gradient"
},
"mirror": false,
"repeat": 1.0
},
"seed_int": 0,
"type": "radial_gradient"
},
{
"name": "math",
"node_position": {
"x": 414.742309570312,
"y": -1118.23645019531
},
"parameters": {
"clamp": false,
"default_in1": 0.0,
"default_in2": 0.0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"generic_size": 1,
"name": "blend2",
"node_position": {
"x": 1112.74255371094,
"y": -879.236328125
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3
},
"seed_int": 0,
"type": "blend2"
},
{
"generic_size": 1,
"name": "tones_map_3",
"node_position": {
"x": 725.742431640625,
"y": -1196.73645019531
},
"parameters": {
"in_max": 1.0,
"in_min": 0.0,
"out_max": 1.0,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gaussian_blur",
"node_position": {
"x": 1542.20935058594,
"y": -909.713989257812
},
"parameters": {
"param0": 11,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "rotate",
"node_position": {
"x": 734.724975585938,
"y": -347.548553466797
},
"parameters": {
"cx": 0.0,
"cy": 0.0,
"rotate": 51.755
},
"seed_int": 0,
"type": "rotate"
},
{
"generic_size": 1,
"name": "blend2_2",
"node_position": {
"x": 1947.82641601562,
"y": -1093.6220703125
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "export",
"node_position": {
"x": 2406.81225585938,
"y": -1527.15307617188
},
"parameters": {
"format": 0,
"size": 10.0,
"suffix": "_01"
},
"seed_int": 0,
"type": "export"
},
{
"name": "export_2",
"node_position": {
"x": 2393.3330078125,
"y": -1347.80346679688
},
"parameters": {
"format": 0,
"size": 10.0,
"suffix": "_02"
},
"seed_int": 0,
"type": "export"
},
{
"generic_size": 1,
"name": "transform2",
"node_position": {
"x": 1210.50891113281,
"y": -1709.525390625
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.8,
"scale_y": 0.6,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_2",
"node_position": {
"x": 1193.919921875,
"y": -1489.40747070312
},
"parameters": {
"mode": 0.0,
"rotate": -20.54,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_3",
"node_position": {
"x": 1514.20861816406,
"y": -1526.32409667969
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_2",
"node_position": {
"x": 1799.01965332031,
"y": -1752.37902832031
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_4",
"node_position": {
"x": 1914.25378417969,
"y": -1563.57373046875
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
},
{
"generic_size": 1,
"name": "transform2_3",
"node_position": {
"x": 1294.08801269531,
"y": -2035.52844238281
},
"parameters": {
"mode": 0.0,
"rotate": -46.22,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_4",
"node_position": {
"x": 1312.63305664062,
"y": -2278.04370117188
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_5",
"node_position": {
"x": 1648.654296875,
"y": -2108.50634765625
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_3",
"node_position": {
"x": 1873.33032226562,
"y": -2210.95288085938
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_6",
"node_position": {
"x": 2130.8310546875,
"y": -2087.10791015625
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "export_3",
"node_position": {
"x": 2473.35205078125,
"y": -1940.392578125
},
"parameters": {
"format": 0.0,
"size": 10.0,
"suffix": "_03"
},
"seed_int": 0,
"type": "export"
},
{
"name": "export_4",
"node_position": {
"x": 2494.75073242188,
"y": -2288.47314453125
},
"parameters": {
"format": 0.0,
"size": 10.0,
"suffix": "_04"
},
"seed_int": 0,
"type": "export"
},
{
"generic_size": 1,
"name": "transform2_5",
"node_position": {
"x": 1313.50415039062,
"y": -2789.62255859375
},
"parameters": {
"mode": 0.0,
"rotate": 28.7,
"scale_x": 0.4,
"scale_y": 0.7,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "transform2_6",
"node_position": {
"x": 1329.2802734375,
"y": -2568.99072265625
},
"parameters": {
"mode": 0.0,
"rotate": -46.22,
"scale_x": 0.8,
"scale_y": 1.0,
"translate_x": 0.0,
"translate_y": 0.0
},
"seed_int": 0,
"type": "transform2"
},
{
"generic_size": 1,
"name": "blend2_7",
"node_position": {
"x": 1656.72607421875,
"y": -2713.31518554688
},
"parameters": {
"amount1": 1.0,
"blend_type1": 3.0
},
"seed_int": 0,
"type": "blend2"
},
{
"name": "gaussian_blur_4",
"node_position": {
"x": 1871.41613769531,
"y": -2855.70532226562
},
"parameters": {
"param0": 11.0,
"param1": 20.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
},
{
"generic_size": 1,
"name": "blend2_8",
"node_position": {
"x": 2136.0498046875,
"y": -2721.87451171875
},
"parameters": {
"amount1": 1.0,
"blend_type1": 4.0
},
"seed_int": 0,
"type": "blend2"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -0,0 +1,41 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6p8bs6eksvr5"
path.s3tc="res://.godot/imported/placeholder.png-33566fb71d90ea39d1183bc75bc43eba.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://experimental/BinbunVFX/shared/texture/placeholder.png"
dest_files=["res://.godot/imported/placeholder.png-33566fb71d90ea39d1183bc75bc43eba.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,284 @@
{
"connections": [
{
"from": "gradient_2",
"from_port": 0,
"to": "math",
"to_port": 1
},
{
"from": "sine_wave",
"from_port": 0,
"to": "rotate",
"to_port": 0
},
{
"from": "rotate",
"from_port": 0,
"to": "multi_warp",
"to_port": 0
},
{
"from": "crystal",
"from_port": 0,
"to": "multi_warp",
"to_port": 1
},
{
"from": "math",
"from_port": 0,
"to": "tones_map_2",
"to_port": 0
},
{
"from": "multi_warp",
"from_port": 0,
"to": "gaussian_blur",
"to_port": 0
},
{
"from": "gaussian_blur",
"from_port": 0,
"to": "tones_map",
"to_port": 0
},
{
"from": "tones_map",
"from_port": 0,
"to": "math",
"to_port": 0
}
],
"label": "Graph",
"longdesc": "",
"name": "@Node@40727",
"node_position": {
"x": 0.0,
"y": 0.0
},
"nodes": [
{
"export_paths": {
},
"name": "Material",
"node_position": {
"x": 881.0,
"y": 292.0
},
"parameters": {
"albedo_color": {
"a": 1.0,
"b": 1.0,
"g": 1.0,
"r": 1.0,
"type": "Color"
},
"ao": 1.0,
"depth_scale": 0.5,
"emission_energy": 1.0,
"flags_transparent": true,
"metallic": 0.0,
"normal": 1.0,
"roughness": 1.0,
"size": 11,
"sss": 1.0
},
"seed_int": 0,
"type": "material"
},
{
"name": "gradient",
"node_position": {
"x": -453.5,
"y": 79.0
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.725,
"r": 0.0
},
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 1.0,
"r": 1.0
}
],
"type": "Gradient"
},
"mirror": true,
"repeat": 1.0,
"rotate": 0.0
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "crystal",
"node_position": {
"x": -1234.5,
"y": -174.0
},
"parameters": {
"param0": 6.0,
"param1": 6.0
},
"seed_int": 976969280,
"type": "crystal"
},
{
"generic_size": 1,
"name": "tones_map",
"node_position": {
"x": -74.5,
"y": -330.0
},
"parameters": {
"in_max": 0.87,
"in_min": 0.83,
"out_max": 1.0,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gradient_2",
"node_position": {
"x": -159.5,
"y": 176.0
},
"parameters": {
"gradient": {
"interpolation": 1,
"points": [
{
"a": 1.0,
"b": 0.0,
"g": 0.0,
"pos": 0.0,
"r": 0.0
},
{
"a": 1.0,
"b": 1.0,
"g": 1.0,
"pos": 1.0,
"r": 1.0
}
],
"type": "Gradient"
},
"mirror": false,
"repeat": 1.0,
"rotate": 90.0
},
"seed_int": 0,
"type": "gradient"
},
{
"name": "math",
"node_position": {
"x": 219.5,
"y": -121.0
},
"parameters": {
"clamp": true,
"default_in1": 0.0,
"default_in2": 0.0,
"op": 2
},
"seed_int": 0,
"type": "math"
},
{
"name": "sine_wave",
"node_position": {
"x": -1003.5,
"y": -279.0
},
"parameters": {
"amplitude": 0.05,
"frequency": 2.0,
"phase": 0.0
},
"seed_int": 0,
"type": "sine_wave"
},
{
"generic_size": 1,
"name": "rotate",
"node_position": {
"x": -788.5,
"y": -396.0
},
"parameters": {
"cx": 0.0,
"cy": 0.0,
"rotate": 90.0
},
"seed_int": 0,
"type": "rotate"
},
{
"name": "multi_warp",
"node_position": {
"x": -542.5,
"y": -228.0
},
"parameters": {
"param0": 10.0,
"param1": 1.5,
"param2": 36.0,
"param3": 1
},
"seed_int": 0,
"type": "multi_warp"
},
{
"generic_size": 1,
"name": "tones_map_2",
"node_position": {
"x": 408.5,
"y": -394.5
},
"parameters": {
"in_max": 0.65,
"in_min": 0.61,
"out_max": 0.48,
"out_min": 0.0
},
"seed_int": 0,
"type": "tones_map"
},
{
"name": "gaussian_blur",
"node_position": {
"x": -307.5,
"y": -387.0
},
"parameters": {
"param0": 9.0,
"param1": 5.0,
"param2": 0.0,
"param3": false
},
"seed_int": 0,
"type": "gaussian_blur"
}
],
"parameters": {
},
"seed_int": 0,
"shortdesc": "",
"type": "graph"
}