Visual tweaks to particles & rendering depth

This commit is contained in:
Rob Kelly 2025-03-12 15:55:47 -06:00
parent 80af9a50c4
commit b4166f452b
9 changed files with 153 additions and 70 deletions

Binary file not shown.

View File

@ -1070,7 +1070,6 @@ transform = Transform3D(0.5, 0, 0, 0, 0.353553, 0.353554, 0, -0.353554, 0.353553
[node name="FloatingDust" parent="Airlock" instance=ExtResource("25_6giaa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
preprocess = 12.0
process_material = SubResource("ParticleProcessMaterial_otfxe")
[node name="Corridor1" type="Node3D" parent="."]
@ -1087,7 +1086,6 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj")
[node name="FloatingDust" parent="Corridor1/Hallway1" instance=ExtResource("25_6giaa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
preprocess = 12.0
process_material = SubResource("ParticleProcessMaterial_6giaa")
[node name="T-Junction1" parent="Corridor1" instance=ExtResource("2_2egij")]
@ -1138,7 +1136,6 @@ value = 800.0
[node name="FloatingDust" parent="Corridor1/Hallway2" instance=ExtResource("25_6giaa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
preprocess = 12.0
process_material = SubResource("ParticleProcessMaterial_6giaa")
[node name="Hallway3" parent="Corridor1" instance=ExtResource("2_2egij")]
@ -1153,7 +1150,6 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj")
[node name="FloatingDust" parent="Corridor1/Hallway3" instance=ExtResource("25_6giaa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
preprocess = 12.0
process_material = SubResource("ParticleProcessMaterial_6giaa")
[node name="T-Junction2" parent="Corridor1" instance=ExtResource("2_2egij")]
@ -1190,7 +1186,6 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj")
[node name="FloatingDust" parent="Corridor1/Hallway4" instance=ExtResource("25_6giaa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
preprocess = 12.0
process_material = SubResource("ParticleProcessMaterial_6giaa")
[connection signal="activated" from="Airlock/FarWall/WallSwitch" to="Airlock/FarWall/WallSwitch" method="disable"]

View File

@ -38,6 +38,7 @@ particles_anim_loop = false
material = SubResource("StandardMaterial3D_4jho1")
[node name="DustSpray" type="GPUParticles3D"]
sorting_offset = 9.0
amount = 16
lifetime = 0.7
process_material = SubResource("ParticleProcessMaterial_88aga")

View File

@ -1,12 +1,4 @@
[gd_scene load_steps=10 format=3 uid="uid://30o8ltnnxpxo"]
[sub_resource type="Curve" id="Curve_w3xaq"]
_limits = [0.0, 0.4, 0.0, 1.0]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.3, 0.4), 0.0, 0.0, 0, 0, Vector2(0.7, 0.4), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_ty63v"]
curve = SubResource("Curve_w3xaq")
[gd_scene load_steps=8 format=3 uid="uid://30o8ltnnxpxo"]
[sub_resource type="Gradient" id="Gradient_yfel2"]
offsets = PackedFloat32Array(0, 0.1, 0.4, 0.6, 1)
@ -36,14 +28,12 @@ initial_velocity_max = 0.15
gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_w3xaq")
color_ramp = SubResource("GradientTexture1D_w3xaq")
alpha_curve = SubResource("CurveTexture_ty63v")
turbulence_enabled = true
turbulence_noise_strength = 0.1
turbulence_noise_scale = 0.3
turbulence_influence_min = 0.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qc6xg"]
transparency = 1
vertex_color_use_as_albedo = true
texture_filter = 2
billboard_mode = 3

View File

@ -89,6 +89,7 @@ material = SubResource("StandardMaterial3D_ckw5w")
size = Vector2(2, 2)
[node name="GrunkSplatter" type="GPUParticles3D"]
sorting_offset = 9.0
amount = 32
lifetime = 0.3
explosiveness = 0.45
@ -96,6 +97,7 @@ process_material = SubResource("ParticleProcessMaterial_5xu2x")
draw_pass_1 = SubResource("QuadMesh_y6klh")
[node name="SubSplatter" type="GPUParticles3D" parent="."]
sorting_offset = 9.0
amount = 4
lifetime = 0.3
explosiveness = 0.63

View File

@ -18,7 +18,6 @@ gravity = Vector3(0, 0, 0)
scale_curve = SubResource("CurveTexture_7ktnl")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fhbna"]
transparency = 1
vertex_color_use_as_albedo = true
albedo_color = Color(0, 1, 0.301961, 0.392157)
emission_enabled = true

View File

@ -57,20 +57,18 @@ transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564
[node name="LaserCast" parent="Muzzle" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_qmoff")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
parent_tool = NodePath("../..")
[node name="SprayEffect" type="MeshInstance3D" parent="Muzzle"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.47035e-08, -1, 0, 1, -4.47035e-08, 0, 0, -1)
layers = 2
sorting_offset = 1.0
sorting_offset = 3.0
mesh = SubResource("CylinderMesh_j5thb")
skeleton = NodePath("../..")
[node name="BeamParticles1" type="GPUParticles3D" parent="Muzzle"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
amount = 16
lifetime = 0.5
local_coords = true
@ -79,7 +77,6 @@ draw_pass_1 = SubResource("QuadMesh_fgb4j")
[node name="BeamParticles2" type="GPUParticles3D" parent="Muzzle"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
lifetime = 0.2
local_coords = true
process_material = SubResource("ParticleProcessMaterial_vwgy4")

View File

@ -95,7 +95,6 @@ script = ExtResource("1_ggkto")
transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564, 0, 0, -0.15)
[node name="Pivot" type="Node3D" parent="Muzzle"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
[node name="SprayCasts" type="Node3D" parent="Muzzle/Pivot"]
unique_name_in_owner = true
@ -131,7 +130,7 @@ parent_tool = NodePath("../../../..")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -0.15, 0, 1, -6.55671e-09, 0, 0, -1)
layers = 2
sorting_offset = 1.0
sorting_offset = 3.0
mesh = SubResource("CylinderMesh_48buk")
skeleton = NodePath("../../..")

View File

@ -17,6 +17,105 @@ size = Vector3(0.2, 0.2, 3)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_w7oba"]
data = PackedVector3Array(0.1, 0.1, 1.5, 0.1, -0.1, 1.5, -0.1, -0.1, 1.5, 0.1, 0.1, -1.5, -0.1, -0.1, -1.5, 0.1, -0.1, -1.5, 0.1, 0.1, 1.5, 0.1, 0.1, -1.5, 0.1, -0.1, 1.5, 0.1, 0.1, -1.5, 0.1, -0.1, -1.5, 0.1, -0.1, 1.5, 0.1, 0.1, -1.5, 0.1, 0.1, 1.5, -0.1, -0.1, -1.5, 0.1, 0.1, 1.5, -0.1, -0.1, 1.5, -0.1, -0.1, -1.5, -0.1, -0.1, 1.5, 0.1, -0.1, 1.5, -0.1, -0.1, -1.5, 0.1, -0.1, 1.5, 0.1, -0.1, -1.5, -0.1, -0.1, -1.5)
[sub_resource type="Animation" id="Animation_w7oba"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DustSpray:amount_ratio")
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("DustSpray2:amount_ratio")
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("DustSpray3:amount_ratio")
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("DustSpray4:amount_ratio")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("DustSpray: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("DustSpray2: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("DustSpray3: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("DustSpray4:emitting")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_88qrs"]
resource_name = "spray"
length = 2.4
@ -69,56 +168,53 @@ tracks/3/keys = {
"update": 0,
"values": [0.0, 0.0, 1.0, 1.0, 0.0]
}
[sub_resource type="Animation" id="Animation_w7oba"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("DustSpray:amount_ratio")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("DustSpray:emitting")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 2.4),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("DustSpray2:amount_ratio")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/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("DustSpray2:emitting")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 2.4),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("DustSpray3:amount_ratio")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("DustSpray3:emitting")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 2.4),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("DustSpray4:amount_ratio")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/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("DustSpray4:emitting")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 2.4),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [true, false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hx0vd"]
@ -161,18 +257,22 @@ shape = SubResource("ConcavePolygonShape3D_w7oba")
[node name="DustSpray" parent="Dust" index="0" instance=ExtResource("3_88qrs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, 0.0897675)
emitting = false
amount_ratio = 0.0
[node name="DustSpray2" parent="Dust" index="1" instance=ExtResource("3_88qrs")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1, 0.25, 0.0897675)
emitting = false
amount_ratio = 0.0
[node name="DustSpray3" parent="Dust" index="2" instance=ExtResource("3_88qrs")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.25, 0.0897675)
emitting = false
amount_ratio = 0.0
[node name="DustSpray4" parent="Dust" index="3" instance=ExtResource("3_88qrs")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1, 0.25, 0.0897675)
emitting = false
amount_ratio = 0.0
[node name="DustAnimation" type="AnimationPlayer" parent="Dust" index="4"]