Compare commits

...

3 Commits

Author SHA1 Message Date
e4d5f7b673 Logic for different material footsteps
All checks were successful
linting & formatting / build (push) Successful in 40s
2025-03-31 19:04:37 -06:00
1880273eeb bulkhead sfx 2025-03-29 19:32:24 -06:00
b8f36a44af SFX planning 2025-03-29 12:35:57 -06:00
30 changed files with 346 additions and 99 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/air_hiss.wav Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dkdw7viq1nqte"
path="res://.godot/imported/air_hiss.wav-6d6f9a218e231e48bcec06290ac3f919.sample"
[deps]
source_file="res://assets/sfx/air_hiss.wav"
dest_files=["res://.godot/imported/air_hiss.wav-6d6f9a218e231e48bcec06290ac3f919.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bgayfws34lg7q"
path="res://.godot/imported/click_electronic_04.wav-405bfc3a592e267c269b8db1b4b7de41.sample"
[deps]
source_file="res://assets/sfx/click_electronic_04.wav"
dest_files=["res://.godot/imported/click_electronic_04.wav-405bfc3a592e267c269b8db1b4b7de41.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://6mm0npep4ul1"
path="res://.godot/imported/mechanical_door.wav-50e0182a55479a777ff92ad2f47afc1f.sample"
[deps]
source_file="res://assets/sfx/mechanical_door.wav"
dest_files=["res://.godot/imported/mechanical_door.wav-50e0182a55479a777ff92ad2f47afc1f.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bqpugpqalequx"
path="res://.godot/imported/mechanical_door_2.wav-e0653e987bbbfc2411d5837d3195861e.sample"
[deps]
source_file="res://assets/sfx/mechanical_door_2.wav"
dest_files=["res://.godot/imported/mechanical_door_2.wav-e0653e987bbbfc2411d5837d3195861e.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

View File

@ -6047,7 +6047,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Airlock/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Airlock/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
initial_mask = ExtResource("3_35kna") initial_mask = ExtResource("3_35kna")
source_gunk_material = SubResource("ShaderMaterial_sqa4l") source_gunk_material = SubResource("ShaderMaterial_sqa4l")
@ -6145,7 +6145,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 1.5, 0.1)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 1, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 1, -1.5)
mesh = SubResource("CapsuleMesh_lfacn") mesh = SubResource("CapsuleMesh_lfacn")
[node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit"] [node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit/StaticBody3D"]
@ -6155,7 +6155,7 @@ shape = SubResource("CapsuleShape3D_lfacn")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 1, 1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.9, 1, 1.5)
mesh = SubResource("CapsuleMesh_lfacn") mesh = SubResource("CapsuleMesh_lfacn")
[node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit2"] [node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit2/StaticBody3D"]
@ -6165,7 +6165,7 @@ shape = SubResource("CapsuleShape3D_lfacn")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 1, 1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 1, 1.5)
mesh = SubResource("CapsuleMesh_lfacn") mesh = SubResource("CapsuleMesh_lfacn")
[node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit3"] [node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit3" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit3/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit3/StaticBody3D"]
@ -6175,7 +6175,7 @@ shape = SubResource("CapsuleShape3D_lfacn")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 1, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 1, -1.5)
mesh = SubResource("CapsuleMesh_lfacn") mesh = SubResource("CapsuleMesh_lfacn")
[node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit4"] [node name="StaticBody3D" type="StaticBody3D" parent="Airlock/Props/EVASuit4" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit4/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Airlock/Props/EVASuit4/StaticBody3D"]
@ -6225,7 +6225,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -22.5)
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor1/Hallway1" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor1/Hallway1" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_35kna") source_gunk_material = SubResource("ShaderMaterial_35kna")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway1/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway1/Hallway1"]
@ -6273,7 +6273,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("27_17ivy") mesh = ExtResource("27_17ivy")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor1/T-Junction1" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_4a0u4") source_gunk_material = SubResource("ShaderMaterial_4a0u4")
@ -6285,7 +6285,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5,
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor1/Hallway2" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_okeuk") source_gunk_material = SubResource("ShaderMaterial_okeuk")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway2/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway2/GunkBody"]
@ -6326,7 +6326,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5,
mesh = ExtResource("31_ji5cn") mesh = ExtResource("31_ji5cn")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor1/Hallway3" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/Hallway3" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_d8p6j") source_gunk_material = SubResource("ShaderMaterial_d8p6j")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway3/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway3/GunkBody"]
@ -6350,7 +6350,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0
mesh = ExtResource("28_ji5cn") mesh = ExtResource("28_ji5cn")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor1/T-Junction2" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/T-Junction2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_gim1e") source_gunk_material = SubResource("ShaderMaterial_gim1e")
@ -6374,7 +6374,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0
mesh = ExtResource("33_okeuk") mesh = ExtResource("33_okeuk")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor1/Hallway4" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor1/Hallway4" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_otfxe") source_gunk_material = SubResource("ShaderMaterial_otfxe")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway4/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway4/GunkBody"]
@ -6415,7 +6415,7 @@ transform = Transform3D(-1, 8.74228e-08, -3.82137e-15, 0, -4.37114e-08, -1, -8.7
mesh = ExtResource("29_35kna") mesh = ExtResource("29_35kna")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="MessHall/Walls/Wall" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="MessHall/Walls/Wall" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_lfacn") source_gunk_material = SubResource("ShaderMaterial_lfacn")
@ -6597,7 +6597,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="MessHall/Floors/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="MessHall/Floors/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_f0xh4") source_gunk_material = SubResource("ShaderMaterial_f0xh4")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Floors/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Floors/Floor/GunkBody"]
@ -6608,7 +6608,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 5)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="MessHall/Floors/Floor3" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="MessHall/Floors/Floor3" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_kp5n7") source_gunk_material = SubResource("ShaderMaterial_kp5n7")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Floors/Floor3/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Floors/Floor3/GunkBody"]
@ -6642,7 +6642,7 @@ shape = SubResource("ConcavePolygonShape3D_d1yty")
transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -2.4, 0.4, 6.2) transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -2.4, 0.4, 6.2)
mesh = SubResource("BoxMesh_4a0u4") mesh = SubResource("BoxMesh_4a0u4")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Table"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Table" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Table/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Table/StaticBody3D"]
@ -6652,7 +6652,7 @@ shape = SubResource("ConcavePolygonShape3D_35kna")
transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -7.5, 0.4, 4.1) transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -7.5, 0.4, 4.1)
mesh = SubResource("BoxMesh_4a0u4") mesh = SubResource("BoxMesh_4a0u4")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Table2"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Table2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Table2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Table2/StaticBody3D"]
@ -6662,7 +6662,7 @@ shape = SubResource("ConcavePolygonShape3D_4a0u4")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0.5, 3.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0.5, 3.5)
mesh = SubResource("BoxMesh_35kna") mesh = SubResource("BoxMesh_35kna")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Counter"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Counter" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Counter/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Counter/StaticBody3D"]
@ -6672,7 +6672,7 @@ shape = SubResource("ConcavePolygonShape3D_okeuk")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 2.5, 4.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 2.5, 4.5)
mesh = SubResource("BoxMesh_okeuk") mesh = SubResource("BoxMesh_okeuk")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Cupboard"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Cupboard" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Cupboard/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Cupboard/StaticBody3D"]
@ -6682,7 +6682,7 @@ shape = SubResource("ConcavePolygonShape3D_d8p6j")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8, 1.3, 7.996) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8, 1.3, 7.996)
mesh = SubResource("BoxMesh_d8p6j") mesh = SubResource("BoxMesh_d8p6j")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Freezer"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/Freezer" groups=["MetalMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Freezer/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/Freezer/StaticBody3D"]
@ -6692,7 +6692,7 @@ shape = SubResource("ConcavePolygonShape3D_otfxe")
transform = Transform3D(-0.422618, -0.906308, -3.69465e-08, -0.906308, 0.422618, -7.92319e-08, 8.74228e-08, 0, -1, 0.481997, 1.19006, 4.7) transform = Transform3D(-0.422618, -0.906308, -3.69465e-08, -0.906308, 0.422618, -7.92319e-08, 8.74228e-08, 0, -1, 0.481997, 1.19006, 4.7)
mesh = SubResource("BoxMesh_gim1e") mesh = SubResource("BoxMesh_gim1e")
[node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/VendingMachine"] [node name="StaticBody3D" type="StaticBody3D" parent="MessHall/Props/VendingMachine" groups=["MetalMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/VendingMachine/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="MessHall/Props/VendingMachine/StaticBody3D"]
@ -6896,7 +6896,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("33_okeuk") mesh = ExtResource("33_okeuk")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor2/Hallway1" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor2/Hallway1" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_ojd88") source_gunk_material = SubResource("ShaderMaterial_ojd88")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway1/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway1/Hallway1"]
@ -6929,7 +6929,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 7.5, 0
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor2/Hallway2" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor2/Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_anoak") source_gunk_material = SubResource("ShaderMaterial_anoak")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway2/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor2/Hallway2/Hallway1"]
@ -6962,7 +6962,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
mesh = ExtResource("28_ji5cn") mesh = ExtResource("28_ji5cn")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor2/T-Junction1" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor2/T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_h1nog") source_gunk_material = SubResource("ShaderMaterial_h1nog")
@ -7003,7 +7003,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, -66)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="CrewQuarters/CommonArea/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="CrewQuarters/CommonArea/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_mgo71") source_gunk_material = SubResource("ShaderMaterial_mgo71")
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/CommonArea/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/CommonArea/Bounds/Floor/GunkBody"]
@ -7108,7 +7108,7 @@ shape = SubResource("ConcavePolygonShape3D_lfacn")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, -1.2) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.6, -1.2)
mesh = SubResource("CylinderMesh_48a1a") mesh = SubResource("CylinderMesh_48a1a")
[node name="StaticBody3D" type="StaticBody3D" parent="CrewQuarters/CommonArea/Props/CoffeeTable"] [node name="StaticBody3D" type="StaticBody3D" parent="CrewQuarters/CommonArea/Props/CoffeeTable" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/CommonArea/Props/CoffeeTable/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/CommonArea/Props/CoffeeTable/StaticBody3D"]
@ -7137,7 +7137,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -6)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
mesh = ExtResource("35_6giaa") mesh = ExtResource("35_6giaa")
[node name="GunkBody" parent="CrewQuarters/Room1/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="CrewQuarters/Room1/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_u2hqf") source_gunk_material = SubResource("ShaderMaterial_u2hqf")
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room1/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room1/Bounds/Floor/GunkBody"]
@ -7285,7 +7285,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, -6)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
mesh = ExtResource("35_6giaa") mesh = ExtResource("35_6giaa")
[node name="GunkBody" parent="CrewQuarters/Room2/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="CrewQuarters/Room2/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_2ybo5") source_gunk_material = SubResource("ShaderMaterial_2ybo5")
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room2/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room2/Bounds/Floor/GunkBody"]
@ -7429,7 +7429,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 9)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
mesh = ExtResource("35_6giaa") mesh = ExtResource("35_6giaa")
[node name="GunkBody" parent="CrewQuarters/Room3/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="CrewQuarters/Room3/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_lhj8x") source_gunk_material = SubResource("ShaderMaterial_lhj8x")
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room3/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room3/Bounds/Floor/GunkBody"]
@ -7573,7 +7573,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 9)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -1.5)
mesh = ExtResource("35_6giaa") mesh = ExtResource("35_6giaa")
[node name="GunkBody" parent="CrewQuarters/Room4/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="CrewQuarters/Room4/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_f8ygr") source_gunk_material = SubResource("ShaderMaterial_f8ygr")
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room4/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="CrewQuarters/Room4/Bounds/Floor/GunkBody"]
@ -7722,7 +7722,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.5, 0
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor3/Hallway" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor3/Hallway" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_0adbo") source_gunk_material = SubResource("ShaderMaterial_0adbo")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway/Hallway1"]
@ -7755,7 +7755,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0,
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor3/Hallway2" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor3/Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_08djo") source_gunk_material = SubResource("ShaderMaterial_08djo")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway2/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway2/Hallway1"]
@ -7788,7 +7788,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0,
mesh = ExtResource("28_ji5cn") mesh = ExtResource("28_ji5cn")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor3/T-Junction1" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_yf6ob") source_gunk_material = SubResource("ShaderMaterial_yf6ob")
@ -7800,7 +7800,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0,
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor3/Hallway3" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor3/Hallway3" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_8rwkc") source_gunk_material = SubResource("ShaderMaterial_8rwkc")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway3/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway3/Hallway1"]
@ -7819,7 +7819,7 @@ transform = Transform3D(1, 0, -2.13163e-14, 0, 1, 0, 2.13163e-14, 0, 1, 12, 0, 1
mesh = ExtResource("27_17ivy") mesh = ExtResource("27_17ivy")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor3/T-Junction2" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/T-Junction2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_ogcyf") source_gunk_material = SubResource("ShaderMaterial_ogcyf")
@ -7831,7 +7831,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0,
mesh = ExtResource("25_smvh1") mesh = ExtResource("25_smvh1")
skeleton = NodePath("Hallway1") skeleton = NodePath("Hallway1")
[node name="Hallway1" parent="Corridor3/Hallway4" instance=ExtResource("2_2egij")] [node name="Hallway1" parent="Corridor3/Hallway4" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_lnif7") source_gunk_material = SubResource("ShaderMaterial_lnif7")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway4/Hallway1"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor3/Hallway4/Hallway1"]
@ -7850,7 +7850,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 12, 0,
mesh = ExtResource("27_17ivy") mesh = ExtResource("27_17ivy")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Corridor3/T-Junction3" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/T-Junction3" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 192 mask_dim = 192
source_gunk_material = SubResource("ShaderMaterial_gxf7f") source_gunk_material = SubResource("ShaderMaterial_gxf7f")
@ -7864,7 +7864,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 12, 0,
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_ffr5l") source_gunk_material = SubResource("ShaderMaterial_ffr5l")
@ -7915,7 +7915,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway2/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway2/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_wnuyc") source_gunk_material = SubResource("ShaderMaterial_wnuyc")
@ -7965,7 +7965,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 30)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway3/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway3/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_38po5") source_gunk_material = SubResource("ShaderMaterial_38po5")
@ -8030,7 +8030,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway4/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway4/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_341fj") source_gunk_material = SubResource("ShaderMaterial_341fj")
@ -8080,7 +8080,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -6, 0,
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway5/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway5/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_2yyyp") source_gunk_material = SubResource("ShaderMaterial_2yyyp")
@ -8130,7 +8130,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 15, 0,
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="Corridor3/ShortHallway6/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Corridor3/ShortHallway6/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_6ypgw") source_gunk_material = SubResource("ShaderMaterial_6ypgw")
@ -8200,7 +8200,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Medbay/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Medbay/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_20tdk") source_gunk_material = SubResource("ShaderMaterial_20tdk")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Bounds/Floor/GunkBody"]
@ -8211,7 +8211,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 3.93402e-07)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="Medbay/Bounds/Floor2" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="Medbay/Bounds/Floor2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_6s0nd") source_gunk_material = SubResource("ShaderMaterial_6s0nd")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Bounds/Floor2/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Bounds/Floor2/GunkBody"]
@ -8437,7 +8437,7 @@ shape = SubResource("ConcavePolygonShape3D_p11ap")
transform = Transform3D(-1, 0, -1.74846e-07, 0, 1, 0, 8.74228e-08, 0, -2, 0, 1, -0.299999) transform = Transform3D(-1, 0, -1.74846e-07, 0, 1, 0, 8.74228e-08, 0, -2, 0, 1, -0.299999)
mesh = SubResource("CylinderMesh_f0xh4") mesh = SubResource("CylinderMesh_f0xh4")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/OperatingTable"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/OperatingTable" groups=["MetalMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/OperatingTable/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/OperatingTable/StaticBody3D"]
@ -8452,7 +8452,7 @@ transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107,
mesh = SubResource("BoxMesh_1h5r5") mesh = SubResource("BoxMesh_1h5r5")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Desk"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Desk" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Desk/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Desk/StaticBody3D"]
@ -8466,7 +8466,7 @@ shape = SubResource("ConcavePolygonShape3D_2qkxu")
transform = Transform3D(-0.24869, 0, 0.968583, 0, 1, 0, -0.968583, 0, -0.24869, -1.8, 0.6, 0) transform = Transform3D(-0.24869, 0, 0.968583, 0, 1, 0, -0.968583, 0, -0.24869, -1.8, 0.6, 0)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart/StaticBody3D"]
@ -8476,7 +8476,7 @@ shape = SubResource("ConcavePolygonShape3D_wvfch")
transform = Transform3D(0.00523592, -0.866025, 0.499973, -0.999945, -4.2222e-08, 0.0104718, -0.00906879, -0.5, -0.865978, -3.3, 0.355217, -0.599998) transform = Transform3D(0.00523592, -0.866025, 0.499973, -0.999945, -4.2222e-08, 0.0104718, -0.00906879, -0.5, -0.865978, -3.3, 0.355217, -0.599998)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart2"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart2/StaticBody3D"]
@ -8486,7 +8486,7 @@ shape = SubResource("ConcavePolygonShape3D_wvfch")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0.6, 3.9) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.3, 0.6, 3.9)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart3"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart3" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart3/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart3/StaticBody3D"]
@ -8496,7 +8496,7 @@ shape = SubResource("ConcavePolygonShape3D_wvfch")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.6, 3.9) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.6, 3.9)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart4"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart4" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart4/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart4/StaticBody3D"]
@ -8506,7 +8506,7 @@ shape = SubResource("ConcavePolygonShape3D_wvfch")
transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -1.2, 0.6, 3.9) transform = Transform3D(0.965926, 0, -0.258819, 0, 1, 0, 0.258819, 0, 0.965926, -1.2, 0.6, 3.9)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart5"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cart5" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart5/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cart5/StaticBody3D"]
@ -8516,7 +8516,7 @@ shape = SubResource("ConcavePolygonShape3D_wvfch")
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 1.2, 0.6, -3.3) transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 1.2, 0.6, -3.3)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart/StaticBody3D"]
@ -8534,7 +8534,7 @@ mesh = SubResource("PrismMesh_8r2kq")
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 3.9, 0.6, -8.1) transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 3.9, 0.6, -8.1)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart2"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart2/StaticBody3D"]
@ -8552,7 +8552,7 @@ mesh = SubResource("PrismMesh_8r2kq")
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 3.9, 0.6, -6.9) transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 3.9, 0.6, -6.9)
mesh = SubResource("BoxMesh_ii88q") mesh = SubResource("BoxMesh_ii88q")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart3"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/MonitorCart3" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart3/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/MonitorCart3/StaticBody3D"]
@ -8570,7 +8570,7 @@ mesh = SubResource("PrismMesh_8r2kq")
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1.5, 0.5, -13) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1.5, 0.5, -13)
mesh = SubResource("BoxMesh_35kna") mesh = SubResource("BoxMesh_35kna")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Counter"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Counter" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Counter/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Counter/StaticBody3D"]
@ -8580,7 +8580,7 @@ shape = SubResource("ConcavePolygonShape3D_okeuk")
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.5, 2.5, -13) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.5, 2.5, -13)
mesh = SubResource("BoxMesh_okeuk") mesh = SubResource("BoxMesh_okeuk")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cupboard"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cupboard" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cupboard/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cupboard/StaticBody3D"]
@ -8590,7 +8590,7 @@ shape = SubResource("ConcavePolygonShape3D_d8p6j")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.5, -7.5) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.5, -7.5)
mesh = SubResource("BoxMesh_35kna") mesh = SubResource("BoxMesh_35kna")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Counter2"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Counter2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Counter2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Counter2/StaticBody3D"]
@ -8600,7 +8600,7 @@ shape = SubResource("ConcavePolygonShape3D_okeuk")
transform = Transform3D(1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, -4, 2.02276, -8.6) transform = Transform3D(1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, -4, 2.02276, -8.6)
mesh = SubResource("BoxMesh_okeuk") mesh = SubResource("BoxMesh_okeuk")
[node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cupboard2"] [node name="StaticBody3D" type="StaticBody3D" parent="Medbay/Props/Cupboard2" groups=["PlasticMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cupboard2/StaticBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Medbay/Props/Cupboard2/StaticBody3D"]
@ -8681,7 +8681,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3, 0)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_45wwf") source_gunk_material = SubResource("ShaderMaterial_45wwf")
[node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Floor/GunkBody"]
@ -8692,7 +8692,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, -3, 3.93403e-07)
mesh = ExtResource("6_6giaa") mesh = ExtResource("6_6giaa")
skeleton = NodePath("GunkBody") skeleton = NodePath("GunkBody")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor2" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor2" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_r5lvr") source_gunk_material = SubResource("ShaderMaterial_r5lvr")
[node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Floor2/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Floor2/GunkBody"]
@ -9145,7 +9145,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -1.31134e-07)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor3" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor3" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_p73n1") source_gunk_material = SubResource("ShaderMaterial_p73n1")
@ -9157,7 +9157,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor4" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor4" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_i0yw4") source_gunk_material = SubResource("ShaderMaterial_i0yw4")
@ -9169,7 +9169,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor5" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor5" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_65lip") source_gunk_material = SubResource("ShaderMaterial_65lip")
@ -9181,7 +9181,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor6" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor6" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_leujp") source_gunk_material = SubResource("ShaderMaterial_leujp")
@ -9193,7 +9193,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor7" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor7" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_w6td3") source_gunk_material = SubResource("ShaderMaterial_w6td3")
@ -9205,7 +9205,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor8" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor8" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_5v7i8") source_gunk_material = SubResource("ShaderMaterial_5v7i8")
@ -9217,7 +9217,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0, -3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor9" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor9" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_pdhq3") source_gunk_material = SubResource("ShaderMaterial_pdhq3")
@ -9229,7 +9229,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0, 1.23979e-06)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor10" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor10" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_ypwsq") source_gunk_material = SubResource("ShaderMaterial_ypwsq")
@ -9241,7 +9241,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 0, 3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor11" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor11" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_kqkqc") source_gunk_material = SubResource("ShaderMaterial_kqkqc")
@ -9253,7 +9253,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 3)
mesh = ExtResource("35_d8p6j") mesh = ExtResource("35_d8p6j")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Floor12" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Floor12" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
mask_dim = 64 mask_dim = 64
source_gunk_material = SubResource("ShaderMaterial_p8nhf") source_gunk_material = SubResource("ShaderMaterial_p8nhf")
@ -9388,7 +9388,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 0, 2.38419e-07)
mesh = SubResource("ArrayMesh_pifep") mesh = SubResource("ArrayMesh_pifep")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="GunkBody" parent="OpsCenter/Bounds/Ramp/Floor" instance=ExtResource("2_2egij")] [node name="GunkBody" parent="OpsCenter/Bounds/Ramp/Floor" groups=["MetalMaterial"] instance=ExtResource("2_2egij")]
source_gunk_material = SubResource("ShaderMaterial_08dfj") source_gunk_material = SubResource("ShaderMaterial_08dfj")
[node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Ramp/Floor/GunkBody"] [node name="CollisionShape3D" type="CollisionShape3D" parent="OpsCenter/Bounds/Ramp/Floor/GunkBody"]

View File

@ -72,6 +72,11 @@ audio/buses/override_bus_layout="user://audio_bus_layout.tres"
config/accessibility/enable_screen_shake=true config/accessibility/enable_screen_shake=true
config/accessibility/enable_head_bob=true config/accessibility/enable_head_bob=true
[global_group]
MetalMaterial="This surface is made of metal."
PlasticMaterial="This surface is made of plastic."
[input] [input]
move_forward={ move_forward={

View File

@ -1,23 +1,16 @@
class_name FootController extends Node3D class_name FootController extends Node3D
enum SurfaceMaterial {
UNKNOWN,
GRUNK,
PLASTIC,
METAL,
}
@onready var metal: AudioStreamPlayer3D = $Metal @onready var metal: AudioStreamPlayer3D = $Metal
func get_player_for_material(surface_material: SurfaceMaterial) -> AudioStreamPlayer3D: func get_player_for_material(surface_material: SurfaceMaterial.Type) -> AudioStreamPlayer3D:
match surface_material: match surface_material:
SurfaceMaterial.GRUNK: SurfaceMaterial.Type.GRUNK:
pass # TODO pass # TODO
SurfaceMaterial.PLASTIC: SurfaceMaterial.Type.PLASTIC:
pass # TODO pass # TODO
SurfaceMaterial.METAL: SurfaceMaterial.Type.METAL:
return metal return metal
SurfaceMaterial.UNKNOWN: SurfaceMaterial.Type.UNKNOWN:
pass pass
return null return null

View File

@ -11,6 +11,8 @@ var _on_right_foot := false
@onready var left_foot: FootController = %LeftFoot @onready var left_foot: FootController = %LeftFoot
@onready var right_foot: FootController = %RightFoot @onready var right_foot: FootController = %RightFoot
@onready var foot_cast: RayCast3D = %FootCast
func play_footstep() -> void: func play_footstep() -> void:
var foot := right_foot if _on_right_foot else left_foot var foot := right_foot if _on_right_foot else left_foot
@ -19,9 +21,20 @@ func play_footstep() -> void:
if relative_speed < 0: if relative_speed < 0:
return return
# TODO: detect surface material var sfx := foot.get_player_for_material(get_material_under_foot())
var sfx := foot.get_player_for_material(FootController.SurfaceMaterial.METAL) if sfx:
sfx.volume_db = BASE_VOLUME + relative_speed * VELOCITY_FACTOR sfx.volume_db = BASE_VOLUME + relative_speed * VELOCITY_FACTOR
sfx.play() sfx.play()
_on_right_foot = not _on_right_foot _on_right_foot = not _on_right_foot
func get_material_under_foot() -> SurfaceMaterial.Type:
var collider := foot_cast.get_collider() as Node
if collider is GunkBody:
# Special case: check if collision surface is gunked
if (collider as GunkBody).is_point_gunked(
foot_cast.get_collision_point(), foot_cast.get_collision_normal()
):
return SurfaceMaterial.Type.GRUNK
return SurfaceMaterial.material_for_collider(collider)

View File

@ -276,3 +276,7 @@ script = ExtResource("9_l271a")
stream = SubResource("AudioStreamRandomizer_ylhto") stream = SubResource("AudioStreamRandomizer_ylhto")
volume_db = -42.0 volume_db = -42.0
bus = &"SFX" bus = &"SFX"
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0518835, 0)

View File

@ -2,11 +2,13 @@ extends Node3D
@onready var animation: AnimationPlayer = $AnimationPlayer @onready var animation: AnimationPlayer = $AnimationPlayer
@onready var dust_animation: AnimationPlayer = %DustAnimation @onready var dust_animation: AnimationPlayer = %DustAnimation
@onready var open_sfx: AudioStreamPlayer3D = %OpenSFX
func open() -> void: func open() -> void:
animation.play("open") animation.play("open")
dust_animation.play("spray") dust_animation.play("spray")
open_sfx.play()
func close() -> void: func close() -> void:

View File

@ -1,10 +1,12 @@
[gd_scene load_steps=17 format=4 uid="uid://cubwniraol1qn"] [gd_scene load_steps=19 format=4 uid="uid://cubwniraol1qn"]
[ext_resource type="PackedScene" uid="uid://bopvgd18a1dl0" path="res://assets/props/bulkhead/bulkhead.gltf" id="1_77udb"] [ext_resource type="PackedScene" uid="uid://bopvgd18a1dl0" path="res://assets/props/bulkhead/bulkhead.gltf" id="1_77udb"]
[ext_resource type="Material" uid="uid://dim1g2sr3axr5" path="res://assets/props/bulkhead/bulkhead_frame.material" id="2_88qrs"] [ext_resource type="Material" uid="uid://dim1g2sr3axr5" path="res://assets/props/bulkhead/bulkhead_frame.material" id="2_88qrs"]
[ext_resource type="Script" uid="uid://rjygr6ybnl30" path="res://src/props/bulkhead/bulkhead.gd" id="2_hknvo"] [ext_resource type="Script" uid="uid://rjygr6ybnl30" path="res://src/props/bulkhead/bulkhead.gd" id="2_hknvo"]
[ext_resource type="PackedScene" uid="uid://64kcxg3x6631" path="res://src/effects/dust_spray.tscn" id="3_88qrs"] [ext_resource type="PackedScene" uid="uid://64kcxg3x6631" path="res://src/effects/dust_spray.tscn" id="3_88qrs"]
[ext_resource type="Material" uid="uid://ba5iycnw36138" path="res://assets/props/bulkhead/bulkhead_door.material" id="3_w7oba"] [ext_resource type="Material" uid="uid://ba5iycnw36138" path="res://assets/props/bulkhead/bulkhead_door.material" id="3_w7oba"]
[ext_resource type="AudioStream" uid="uid://6mm0npep4ul1" path="res://assets/sfx/mechanical_door.wav" id="5_4jho1"]
[ext_resource type="AudioStream" uid="uid://dkdw7viq1nqte" path="res://assets/sfx/air_hiss.wav" id="7_4jho1"]
[sub_resource type="ArrayMesh" id="ArrayMesh_hx0vd"] [sub_resource type="ArrayMesh" id="ArrayMesh_hx0vd"]
_surfaces = [{ _surfaces = [{
@ -179,6 +181,18 @@ tracks/7/keys = {
"update": 1, "update": 1,
"values": [false] "values": [false]
} }
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("DustSFX:playing")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_88qrs"] [sub_resource type="Animation" id="Animation_88qrs"]
resource_name = "spray" resource_name = "spray"
@ -280,6 +294,18 @@ tracks/7/keys = {
"update": 1, "update": 1,
"values": [true, false] "values": [true, false]
} }
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("DustSFX:playing")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0.275),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hx0vd"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_hx0vd"]
_data = { _data = {
@ -293,7 +319,7 @@ script = ExtResource("2_hknvo")
[node name="Frame" parent="." index="0"] [node name="Frame" parent="." index="0"]
mesh = SubResource("ArrayMesh_88aga") mesh = SubResource("ArrayMesh_88aga")
[node name="StaticBody3D" type="StaticBody3D" parent="Frame" index="0"] [node name="StaticBody3D" type="StaticBody3D" parent="Frame" index="0" groups=["MetalMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame/StaticBody3D" index="0"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Frame/StaticBody3D" index="0"]
@ -302,13 +328,19 @@ shape = SubResource("ConcavePolygonShape3D_88qrs")
[node name="Door" parent="." index="1"] [node name="Door" parent="." index="1"]
mesh = SubResource("ArrayMesh_bso71") mesh = SubResource("ArrayMesh_bso71")
[node name="StaticBody3D" type="StaticBody3D" parent="Door" index="0"] [node name="StaticBody3D" type="StaticBody3D" parent="Door" index="0" groups=["MetalMaterial"]]
collision_layer = 5 collision_layer = 5
[node name="CollisionShape3D" type="CollisionShape3D" parent="Door/StaticBody3D" index="0"] [node name="CollisionShape3D" type="CollisionShape3D" parent="Door/StaticBody3D" index="0"]
shape = SubResource("ConcavePolygonShape3D_w7oba") shape = SubResource("ConcavePolygonShape3D_w7oba")
[node name="Ramp" type="StaticBody3D" parent="." index="3"] [node name="OpenSFX" type="AudioStreamPlayer3D" parent="." index="3"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
stream = ExtResource("5_4jho1")
volume_db = -10.0
[node name="Ramp" type="StaticBody3D" parent="." index="4" groups=["MetalMaterial"]]
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ramp" index="0"] [node name="MeshInstance3D" type="MeshInstance3D" parent="Ramp" index="0"]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.1, 0.325) transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.1, 0.325)
@ -323,7 +355,7 @@ shape = SubResource("ConcavePolygonShape3D_hx0vd")
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0.1, -0.325) transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0.1, -0.325)
shape = SubResource("ConcavePolygonShape3D_hx0vd") shape = SubResource("ConcavePolygonShape3D_hx0vd")
[node name="Dust" type="Node3D" parent="." index="4"] [node name="Dust" type="Node3D" parent="." index="5"]
[node name="DustSpray" parent="Dust" index="0" instance=ExtResource("3_88qrs")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, 0.0897675)
@ -350,3 +382,7 @@ unique_name_in_owner = true
libraries = { libraries = {
&"": SubResource("AnimationLibrary_hx0vd") &"": SubResource("AnimationLibrary_hx0vd")
} }
[node name="DustSFX" type="AudioStreamPlayer3D" parent="Dust" index="5"]
stream = ExtResource("7_4jho1")
volume_db = -24.0

View File

@ -101,7 +101,7 @@ data = PackedVector3Array(0.375, -0.15, 0.75, 0.275, -0.25, 0.75, 0.375, 0.15, 0
[node name="CrateLong" type="MeshInstance3D"] [node name="CrateLong" type="MeshInstance3D"]
mesh = SubResource("ArrayMesh_c6a2t") mesh = SubResource("ArrayMesh_c6a2t")
[node name="GunkBody" parent="." instance=ExtResource("5_d06p6")] [node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_d06p6")]
mask_dim = 32 mask_dim = 32
source_gunk_material = SubResource("ShaderMaterial_sawbt") source_gunk_material = SubResource("ShaderMaterial_sawbt")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=28 format=4 uid="uid://b6eg8t04rkh0c"] [gd_scene load_steps=29 format=4 uid="uid://b6eg8t04rkh0c"]
[ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"] [ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"]
[ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"] [ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"]
@ -10,6 +10,7 @@
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_6aabu"] [ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_6aabu"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="9_7shuc"] [ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="9_7shuc"]
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"] [ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"]
[ext_resource type="AudioStream" uid="uid://bgayfws34lg7q" path="res://assets/sfx/click_electronic_04.wav" id="11_7shuc"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtkkw"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtkkw"]
resource_local_to_scene = true resource_local_to_scene = true
@ -135,6 +136,18 @@ tracks/1/keys = {
"update": 0, "update": 0,
"values": [0.0] "values": [0.0]
} }
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Lights/SuccessLight/SuccessSFX:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_6aabu"] [sub_resource type="Animation" id="Animation_6aabu"]
resource_name = "disable" resource_name = "disable"
@ -210,6 +223,18 @@ tracks/1/keys = {
"update": 0, "update": 0,
"values": [0.0] "values": [0.0]
} }
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Lights/SuccessLight/SuccessSFX:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6ueib"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_6ueib"]
_data = { _data = {
@ -251,6 +276,13 @@ mesh = SubResource("BoxMesh_g24yf")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.06, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.06, 0)
mesh = SubResource("BoxMesh_a6hjm") mesh = SubResource("BoxMesh_a6hjm")
[node name="SuccessSFX" type="AudioStreamPlayer3D" parent="Lights/SuccessLight" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.17, -0.18, -0.1)
stream = ExtResource("11_7shuc")
volume_db = -16.0
unit_size = 4.0
bus = &"SFX"
[node name="LightAnimation" type="AnimationPlayer" parent="Lights" index="2"] [node name="LightAnimation" type="AnimationPlayer" parent="Lights" index="2"]
unique_name_in_owner = true unique_name_in_owner = true
root_node = NodePath("../..") root_node = NodePath("../..")

View File

@ -10,6 +10,7 @@ const FACE_EPSILON := 0.01
const CLEAR_COLOR := Color.BLACK const CLEAR_COLOR := Color.BLACK
const MASK_COLOR := Color.RED const MASK_COLOR := Color.RED
const CLEAR_TOTAL_EPSILON := 1 const CLEAR_TOTAL_EPSILON := 1
const MASK_THRESHOLD := 0.5
@export var mask_dim := 256 @export var mask_dim := 256
@export var mesh_instance: MeshInstance3D @export var mesh_instance: MeshInstance3D
@ -30,6 +31,7 @@ var _prev_clear_total := -1.0
# _clear_total is async computed in separate thread # _clear_total is async computed in separate thread
var _mask_tx: Texture2D var _mask_tx: Texture2D
var _cached_mask: Image
var _thread: Thread var _thread: Thread
var _mutex: Mutex = Mutex.new() var _mutex: Mutex = Mutex.new()
var _semaphore: Semaphore = Semaphore.new() var _semaphore: Semaphore = Semaphore.new()
@ -98,10 +100,10 @@ func _async_compute_clear_total() -> void:
# Get mask from GPU # Get mask from GPU
# TODO: does this need mutex protection? # TODO: does this need mutex protection?
_mutex.lock() _mutex.lock()
var mask_img := _mask_tx.get_image() _cached_mask = _mask_tx.get_image()
_cached_mask.convert(Image.FORMAT_R8)
_mutex.unlock() _mutex.unlock()
mask_img.convert(Image.FORMAT_R8) var px_data := _cached_mask.get_data()
var px_data := mask_img.get_data()
var px_sum := 0 var px_sum := 0
for px in px_data: for px in px_data:
px_sum += px px_sum += px
@ -191,6 +193,17 @@ func _get_px(point: Vector3, normal: Vector3) -> Vector2:
return _get_uv(point * global_transform, normal * global_basis) * mask_control.size return _get_uv(point * global_transform, normal * global_basis) * mask_control.size
func is_point_gunked(point: Vector3, normal: Vector3) -> bool:
var px := _get_px(point, normal)
var result := false
# XXX deadlock potential?
_mutex.lock()
result = _cached_mask and _cached_mask.get_pixelv(px).r < MASK_THRESHOLD
_mutex.unlock()
return result
## Paint a dot on the gunk mask. ## Paint a dot on the gunk mask.
func paint_dot(point: Vector3, normal: Vector3, radius: float, color: Color = MASK_COLOR) -> void: func paint_dot(point: Vector3, normal: Vector3, radius: float, color: Color = MASK_COLOR) -> void:
var px := _get_px(point, normal) var px := _get_px(point, normal)

View File

@ -0,0 +1,21 @@
class_name SurfaceMaterial
enum Type {
UNKNOWN,
GRUNK,
PLASTIC,
METAL,
}
const METAL_MATERIAL_GROUP := "MetalMaterial"
const PLASTIC_MATERIAL_GROUP := "PlasticMaterial"
static func material_for_collider(collider: Node) -> SurfaceMaterial.Type:
if collider is GunkNode:
return Type.GRUNK
if collider.is_in_group(METAL_MATERIAL_GROUP):
return Type.METAL
if collider.is_in_group(PLASTIC_MATERIAL_GROUP):
return Type.PLASTIC
return Type.UNKNOWN

View File

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

View File

@ -45,6 +45,24 @@
- [x] [[toothbrush]] - [x] [[toothbrush]]
- [ ] [[mp3 player]] - [ ] [[mp3 player]]
- [ ] [[manual]] - [ ] [[manual]]
- [ ] SFX:
- [ ] ui bonk
- [ ] prop clear glitter
- [x] metal footsteps
- [ ] plastic footsteps
- [ ] grunk footsteps
- [x] beam noises
- [x] spray noises
- [ ] switch klaxon
- [x] switch OK
- [ ] switch activation
- [x] bulkhead opening
- [ ] grunk alarm shriek
- [ ] grunk relay chitter
- [ ] grunk chittering
- [ ] grunkbeast???
- [ ] grunk ambiance
- [ ] spaceship ambiance
- [ ] models: - [ ] models:
- [ ] [[grunk]] nodes: - [ ] [[grunk]] nodes:
- [ ] [[alarm]] - [ ] [[alarm]]
@ -75,7 +93,7 @@
- [ ] [[airlock]] props: - [ ] [[airlock]] props:
- [ ] space suit (2m tall, radius 0.4m) - [ ] space suit (2m tall, radius 0.4m)
- [ ] [[mess hall]] props: - [ ] [[mess hall]] props:
- [ ] trash bin (1m tall, radius 0.4m) - [x] trash bin (1m tall, radius 0.4m)
- [ ] cafeteria table (3.0x0.8x6.0) - [ ] cafeteria table (3.0x0.8x6.0)
- [ ] vending machine (1.4x3.0x2.2) - [ ] vending machine (1.4x3.0x2.2)
- [ ] freezer (1.4x2.6x2.2) - [ ] freezer (1.4x2.6x2.2)

View File

@ -2,4 +2,17 @@
- "Walking on Metal" - "Walking on Metal"
- author: Sanderboah - author: Sanderboah
- retrieved from https://freesound.org/people/Sanderboah/sounds/696374/ - retrieved from https://freesound.org/people/Sanderboah/sounds/696374/
- assets/sfx/footsteps/metal/metal*.wav - assets/sfx/footsteps/metal/metal*.wav
- "Click_Electronic_04.wav"
- author: LittleRobotSoundFactory
- retrieved from https://freesound.org/people/LittleRobotSoundFactory/sounds/288956/
- assets/sfx/click_electronic_04.wav
- "Air Hiss"
- author: Jofae
- retrieved from https://freesound.org/people/Jofae/sounds/367125/
- assets/sfx/air_hiss.wav
- modified
- "Heavy Mechanical Door Open"
- author: lowpolygon
- retrieved from https://freesound.org/people/lowpolygon/sounds/421722/
- assets/sfx/mechanical_door.wav