Hexagon mosaic, implosion, shockwave

This commit is contained in:
Marinho Brandao
2023-12-14 08:33:49 +01:00
parent e3e1929394
commit fbc3a59652
11 changed files with 353 additions and 68 deletions

128
particles/implosion.tscn Normal file
View File

@ -0,0 +1,128 @@
[gd_scene load_steps=23 format=3 uid="uid://10u16dtnpupt"]
[ext_resource type="Script" path="res://scripts/MultiParticles.cs" id="1_weson"]
[ext_resource type="Texture2D" uid="uid://b8yqiftn6q2ij" path="res://addons/kenney_particle_pack/circle_05.png" id="2_qtlvw"]
[sub_resource type="Curve" id="Curve_tpndr"]
_data = [Vector2(0.782074, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_wtgks"]
curve = SubResource("Curve_tpndr")
[sub_resource type="Curve" id="Curve_7t07v"]
min_value = -5.0
max_value = 5.0
_data = [Vector2(0, -5), 0.0, 0.0, 0, 0, Vector2(0.495606, -5), 0.0, 0.0, 0, 0, Vector2(1, 0.00593328), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_8froe"]
curve = SubResource("Curve_7t07v")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_50j2f"]
emission_shape = 2
emission_sphere_radius = 3.0
gravity = Vector3(2.08165e-12, 2.08165e-12, 2.08165e-12)
radial_accel_min = 0.2
radial_accel_max = 0.2
radial_accel_curve = SubResource("CurveTexture_8froe")
color = Color(0, 0.564706, 1, 1)
alpha_curve = SubResource("CurveTexture_wtgks")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_blklt"]
transparency = 1
vertex_color_use_as_albedo = true
albedo_texture = ExtResource("2_qtlvw")
emission_enabled = true
emission = Color(0, 0.741176, 1, 1)
emission_energy_multiplier = 5.0
rim_enabled = true
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_lxuhl"]
material = SubResource("StandardMaterial3D_blklt")
size = Vector2(0.1, 0.1)
[sub_resource type="Curve" id="Curve_0jmg7"]
_data = [Vector2(0.251318, 1), 0.0, 0.0, 0, 0, Vector2(0.991213, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_gf3su"]
curve = SubResource("Curve_0jmg7")
[sub_resource type="Gradient" id="Gradient_vj4no"]
offsets = PackedFloat32Array(0.448141, 0.636008)
colors = PackedColorArray(0, 0.894118, 1, 1, 0, 0.564706, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_8k4ey"]
gradient = SubResource("Gradient_vj4no")
[sub_resource type="Curve" id="Curve_iutvr"]
_data = [Vector2(0.490334, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_ga1td"]
curve = SubResource("Curve_iutvr")
[sub_resource type="Curve" id="Curve_yuhne"]
max_value = 5.0
_data = [Vector2(0, 0.169831), 0.0, 0.0, 0, 0, Vector2(0.625659, 0.729012), 0.0, 0.0, 0, 0, Vector2(1, 4.63364), 0.0, 0.0, 0, 0]
point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_nfm8j"]
curve = SubResource("Curve_yuhne")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_t7lly"]
gravity = Vector3(2.08165e-12, 2.08165e-12, 2.08165e-12)
scale_curve = SubResource("CurveTexture_nfm8j")
color_ramp = SubResource("GradientTexture1D_8k4ey")
alpha_curve = SubResource("CurveTexture_gf3su")
emission_curve = SubResource("CurveTexture_ga1td")
[sub_resource type="Gradient" id="Gradient_30bhn"]
offsets = PackedFloat32Array(0.506744, 0.689788)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_1pmsb"]
gradient = SubResource("Gradient_30bhn")
width = 256
height = 256
fill = 1
fill_from = Vector2(0.5, 0.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k5esa"]
transparency = 1
blend_mode = 1
vertex_color_use_as_albedo = true
albedo_texture = SubResource("GradientTexture2D_1pmsb")
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_gvf03"]
material = SubResource("StandardMaterial3D_k5esa")
[node name="Implosion" type="Node3D" node_paths=PackedStringArray("Particles")]
script = ExtResource("1_weson")
Particles = [NodePath("Bits"), NodePath("Sphere")]
[node name="Bits" type="GPUParticles3D" parent="."]
amount = 64
lifetime = 4.0
explosiveness = 1.0
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_50j2f")
draw_pass_1 = SubResource("QuadMesh_lxuhl")
[node name="Sphere" type="GPUParticles3D" parent="."]
amount = 1
lifetime = 4.0
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_t7lly")
draw_pass_1 = SubResource("QuadMesh_gvf03")

87
particles/shockwave.tscn Normal file
View File

@ -0,0 +1,87 @@
[gd_scene load_steps=17 format=3 uid="uid://brf0ftux0hwy8"]
[ext_resource type="Script" path="res://scripts/MultiParticles.cs" id="1_yvu1a"]
[ext_resource type="Texture2D" uid="uid://bd2arrqo7xw7c" path="res://addons/kenney_particle_pack/circle_01.png" id="2_s6tl6"]
[sub_resource type="Curve" id="Curve_jaxyf"]
_data = [Vector2(0.381371, 1), 0.0, 0.0, 0, 0, Vector2(1, 0.0937408), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_qx1ma"]
curve = SubResource("Curve_jaxyf")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dbh2b"]
gravity = Vector3(2.08165e-12, 2.08165e-12, 2.08165e-12)
scale_curve = SubResource("CurveTexture_qx1ma")
[sub_resource type="Gradient" id="Gradient_2mquu"]
offsets = PackedFloat32Array(0.506744, 0.689788)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_fmsbu"]
gradient = SubResource("Gradient_2mquu")
width = 256
height = 256
fill = 1
fill_from = Vector2(0.5, 0.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_82lug"]
transparency = 1
blend_mode = 1
vertex_color_use_as_albedo = true
albedo_texture = SubResource("GradientTexture2D_fmsbu")
billboard_mode = 3
billboard_keep_scale = true
particles_anim_h_frames = 1
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="QuadMesh" id="QuadMesh_vwe5g"]
material = SubResource("StandardMaterial3D_82lug")
[sub_resource type="Curve" id="Curve_q71c2"]
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_5xkdf"]
curve = SubResource("Curve_q71c2")
[sub_resource type="Curve" id="Curve_0s8ld"]
max_value = 3.0
_data = [Vector2(0, 0.0927029), 0.0, 0.0, 0, 0, Vector2(1, 3), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_406ad"]
curve = SubResource("Curve_0s8ld")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_aak2r"]
gravity = Vector3(2.08165e-12, 2.08165e-12, 2.08165e-12)
scale_curve = SubResource("CurveTexture_406ad")
alpha_curve = SubResource("CurveTexture_5xkdf")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y7i1b"]
transparency = 1
vertex_color_use_as_albedo = true
albedo_texture = ExtResource("2_s6tl6")
rim_enabled = true
[sub_resource type="PlaneMesh" id="PlaneMesh_iktve"]
material = SubResource("StandardMaterial3D_y7i1b")
[node name="Shockwave" type="Node3D" node_paths=PackedStringArray("Particles")]
script = ExtResource("1_yvu1a")
Particles = [NodePath("Sphere"), NodePath("Ripple")]
[node name="Sphere" type="GPUParticles3D" parent="."]
amount = 1
lifetime = 3.0
fixed_fps = 60
process_material = SubResource("ParticleProcessMaterial_dbh2b")
draw_pass_1 = SubResource("QuadMesh_vwe5g")
[node name="Ripple" type="GPUParticles3D" parent="."]
amount = 3
lifetime = 3.0
explosiveness = 0.8
process_material = SubResource("ParticleProcessMaterial_aak2r")
draw_pass_1 = SubResource("PlaneMesh_iktve")

View File

@ -1,10 +1,10 @@
[gd_scene load_steps=7 format=3 uid="uid://ck5vuhi3tffgl"]
[gd_scene load_steps=7 format=3 uid="uid://1p0djdxytw42"]
[ext_resource type="Texture2D" uid="uid://iupf6jfowd7a" path="res://addons/kenney_particle_pack/trace_01.png" id="1_au4er"]
[sub_resource type="Gradient" id="Gradient_206ev"]
offsets = PackedFloat32Array(0, 0.209386)
colors = PackedColorArray(1, 0.8, 0, 1, 1, 0, 0, 1)
offsets = PackedFloat32Array(0, 0.385519, 0.866928)
colors = PackedColorArray(1, 0.8, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_lfvhw"]
gradient = SubResource("Gradient_206ev")
@ -23,15 +23,16 @@ scale_min = 0.8
color_ramp = SubResource("GradientTexture1D_lfvhw")
collision_mode = 1
collision_friction = 0.2
collision_bounce = 0.5
collision_bounce = 0.8
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vihpm"]
transparency = 1
blend_mode = 1
vertex_color_use_as_albedo = true
albedo_texture = ExtResource("1_au4er")
emission = Color(1, 1, 0, 1)
emission_energy_multiplier = 8.05
emission_enabled = true
emission = Color(1, 0.0705882, 0, 1)
emission_energy_multiplier = 2.0
rim_enabled = true
[sub_resource type="QuadMesh" id="QuadMesh_wyolc"]
@ -41,7 +42,7 @@ size = Vector2(0.5, 0.5)
[node name="Sparks" type="GPUParticles3D"]
transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 0, 0, 0)
amount = 48
lifetime = 3.0
lifetime = 5.0
speed_scale = 1.5
randomness = 0.3
fixed_fps = 60