diff --git a/assets/materials/gunk.material b/assets/materials/gunk.material index abd4b9f..fa6cf49 100644 Binary files a/assets/materials/gunk.material and b/assets/materials/gunk.material differ diff --git a/levels/ghost_ship/ghost_ship_level.tscn b/levels/ghost_ship/ghost_ship_level.tscn index 9c4f20b..b9dcd6f 100644 --- a/levels/ghost_ship/ghost_ship_level.tscn +++ b/levels/ghost_ship/ghost_ship_level.tscn @@ -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"] diff --git a/src/effects/dust_spray.tscn b/src/effects/dust_spray.tscn index 404dd51..27cbb42 100644 --- a/src/effects/dust_spray.tscn +++ b/src/effects/dust_spray.tscn @@ -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") diff --git a/src/effects/floating_dust.tscn b/src/effects/floating_dust.tscn index 98e06bc..0fb8dd0 100644 --- a/src/effects/floating_dust.tscn +++ b/src/effects/floating_dust.tscn @@ -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 diff --git a/src/effects/grunk_splatter.tscn b/src/effects/grunk_splatter.tscn index ade92bf..70ec23e 100644 --- a/src/effects/grunk_splatter.tscn +++ b/src/effects/grunk_splatter.tscn @@ -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 diff --git a/src/effects/laser_dust.tscn b/src/effects/laser_dust.tscn index 6f085d0..6257beb 100644 --- a/src/effects/laser_dust.tscn +++ b/src/effects/laser_dust.tscn @@ -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 diff --git a/src/equipment/point_spray/point_spray.tscn b/src/equipment/point_spray/point_spray.tscn index e30787b..976c1d8 100644 --- a/src/equipment/point_spray/point_spray.tscn +++ b/src/equipment/point_spray/point_spray.tscn @@ -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") diff --git a/src/equipment/wide_spray/wide_spray.tscn b/src/equipment/wide_spray/wide_spray.tscn index 673bf2f..33a27db 100644 --- a/src/equipment/wide_spray/wide_spray.tscn +++ b/src/equipment/wide_spray/wide_spray.tscn @@ -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("../../..") diff --git a/src/props/bulkhead/bulkhead.tscn b/src/props/bulkhead/bulkhead.tscn index fc2a93a..872f0ea 100644 --- a/src/props/bulkhead/bulkhead.tscn +++ b/src/props/bulkhead/bulkhead.tscn @@ -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"]