Work on vfx and sfx for traps.
This commit is contained in:
301
templates/explosion.tscn
Normal file
301
templates/explosion.tscn
Normal file
@@ -0,0 +1,301 @@
|
||||
[gd_scene load_steps=41 format=3 uid="uid://eaw46gqf17aw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dq4fq3sdlrtt2" path="res://scripts/trap_fx.gd" id="1_77qbl"]
|
||||
[ext_resource type="Material" uid="uid://d0igimpfbmiye" path="res://visuals/materials/explosion_cloud.tres" id="2_l2v4y"]
|
||||
[ext_resource type="AudioStream" uid="uid://dqup45qbcs0a0" path="res://audio/sounds/explosion_small_01.wav" id="3_8g7xx"]
|
||||
[ext_resource type="AudioStream" uid="uid://dg1on6er2ielh" path="res://audio/sounds/explosion_small_02.wav" id="4_d5gho"]
|
||||
[ext_resource type="AudioStream" uid="uid://b6nc3881sxtm8" path="res://audio/sounds/explosion_small_03.wav" id="5_gf6ds"]
|
||||
[ext_resource type="AudioStream" uid="uid://dvlnht0r462yk" path="res://audio/sounds/explosion_small_04.wav" id="6_p88g7"]
|
||||
[ext_resource type="Shader" uid="uid://dkfrhh35nf022" path="res://visuals/shaders/explosive_streaks.gdshader" id="7_l2v4y"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgud1c43hsss0" path="res://visuals/textures/explosive_streaks.png" id="8_8g7xx"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4r0yuw28xqrc" path="res://visuals/textures/explosive_noise.tres" id="8_d5gho"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_bu3n0"]
|
||||
_data = [Vector2(0, 1), 0.0, 0.10453241, 0, 0, Vector2(0.57246375, 0.8988764), -0.65023583, -0.65023583, 0, 0, Vector2(1, 0), -5.1685348, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_spfcl"]
|
||||
texture_mode = 1
|
||||
curve = SubResource("Curve_bu3n0")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_l0oiq"]
|
||||
offsets = PackedFloat32Array(0, 0.44642857)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_apxyt"]
|
||||
gradient = SubResource("Gradient_l0oiq")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_uul3r"]
|
||||
_data = [Vector2(0.021739125, 1), 0.0, 0.0, 0, 0, Vector2(0.4710145, 0.32584274), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_h4jc3"]
|
||||
curve = SubResource("Curve_uul3r")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_2tsig"]
|
||||
_data = [Vector2(0, 0.29213488), 0.0, 3.0099149, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_78p8h"]
|
||||
curve = SubResource("Curve_2tsig")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_6ym0g"]
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, -1, 0)
|
||||
emission_ring_height = 2.0
|
||||
emission_ring_radius = 2.0
|
||||
emission_ring_inner_radius = 0.0
|
||||
emission_ring_cone_angle = 56.79
|
||||
radial_velocity_min = 6.4999776
|
||||
radial_velocity_max = 7.4999776
|
||||
radial_velocity_curve = SubResource("CurveTexture_h4jc3")
|
||||
gravity = Vector3(0, 5, 0)
|
||||
scale_min = 1.6999999
|
||||
scale_max = 3.0
|
||||
scale_curve = SubResource("CurveTexture_78p8h")
|
||||
color_ramp = SubResource("GradientTexture1D_apxyt")
|
||||
alpha_curve = SubResource("CurveTexture_spfcl")
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_4y8np"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_0a065"]
|
||||
_data = [Vector2(0, 1), 0.0, 0.10453241, 0, 0, Vector2(0.57246375, 0.8988764), -0.65023583, -0.65023583, 0, 0, Vector2(1, 0), -5.1685348, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_ska33"]
|
||||
texture_mode = 1
|
||||
curve = SubResource("Curve_0a065")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_7pxcp"]
|
||||
offsets = PackedFloat32Array(0, 0.10714286, 0.45535713)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.19607843, 0.19607843, 0.19607843, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_h1pp0"]
|
||||
gradient = SubResource("Gradient_7pxcp")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_2sdsb"]
|
||||
_data = [Vector2(0.021739125, 1), 0.0, 0.0, 0, 0, Vector2(0.4710145, 0.32584274), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_h4c7m"]
|
||||
curve = SubResource("Curve_2sdsb")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_mojh2"]
|
||||
_data = [Vector2(0, 0.29213488), 0.0, 3.0099149, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_4dm4u"]
|
||||
curve = SubResource("Curve_mojh2")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gp5gk"]
|
||||
emission_shape_scale = Vector3(0.5, 0.5, 0.5)
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, -1, 0)
|
||||
emission_ring_height = 2.0
|
||||
emission_ring_radius = 2.0
|
||||
emission_ring_inner_radius = 0.0
|
||||
emission_ring_cone_angle = 56.79
|
||||
angle_min = -720.0
|
||||
angle_max = 720.0
|
||||
radial_velocity_min = 3.2499776
|
||||
radial_velocity_max = 3.7499776
|
||||
radial_velocity_curve = SubResource("CurveTexture_h4c7m")
|
||||
gravity = Vector3(0, 5, 0)
|
||||
scale_min = 0.84999996
|
||||
scale_max = 1.5
|
||||
scale_curve = SubResource("CurveTexture_4dm4u")
|
||||
color_ramp = SubResource("GradientTexture1D_h1pp0")
|
||||
alpha_curve = SubResource("CurveTexture_ska33")
|
||||
turbulence_noise_strength = 20.0
|
||||
turbulence_noise_scale = 0.0
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_s37iy"]
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_urvwl"]
|
||||
streams_count = 4
|
||||
stream_0/stream = ExtResource("3_8g7xx")
|
||||
stream_1/stream = ExtResource("4_d5gho")
|
||||
stream_2/stream = ExtResource("5_gf6ds")
|
||||
stream_3/stream = ExtResource("6_p88g7")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8g7xx"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("7_l2v4y")
|
||||
shader_parameter/streaks_texture = ExtResource("8_8g7xx")
|
||||
shader_parameter/explosion_texture = ExtResource("8_d5gho")
|
||||
shader_parameter/streak_color = Color(3.2944162, 1.1558828, 0, 1)
|
||||
|
||||
[sub_resource type="Curve" id="Curve_gf6ds"]
|
||||
_data = [Vector2(0.13768117, 0.022471905), 0.0, 2.907304, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_p88g7"]
|
||||
curve = SubResource("Curve_gf6ds")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_d5gho"]
|
||||
_data = [Vector2(0, 0.34831464), 0.0, 1.9734426, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_gf6ds"]
|
||||
curve = SubResource("Curve_d5gho")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_p88g7"]
|
||||
particle_flag_align_y = true
|
||||
direction = Vector3(0, 1, 0)
|
||||
spread = 90.0
|
||||
initial_velocity_min = 0.5
|
||||
initial_velocity_max = 1.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
scale_min = 2.0
|
||||
scale_max = 6.0
|
||||
scale_curve = SubResource("CurveTexture_gf6ds")
|
||||
alpha_curve = SubResource("CurveTexture_p88g7")
|
||||
hue_variation_min = -2.2351742e-08
|
||||
hue_variation_max = 0.99999994
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_bu3n0"]
|
||||
size = Vector2(0.25, 1)
|
||||
center_offset = Vector3(0, 0.4, 0)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_d5gho"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ParticleFX: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("StreakFX: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("OmniLight3D:light_energy")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [20.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_gf6ds"]
|
||||
resource_name = "default"
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ParticleFX: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("StreakFX: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("OmniLight3D:light_energy")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 0.15),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [20.0, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_p88g7"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_d5gho"),
|
||||
&"default": SubResource("Animation_gf6ds")
|
||||
}
|
||||
|
||||
[node name="Explosion" type="Node3D"]
|
||||
script = ExtResource("1_77qbl")
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
||||
material_override = ExtResource("2_l2v4y")
|
||||
emitting = false
|
||||
amount = 10
|
||||
lifetime = 0.6
|
||||
one_shot = true
|
||||
explosiveness = 0.8
|
||||
fixed_fps = 60
|
||||
process_material = SubResource("ParticleProcessMaterial_6ym0g")
|
||||
draw_pass_1 = SubResource("SphereMesh_4y8np")
|
||||
|
||||
[node name="ParticleFX" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4375714, 0, 0.5602956)
|
||||
material_override = ExtResource("2_l2v4y")
|
||||
emitting = false
|
||||
amount = 10
|
||||
lifetime = 0.6
|
||||
one_shot = true
|
||||
explosiveness = 0.8
|
||||
fixed_fps = 60
|
||||
process_material = SubResource("ParticleProcessMaterial_gp5gk")
|
||||
draw_pass_1 = SubResource("SphereMesh_s37iy")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
stream = SubResource("AudioStreamRandomizer_urvwl")
|
||||
autoplay = true
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="StreakFX" type="GPUParticles3D" parent="."]
|
||||
material_override = SubResource("ShaderMaterial_8g7xx")
|
||||
emitting = false
|
||||
lifetime = 0.4
|
||||
one_shot = true
|
||||
explosiveness = 0.9
|
||||
randomness = 1.0
|
||||
fixed_fps = 60
|
||||
process_material = SubResource("ParticleProcessMaterial_p88g7")
|
||||
draw_pass_1 = SubResource("QuadMesh_bu3n0")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||
light_color = Color(1, 0.5917481, 0, 1)
|
||||
light_energy = 20.0
|
||||
omni_range = 10.0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_p88g7")
|
||||
}
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
Reference in New Issue
Block a user