generated from krampus/template-godot4
Compare commits
15 Commits
4ff1699fa5
...
5dc8bc2661
Author | SHA1 | Date | |
---|---|---|---|
5dc8bc2661 | |||
f8123ecc00 | |||
f23611a39d | |||
4f236e9bf9 | |||
87c747e3d5 | |||
7493e3cd5a | |||
57b32fd7d3 | |||
9e06f7a55e | |||
88fb78ce2a | |||
387121a9fb | |||
2b9910e7c0 | |||
d8406bba9c | |||
73afb696a2 | |||
6b3ac1311e | |||
7d04454737 |
BIN
asset_dev/level/elevator_shaft/elevator_shaft.blend
Normal file
BIN
asset_dev/level/elevator_shaft/elevator_shaft.blend
Normal file
Binary file not shown.
BIN
asset_dev/level/elevator_shaft/elevator_shaft.blend1
Normal file
BIN
asset_dev/level/elevator_shaft/elevator_shaft.blend1
Normal file
Binary file not shown.
BIN
asset_dev/props/sofa/sofa_parts.blend
Normal file
BIN
asset_dev/props/sofa/sofa_parts.blend
Normal file
Binary file not shown.
BIN
asset_dev/props/sofa/sofa_parts.blend1
Normal file
BIN
asset_dev/props/sofa/sofa_parts.blend1
Normal file
Binary file not shown.
BIN
assets/level/wall/wall_9x9.mesh
Normal file
BIN
assets/level/wall/wall_9x9.mesh
Normal file
Binary file not shown.
Binary file not shown.
@ -19,12 +19,12 @@ compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/normal_map=1
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
roughness/mode=1
|
||||
roughness/src_normal="res://assets/props/bulkhead/bulkhead_door_C.png"
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
|
12
assets/props/sofa/sofa_bottom_cushion.mtl
Normal file
12
assets/props/sofa/sofa_bottom_cushion.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
195
assets/props/sofa/sofa_bottom_cushion.obj
Normal file
195
assets/props/sofa/sofa_bottom_cushion.obj
Normal file
@ -0,0 +1,195 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_bottom_cushion.mtl
|
||||
o BottomCushion
|
||||
v 0.300727 -0.076171 -0.402174
|
||||
v 0.301396 -0.031171 -0.447169
|
||||
v 0.345722 -0.031171 -0.401504
|
||||
v 0.300727 0.073829 -0.402174
|
||||
v 0.345722 0.028829 -0.401504
|
||||
v 0.301396 0.028829 -0.447169
|
||||
v -0.288005 -0.031171 -0.455939
|
||||
v -0.288675 -0.076171 -0.410944
|
||||
v -0.333670 -0.031171 -0.411614
|
||||
v -0.288675 0.073829 -0.410944
|
||||
v -0.288005 0.028829 -0.455939
|
||||
v -0.333670 0.028829 -0.411614
|
||||
v -0.301396 -0.031171 0.443961
|
||||
v -0.345722 -0.031171 0.398297
|
||||
v -0.300727 -0.076171 0.398966
|
||||
v -0.300727 0.073829 0.398966
|
||||
v -0.345722 0.028829 0.398297
|
||||
v -0.301396 0.028829 0.443961
|
||||
v 0.288005 -0.031171 0.452732
|
||||
v 0.288675 -0.076171 0.407737
|
||||
v 0.333670 -0.031171 0.408406
|
||||
v 0.288005 0.028829 0.452732
|
||||
v 0.333670 0.028829 0.408406
|
||||
v 0.288675 0.073829 0.407737
|
||||
v 0.108329 -0.076171 -0.405097
|
||||
v -0.095807 -0.076171 -0.408021
|
||||
v -0.095111 -0.029414 -0.453016
|
||||
v 0.109025 -0.029414 -0.450092
|
||||
v 0.109025 0.032927 -0.450092
|
||||
v -0.095111 0.032927 -0.453016
|
||||
v -0.095807 0.079684 -0.408021
|
||||
v 0.108329 0.079684 -0.405097
|
||||
v -0.108329 -0.076171 0.409909
|
||||
v 0.095807 -0.076171 0.412832
|
||||
v 0.095111 -0.029414 0.457827
|
||||
v -0.109025 -0.029414 0.454904
|
||||
v -0.109025 0.032927 0.454904
|
||||
v 0.095111 0.032927 0.457827
|
||||
v 0.095807 0.079684 0.412832
|
||||
v -0.108329 0.079684 0.409909
|
||||
vn 0.9999 -0.0000 0.0149
|
||||
vn 0.0152 -0.0000 -0.9999
|
||||
vn 0.0264 -0.0000 0.9997
|
||||
vn -0.9999 -0.0000 -0.0149
|
||||
vn 0.0304 0.9995 0.0005
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn 0.5859 -0.5774 -0.5687
|
||||
vn 0.5859 0.5774 -0.5687
|
||||
vn -0.5687 -0.5774 -0.5859
|
||||
vn -0.5687 0.5774 -0.5859
|
||||
vn -0.5859 -0.5774 0.5687
|
||||
vn -0.5859 0.5774 0.5687
|
||||
vn 0.5687 -0.5774 0.5859
|
||||
vn 0.5687 0.5774 0.5859
|
||||
vn 0.0140 -0.7002 -0.7138
|
||||
vn -0.0072 0.7001 -0.7140
|
||||
vn 0.0157 -0.7000 0.7140
|
||||
vn 0.0369 0.6994 0.7137
|
||||
vn 0.7175 -0.0000 -0.6965
|
||||
vn 0.7070 0.7071 0.0105
|
||||
vn -0.7070 -0.7071 -0.0105
|
||||
vn -0.6965 -0.0000 -0.7175
|
||||
vn -0.7175 -0.0000 0.6965
|
||||
vn -0.7070 0.7071 -0.0105
|
||||
vn 0.7070 -0.7071 0.0105
|
||||
vn 0.6965 -0.0000 0.7175
|
||||
vn -0.0586 0.6994 0.7123
|
||||
vn -0.0103 0.6934 0.7204
|
||||
vn -0.0374 -0.7000 0.7132
|
||||
vn -0.0103 -0.6934 0.7204
|
||||
vn 0.0290 0.7001 -0.7134
|
||||
vn 0.0103 0.6934 -0.7204
|
||||
vn 0.0077 -0.7002 -0.7139
|
||||
vn 0.0103 -0.6934 -0.7204
|
||||
vn -0.0304 0.9995 -0.0005
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0568 -0.0000 0.9984
|
||||
vn -0.0143 -0.0000 0.9999
|
||||
vn 0.0143 -0.0000 -0.9999
|
||||
vt 0.937500 0.695312
|
||||
vt 0.937500 0.546875
|
||||
vt 0.953125 0.546875
|
||||
vt 0.953125 0.695312
|
||||
vt 0.843750 0.710938
|
||||
vt 0.843750 0.726562
|
||||
vt 0.804688 0.726562
|
||||
vt 0.804688 0.710938
|
||||
vt 0.882812 0.531250
|
||||
vt 0.882812 0.515625
|
||||
vt 0.921875 0.515625
|
||||
vt 0.921875 0.531250
|
||||
vt 0.773438 0.546875
|
||||
vt 0.789062 0.546875
|
||||
vt 0.789062 0.695312
|
||||
vt 0.773438 0.695312
|
||||
vt 0.882812 0.546875
|
||||
vt 0.921875 0.546875
|
||||
vt 0.921875 0.695312
|
||||
vt 0.882812 0.695312
|
||||
vt 0.304688 0.687500
|
||||
vt 0.304688 0.539062
|
||||
vt 0.343750 0.539062
|
||||
vt 0.343750 0.687500
|
||||
vt 0.968750 0.695312
|
||||
vt 0.960938 0.710938
|
||||
vt 0.929688 0.710938
|
||||
vt 0.765625 0.710938
|
||||
vt 0.757812 0.695312
|
||||
vt 0.804688 0.695312
|
||||
vt 0.796875 0.710938
|
||||
vt 0.765625 0.531250
|
||||
vt 0.757812 0.546875
|
||||
vt 0.804688 0.546875
|
||||
vt 0.796875 0.531250
|
||||
vt 0.960938 0.531250
|
||||
vt 0.968750 0.546875
|
||||
vt 0.929688 0.531250
|
||||
vt 0.843750 0.742188
|
||||
vt 0.804688 0.742188
|
||||
vt 0.843750 0.695312
|
||||
vt 0.882812 0.500000
|
||||
vt 0.921875 0.500000
|
||||
vt 0.953125 0.710938
|
||||
vt 0.937500 0.710938
|
||||
vt 0.789062 0.710938
|
||||
vt 0.773438 0.710938
|
||||
vt 0.773438 0.531250
|
||||
vt 0.789062 0.531250
|
||||
vt 0.937500 0.531250
|
||||
vt 0.953125 0.531250
|
||||
vt 0.804688 0.531250
|
||||
vt 0.843750 0.531250
|
||||
vt 0.843750 0.546875
|
||||
vt 0.804688 0.500000
|
||||
vt 0.843750 0.500000
|
||||
vt 0.843750 0.515625
|
||||
vt 0.804688 0.515625
|
||||
vt 0.921875 0.710938
|
||||
vt 0.882812 0.710938
|
||||
vt 0.921875 0.742188
|
||||
vt 0.882812 0.742188
|
||||
vt 0.882812 0.726562
|
||||
vt 0.921875 0.726562
|
||||
vt 0.226562 0.687500
|
||||
vt 0.226562 0.539062
|
||||
vt 0.265625 0.539062
|
||||
vt 0.265625 0.687500
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 5/1/1 23/2/1 21/3/1 3/4/1
|
||||
f 30/5/2 27/6/2 7/7/2 11/8/2
|
||||
f 38/9/3 35/10/3 19/11/3 22/12/3
|
||||
f 14/13/4 17/14/4 12/15/4 9/16/4
|
||||
f 39/17/5 24/18/5 4/19/5 32/20/5
|
||||
f 34/21/6 25/22/6 1/23/6 20/24/6
|
||||
f 1/25/7 2/26/7 3/4/7
|
||||
f 4/19/8 5/1/8 6/27/8
|
||||
f 7/28/9 8/29/9 9/16/9
|
||||
f 10/30/10 11/31/10 12/15/10
|
||||
f 13/32/11 14/13/11 15/33/11
|
||||
f 16/34/12 17/14/12 18/35/12
|
||||
f 19/36/13 20/37/13 21/3/13
|
||||
f 22/38/14 23/2/14 24/18/14
|
||||
f 26/39/15 8/40/15 7/7/15 27/6/15
|
||||
f 30/5/16 11/8/16 10/30/16 31/41/16
|
||||
f 34/42/17 20/43/17 19/11/17 35/10/17
|
||||
f 38/9/18 22/12/18 24/18/18 39/17/18
|
||||
f 5/1/19 3/4/19 2/44/19 6/45/19
|
||||
f 23/2/20 5/1/20 4/19/20 24/18/20
|
||||
f 14/13/21 9/16/21 8/29/21 15/33/21
|
||||
f 9/16/22 12/15/22 11/46/22 7/47/22
|
||||
f 17/14/23 14/13/23 13/48/23 18/49/23
|
||||
f 12/15/24 17/14/24 16/34/24 10/30/24
|
||||
f 3/4/25 21/3/25 20/37/25 1/25/25
|
||||
f 21/3/26 23/2/26 22/50/26 19/51/26
|
||||
f 18/52/27 37/53/27 40/54/27 16/34/27
|
||||
f 37/53/28 38/9/28 39/17/28 40/54/28
|
||||
f 15/55/29 33/56/29 36/57/29 13/58/29
|
||||
f 33/56/30 34/42/30 35/10/30 36/57/30
|
||||
f 6/59/31 29/60/31 32/20/31 4/19/31
|
||||
f 29/60/32 30/5/32 31/41/32 32/20/32
|
||||
f 1/61/33 25/62/33 28/63/33 2/64/33
|
||||
f 25/62/34 26/39/34 27/6/34 28/63/34
|
||||
f 15/65/6 8/66/6 26/67/6 33/68/6
|
||||
f 33/68/6 26/67/6 25/22/6 34/21/6
|
||||
f 16/34/35 40/54/35 31/41/35 10/30/35
|
||||
f 40/54/36 39/17/36 32/20/36 31/41/36
|
||||
f 18/52/37 13/58/37 36/57/37 37/53/37
|
||||
f 37/53/38 36/57/38 35/10/38 38/9/38
|
||||
f 6/59/2 2/64/2 28/63/2 29/60/2
|
||||
f 29/60/39 28/63/39 27/6/39 30/5/39
|
25
assets/props/sofa/sofa_bottom_cushion.obj.import
Normal file
25
assets/props/sofa/sofa_bottom_cushion.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://bc4otwcwsiu2m"
|
||||
path="res://.godot/imported/sofa_bottom_cushion.obj-53455774d3eb6d03a3ba0b141be85073.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_bottom_cushion.obj-53455774d3eb6d03a3ba0b141be85073.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_bottom_cushion.obj"
|
||||
dest_files=["res://.godot/imported/sofa_bottom_cushion.obj-53455774d3eb6d03a3ba0b141be85073.mesh", "res://.godot/imported/sofa_bottom_cushion.obj-53455774d3eb6d03a3ba0b141be85073.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
12
assets/props/sofa/sofa_frame.mtl
Normal file
12
assets/props/sofa/sofa_frame.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
220
assets/props/sofa/sofa_frame.obj
Normal file
220
assets/props/sofa/sofa_frame.obj
Normal file
@ -0,0 +1,220 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_frame.mtl
|
||||
o Frame
|
||||
v 1.040000 -0.500000 -0.600000
|
||||
v 1.040000 -0.500000 0.600000
|
||||
v -1.040000 -0.500000 -0.600000
|
||||
v -1.040000 -0.500000 0.600000
|
||||
v 1.040000 -0.300000 -0.300000
|
||||
v -1.040000 -0.300000 -0.300000
|
||||
v -1.040000 0.300000 -0.510000
|
||||
v -1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.510000
|
||||
v 1.090000 -0.350000 0.600000
|
||||
v 1.040000 -0.300000 0.550000
|
||||
v -1.040000 -0.300000 0.550000
|
||||
v -1.090000 -0.350000 0.600000
|
||||
v 1.250000 -0.500000 -0.600000
|
||||
v 1.300000 -0.500000 -0.550000
|
||||
v 1.300000 -0.500000 0.550000
|
||||
v 1.250000 -0.500000 0.600000
|
||||
v -1.250000 -0.500000 0.600000
|
||||
v -1.300000 -0.500000 0.550000
|
||||
v -1.300000 -0.500000 -0.550000
|
||||
v -1.250000 -0.500000 -0.600000
|
||||
v 1.040000 0.050000 0.550000
|
||||
v 1.090000 0.050000 0.600000
|
||||
v 1.090000 0.100000 0.550000
|
||||
v -1.040000 0.050000 -0.600000
|
||||
v -1.090000 0.100000 -0.550000
|
||||
v 1.090000 0.100000 -0.550000
|
||||
v 1.040000 0.050000 -0.600000
|
||||
v -1.040000 0.050000 0.550000
|
||||
v -1.090000 0.100000 0.550000
|
||||
v -1.090000 0.050000 0.600000
|
||||
v 1.300000 0.050000 0.550000
|
||||
v 1.250000 0.100000 0.550000
|
||||
v 1.250000 0.050000 0.600000
|
||||
v -1.300000 0.050000 -0.550000
|
||||
v -1.250000 0.100000 -0.550000
|
||||
v -1.250000 0.050000 -0.600000
|
||||
v 1.300000 0.050000 -0.550000
|
||||
v 1.250000 0.050000 -0.600000
|
||||
v 1.250000 0.100000 -0.550000
|
||||
v -1.300000 0.050000 0.550000
|
||||
v -1.250000 0.050000 0.600000
|
||||
v -1.250000 0.100000 0.550000
|
||||
v 1.040000 0.050000 -0.422500
|
||||
v -1.040000 0.050000 -0.422500
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 0.3304 0.9439
|
||||
vn -0.5774 0.5774 0.5773
|
||||
vn 0.5774 0.5774 0.5773
|
||||
vn 0.5774 0.5773 0.5774
|
||||
vn -0.5774 0.5773 -0.5774
|
||||
vn 0.5774 0.5773 -0.5774
|
||||
vn -0.5774 0.5773 0.5774
|
||||
vn -0.0000 0.7071 0.7071
|
||||
vn -0.7071 0.7071 -0.0000
|
||||
vn 0.7071 0.7071 -0.0000
|
||||
vn -0.0000 0.7071 -0.7071
|
||||
vn -0.7071 -0.0000 0.7071
|
||||
vn 0.7071 -0.0000 -0.7071
|
||||
vn 0.7071 -0.0000 0.7071
|
||||
vn -0.7071 -0.0000 -0.7071
|
||||
vt 0.031250 0.710938
|
||||
vt 0.109375 0.742188
|
||||
vt 0.000000 0.742188
|
||||
vt 0.609375 0.054688
|
||||
vt 0.609375 0.015625
|
||||
vt 0.718750 0.015625
|
||||
vt 0.718750 0.054688
|
||||
vt 0.109375 0.250000
|
||||
vt 0.109375 0.281250
|
||||
vt 0.031250 0.281250
|
||||
vt 0.617188 0.546875
|
||||
vt 0.617188 0.960938
|
||||
vt 0.601562 0.960938
|
||||
vt 0.601562 0.546875
|
||||
vt 0.609375 0.468750
|
||||
vt 0.765625 0.054688
|
||||
vt 0.765625 0.468750
|
||||
vt 0.718750 0.468750
|
||||
vt 0.664062 0.515625
|
||||
vt 0.671875 0.546875
|
||||
vt 0.617188 0.531250
|
||||
vt 0.226562 0.210938
|
||||
vt 0.226562 0.015625
|
||||
vt 0.296875 0.039062
|
||||
vt 0.296875 0.210938
|
||||
vt 0.937500 0.054688
|
||||
vt 0.937500 0.468750
|
||||
vt 0.773438 0.468750
|
||||
vt 0.773438 0.054688
|
||||
vt 0.140625 0.226562
|
||||
vt 0.140625 0.031250
|
||||
vt 0.210938 0.031250
|
||||
vt 0.210938 0.203125
|
||||
vt 0.000000 0.234375
|
||||
vt 0.000000 0.015625
|
||||
vt 0.109375 0.015625
|
||||
vt 0.109375 0.234375
|
||||
vt 0.593750 0.007812
|
||||
vt 0.601562 0.015625
|
||||
vt 0.601562 0.054688
|
||||
vt 0.367188 0.054688
|
||||
vt 0.367188 0.015625
|
||||
vt 0.375000 0.007812
|
||||
vt 0.601562 0.468750
|
||||
vt 0.601562 0.507812
|
||||
vt 0.593750 0.515625
|
||||
vt 0.375000 0.515625
|
||||
vt 0.367188 0.507812
|
||||
vt 0.367188 0.468750
|
||||
vt 0.125000 0.710938
|
||||
vt 0.343750 0.710938
|
||||
vt 0.343750 0.742188
|
||||
vt 0.125000 0.742188
|
||||
vt 0.000000 0.289062
|
||||
vt 0.000000 0.703125
|
||||
vt 0.742188 0.546875
|
||||
vt 0.742188 0.960938
|
||||
vt 0.671875 0.960938
|
||||
vt 0.125000 0.281250
|
||||
vt 0.125000 0.250000
|
||||
vt 0.343750 0.250000
|
||||
vt 0.343750 0.281250
|
||||
vt 0.000000 0.976562
|
||||
vt 0.000000 0.757812
|
||||
vt 0.109375 0.757812
|
||||
vt 0.109375 0.976562
|
||||
vt 0.117188 0.296875
|
||||
vt 0.117188 0.695312
|
||||
vt 0.109375 0.710938
|
||||
vt 0.117188 0.234375
|
||||
vt 0.351562 0.757812
|
||||
vt 0.359375 0.742188
|
||||
vt 0.351562 0.234375
|
||||
vt 0.359375 0.250000
|
||||
vt 0.117188 0.757812
|
||||
vt 0.953125 0.046875
|
||||
vt 0.953125 0.476562
|
||||
vt 0.320312 0.296875
|
||||
vt 0.125000 0.296875
|
||||
vt 0.351562 0.296875
|
||||
vt 0.125000 0.695312
|
||||
vt 0.320312 0.695312
|
||||
vt 0.351562 0.695312
|
||||
vt 0.125000 0.015625
|
||||
vt 0.125000 0.234375
|
||||
vt 0.125000 0.757812
|
||||
vt 0.125000 0.976562
|
||||
vt 0.359375 0.289062
|
||||
vt 0.359375 0.703125
|
||||
vt 0.304688 0.226562
|
||||
vt 0.226562 0.226562
|
||||
vt 0.000000 0.000000
|
||||
vt 0.109375 0.000000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.140625 0.015625
|
||||
vt 0.218750 0.015625
|
||||
vt 0.109375 0.992188
|
||||
vt 0.000000 0.992188
|
||||
vt 0.664062 0.992188
|
||||
vt 0.617188 0.976562
|
||||
vt 0.609375 0.507812
|
||||
vt 0.718750 0.507812
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 14/1/1 43/2/1 19/3/1
|
||||
f 3/4/2 22/5/2 38/6/2 26/7/2
|
||||
f 35/8/1 24/9/1 11/10/1
|
||||
f 7/11/3 10/12/3 9/13/3 8/14/3
|
||||
f 1/15/2 3/4/2 26/7/2 8/16/2 9/17/2 29/18/2
|
||||
f 26/19/4 46/20/4 7/11/4 8/21/4
|
||||
f 23/22/4 45/23/4 5/24/4 12/25/4
|
||||
f 13/26/3 12/27/3 5/28/3 6/29/3
|
||||
f 46/30/5 30/31/5 13/32/5 6/33/5
|
||||
f 17/34/5 16/35/5 39/36/5 33/37/5
|
||||
f 21/38/6 22/39/6 3/40/6 4/41/6 19/42/6 20/43/6
|
||||
f 1/44/6 15/45/6 16/46/6 17/47/6 18/48/6 2/49/6
|
||||
f 31/50/3 27/51/3 37/52/3 44/53/3
|
||||
f 2/54/1 11/10/1 14/1/1 4/55/1
|
||||
f 6/56/7 5/57/7 45/58/7 10/12/7 7/11/7 46/20/7
|
||||
f 25/59/3 34/60/3 41/61/3 28/62/3
|
||||
f 21/63/4 20/64/4 42/65/4 36/66/4
|
||||
f 3/40/6 1/44/6 2/49/6 4/41/6
|
||||
f 23/67/8 24/9/8 25/59/8
|
||||
f 30/68/9 31/50/9 32/69/9
|
||||
f 33/70/10 34/60/10 35/8/10
|
||||
f 36/71/11 37/52/11 38/72/11
|
||||
f 39/73/12 40/74/12 41/61/12
|
||||
f 42/75/13 43/2/13 44/53/13
|
||||
f 12/27/14 13/26/14 14/76/14 11/77/14
|
||||
f 45/78/15 23/79/15 25/59/15 28/62/15 29/80/15
|
||||
f 31/50/16 30/81/16 46/82/16 26/83/16 27/51/16
|
||||
f 41/84/16 34/85/16 33/37/16 39/36/16
|
||||
f 44/86/15 37/87/15 36/66/15 42/65/15
|
||||
f 40/74/17 29/88/17 28/62/17 41/61/17
|
||||
f 24/9/14 35/8/14 34/60/14 25/59/14
|
||||
f 37/52/17 27/51/17 26/89/17 38/72/17
|
||||
f 31/50/14 44/53/14 43/2/14 32/69/14
|
||||
f 11/90/18 24/91/18 23/22/18 12/25/18
|
||||
f 39/36/19 16/35/19 15/92/19 40/93/19
|
||||
f 35/8/20 18/94/20 17/34/20 33/37/20
|
||||
f 13/32/20 30/31/20 32/95/20 14/96/20
|
||||
f 42/65/18 20/64/18 19/3/18 43/2/18
|
||||
f 38/97/21 22/98/21 21/63/21 36/66/21
|
||||
f 45/58/5 29/99/5 9/100/5 10/12/5
|
||||
f 15/101/2 1/15/2 29/18/2 40/102/2
|
||||
f 19/3/1 4/55/1 14/1/1
|
||||
f 14/1/1 32/69/1 43/2/1
|
||||
f 11/10/1 2/54/1 18/94/1
|
||||
f 18/94/1 35/8/1 11/10/1
|
25
assets/props/sofa/sofa_frame.obj.import
Normal file
25
assets/props/sofa/sofa_frame.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://vb5cxt1113xr"
|
||||
path="res://.godot/imported/sofa_frame.obj-f87f60fc5f094b1938fb864d31e6949f.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_frame.obj-f87f60fc5f094b1938fb864d31e6949f.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_frame.obj"
|
||||
dest_files=["res://.godot/imported/sofa_frame.obj-f87f60fc5f094b1938fb864d31e6949f.mesh", "res://.godot/imported/sofa_frame.obj-f87f60fc5f094b1938fb864d31e6949f.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
12
assets/props/sofa/sofa_frame_back.mtl
Normal file
12
assets/props/sofa/sofa_frame_back.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
53
assets/props/sofa/sofa_frame_back.obj
Normal file
53
assets/props/sofa/sofa_frame_back.obj
Normal file
@ -0,0 +1,53 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_frame_back.mtl
|
||||
o FrameBack
|
||||
v 1.040000 -0.500000 -0.600000
|
||||
v -1.040000 -0.500000 -0.600000
|
||||
v 1.040000 -0.300000 -0.300000
|
||||
v -1.040000 -0.300000 -0.300000
|
||||
v -1.040000 0.300000 -0.510000
|
||||
v -1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.510000
|
||||
v -1.040000 0.050000 -0.600000
|
||||
v 1.040000 0.050000 -0.600000
|
||||
v 1.040000 0.050000 -0.422500
|
||||
v -1.040000 0.050000 -0.422500
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 0.3304 0.9439
|
||||
vn -0.0000 -0.8321 0.5547
|
||||
vt 0.617188 0.546875
|
||||
vt 0.617188 0.960938
|
||||
vt 0.601562 0.960938
|
||||
vt 0.601562 0.546875
|
||||
vt 0.609375 0.468750
|
||||
vt 0.609375 0.054688
|
||||
vt 0.718750 0.054688
|
||||
vt 0.765625 0.054688
|
||||
vt 0.765625 0.468750
|
||||
vt 0.718750 0.468750
|
||||
vt 0.773438 0.054688
|
||||
vt 0.671875 0.960938
|
||||
vt 0.773438 0.468750
|
||||
vt 0.742188 0.546875
|
||||
vt 0.742188 0.960938
|
||||
vt 0.671875 0.546875
|
||||
vt 0.601562 0.054688
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 5/1/1 8/2/1 7/3/1 6/4/1
|
||||
f 1/5/2 2/6/2 9/7/2 6/8/2 7/9/2 10/10/2
|
||||
f 9/7/3 2/6/3 4/11/3
|
||||
f 10/10/4 11/12/4 3/13/4
|
||||
f 10/10/4 7/9/4 8/2/4
|
||||
f 4/14/5 3/15/5 11/12/5 8/2/5 5/1/5 12/16/5
|
||||
f 12/16/3 5/1/3 9/7/3
|
||||
f 4/11/6 2/17/6 1/5/6 3/13/6
|
||||
f 4/11/3 12/16/3 9/7/3
|
||||
f 3/13/4 1/5/4 10/10/4
|
||||
f 10/10/4 8/2/4 11/12/4
|
||||
f 5/1/3 6/8/3 9/7/3
|
25
assets/props/sofa/sofa_frame_back.obj.import
Normal file
25
assets/props/sofa/sofa_frame_back.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://p5abgc2c764"
|
||||
path="res://.godot/imported/sofa_frame_back.obj-daa20e12fe932de857b90d19a05f57b4.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_frame_back.obj-daa20e12fe932de857b90d19a05f57b4.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_frame_back.obj"
|
||||
dest_files=["res://.godot/imported/sofa_frame_back.obj-daa20e12fe932de857b90d19a05f57b4.mesh", "res://.godot/imported/sofa_frame_back.obj-daa20e12fe932de857b90d19a05f57b4.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
12
assets/props/sofa/sofa_frame_base.mtl
Normal file
12
assets/props/sofa/sofa_frame_base.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
51
assets/props/sofa/sofa_frame_base.obj
Normal file
51
assets/props/sofa/sofa_frame_base.obj
Normal file
@ -0,0 +1,51 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_frame_base.mtl
|
||||
o FrameBase
|
||||
v 1.040000 -0.500000 -0.600000
|
||||
v 1.040000 -0.500000 0.600000
|
||||
v -1.040000 -0.500000 -0.600000
|
||||
v -1.040000 -0.500000 0.600000
|
||||
v 1.040000 -0.300000 -0.300000
|
||||
v -1.040000 -0.300000 -0.300000
|
||||
v 1.040000 -0.350000 0.600000
|
||||
v 1.040000 -0.300000 0.550000
|
||||
v -1.040000 -0.300000 0.550000
|
||||
v -1.040000 -0.350000 0.600000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0000 0.8321 -0.5547
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 0.7071 0.7071
|
||||
vt 0.773438 0.054688
|
||||
vt 0.367188 0.054688
|
||||
vt 0.937500 0.054688
|
||||
vt 0.937500 0.468750
|
||||
vt 0.773438 0.468750
|
||||
vt 0.609375 0.054688
|
||||
vt 0.609375 0.468750
|
||||
vt 0.742188 0.546875
|
||||
vt 0.000000 0.289062
|
||||
vt 0.031250 0.281250
|
||||
vt 0.031250 0.710938
|
||||
vt 0.000000 0.703125
|
||||
vt 0.601562 0.054688
|
||||
vt 0.601562 0.468750
|
||||
vt 0.367188 0.468750
|
||||
vt 0.953125 0.046875
|
||||
vt 0.953125 0.476562
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 6/1/1 4/2/1 9/3/1
|
||||
f 9/3/2 8/4/2 5/5/2 6/1/2
|
||||
f 3/6/1 4/2/1 6/1/1
|
||||
f 5/5/3 1/7/3 3/6/3 6/8/3
|
||||
f 2/9/4 7/10/4 10/11/4 4/12/4
|
||||
f 3/13/5 1/14/5 2/15/5 4/2/5
|
||||
f 5/5/6 8/4/6 2/15/6
|
||||
f 8/4/7 9/3/7 10/16/7 7/17/7
|
||||
f 2/15/6 1/7/6 5/5/6
|
||||
f 4/2/1 10/11/1 9/3/1
|
||||
f 7/10/6 2/15/6 8/4/6
|
25
assets/props/sofa/sofa_frame_base.obj.import
Normal file
25
assets/props/sofa/sofa_frame_base.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://c4iypmwtplmbb"
|
||||
path="res://.godot/imported/sofa_frame_base.obj-32658da007f3f052dbe8f2e8ff3bfdcc.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_frame_base.obj-32658da007f3f052dbe8f2e8ff3bfdcc.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_frame_base.obj"
|
||||
dest_files=["res://.godot/imported/sofa_frame_base.obj-32658da007f3f052dbe8f2e8ff3bfdcc.mesh", "res://.godot/imported/sofa_frame_base.obj-32658da007f3f052dbe8f2e8ff3bfdcc.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
12
assets/props/sofa/sofa_frame_middle.mtl
Normal file
12
assets/props/sofa/sofa_frame_middle.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
81
assets/props/sofa/sofa_frame_middle.obj
Normal file
81
assets/props/sofa/sofa_frame_middle.obj
Normal file
@ -0,0 +1,81 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_frame_middle.mtl
|
||||
o FrameMiddle
|
||||
v 1.040000 -0.500000 -0.600000
|
||||
v 1.040000 -0.500000 0.600000
|
||||
v -1.040000 -0.500000 -0.600000
|
||||
v -1.040000 -0.500000 0.600000
|
||||
v 1.040000 -0.300000 -0.300000
|
||||
v -1.040000 -0.300000 -0.300000
|
||||
v -1.040000 0.300000 -0.510000
|
||||
v -1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.600000
|
||||
v 1.040000 0.300000 -0.510000
|
||||
v 1.040000 -0.350000 0.600000
|
||||
v 1.040000 -0.300000 0.550000
|
||||
v -1.040000 -0.300000 0.550000
|
||||
v -1.040000 -0.350000 0.600000
|
||||
v -1.040000 0.050000 -0.600000
|
||||
v 1.040000 0.050000 -0.600000
|
||||
v 1.040000 0.050000 -0.422500
|
||||
v -1.040000 0.050000 -0.422500
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -0.0000 0.3304 0.9439
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vn -0.0000 0.7071 0.7071
|
||||
vt 0.773438 0.054688
|
||||
vt 0.367188 0.054688
|
||||
vt 0.937500 0.054688
|
||||
vt 0.617188 0.546875
|
||||
vt 0.617188 0.960938
|
||||
vt 0.601562 0.960938
|
||||
vt 0.601562 0.546875
|
||||
vt 0.609375 0.468750
|
||||
vt 0.609375 0.054688
|
||||
vt 0.718750 0.054688
|
||||
vt 0.765625 0.054688
|
||||
vt 0.765625 0.468750
|
||||
vt 0.718750 0.468750
|
||||
vt 0.937500 0.468750
|
||||
vt 0.773438 0.468750
|
||||
vt 0.671875 0.960938
|
||||
vt 0.000000 0.289062
|
||||
vt 0.031250 0.281250
|
||||
vt 0.031250 0.710938
|
||||
vt 0.000000 0.703125
|
||||
vt 0.742188 0.546875
|
||||
vt 0.742188 0.960938
|
||||
vt 0.671875 0.546875
|
||||
vt 0.601562 0.054688
|
||||
vt 0.601562 0.468750
|
||||
vt 0.367188 0.468750
|
||||
vt 0.953125 0.046875
|
||||
vt 0.953125 0.476562
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 6/1/1 4/2/1 13/3/1
|
||||
f 7/4/2 10/5/2 9/6/2 8/7/2
|
||||
f 1/8/3 3/9/3 15/10/3 8/11/3 9/12/3 16/13/3
|
||||
f 15/10/1 3/9/1 6/1/1
|
||||
f 13/3/2 12/14/2 5/15/2 6/1/2
|
||||
f 3/9/1 4/2/1 6/1/1
|
||||
f 16/13/4 17/16/4 5/15/4
|
||||
f 16/13/4 9/12/4 10/5/4
|
||||
f 2/17/5 11/18/5 14/19/5 4/20/5
|
||||
f 6/21/6 5/22/6 17/16/6 10/5/6 7/4/6 18/23/6
|
||||
f 3/24/7 1/25/7 2/26/7 4/2/7
|
||||
f 18/23/1 7/4/1 15/10/1
|
||||
f 5/15/4 12/14/4 2/26/4
|
||||
f 12/14/8 13/3/8 14/27/8 11/28/8
|
||||
f 2/26/4 1/8/4 5/15/4
|
||||
f 4/2/1 14/19/1 13/3/1
|
||||
f 11/18/4 2/26/4 12/14/4
|
||||
f 6/1/1 18/23/1 15/10/1
|
||||
f 5/15/4 1/8/4 16/13/4
|
||||
f 16/13/4 10/5/4 17/16/4
|
||||
f 7/4/1 8/11/1 15/10/1
|
25
assets/props/sofa/sofa_frame_middle.obj.import
Normal file
25
assets/props/sofa/sofa_frame_middle.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://dpvf0k6w8dvvk"
|
||||
path="res://.godot/imported/sofa_frame_middle.obj-ff4d918d56fe72b8485db34fce12a392.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_frame_middle.obj-ff4d918d56fe72b8485db34fce12a392.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_frame_middle.obj"
|
||||
dest_files=["res://.godot/imported/sofa_frame_middle.obj-ff4d918d56fe72b8485db34fce12a392.mesh", "res://.godot/imported/sofa_frame_middle.obj-ff4d918d56fe72b8485db34fce12a392.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
12
assets/props/sofa/sofa_top_cushion.mtl
Normal file
12
assets/props/sofa/sofa_top_cushion.mtl
Normal file
@ -0,0 +1,12 @@
|
||||
# Blender 4.3.2 MTL File: 'sofa_parts.blend'
|
||||
# www.blender.org
|
||||
|
||||
newmtl Frame_Material
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.500000
|
||||
d 1.000000
|
||||
illum 2
|
134
assets/props/sofa/sofa_top_cushion.obj
Normal file
134
assets/props/sofa/sofa_top_cushion.obj
Normal file
@ -0,0 +1,134 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib sofa_top_cushion.mtl
|
||||
o TopCushion
|
||||
v 0.294733 -0.216543 0.119762
|
||||
v 0.294733 -0.246275 0.034815
|
||||
v 0.339733 -0.231409 0.077289
|
||||
v 0.294733 -0.273882 0.092154
|
||||
v -0.294733 -0.216543 0.119762
|
||||
v -0.294733 -0.246275 0.034815
|
||||
v -0.294733 -0.273882 0.092155
|
||||
v -0.339733 -0.231409 0.077289
|
||||
v -0.294733 0.270939 -0.098533
|
||||
v -0.294733 0.243331 -0.041193
|
||||
v -0.294733 0.213599 -0.126141
|
||||
v -0.339733 0.228465 -0.083667
|
||||
v 0.294733 0.243331 -0.041194
|
||||
v 0.339733 0.228465 -0.083667
|
||||
v 0.294733 0.213599 -0.126141
|
||||
v 0.294733 0.270939 -0.098533
|
||||
v 0.098244 0.220468 -0.125977
|
||||
v -0.098244 0.220468 -0.125977
|
||||
v -0.098244 0.250200 -0.036001
|
||||
v 0.098244 0.250200 -0.036002
|
||||
v 0.098244 -0.273882 0.105239
|
||||
v -0.098244 -0.273882 0.105239
|
||||
v -0.098244 -0.246275 0.044506
|
||||
v 0.098244 -0.246275 0.044506
|
||||
v 0.098244 -0.216543 0.134481
|
||||
v -0.098244 -0.216543 0.134481
|
||||
v -0.098244 0.277807 -0.096735
|
||||
v 0.098244 0.277807 -0.096735
|
||||
vn -0.0295 -0.3366 -0.9412
|
||||
vn 0.0535 0.3363 0.9402
|
||||
vn 0.5774 -0.3542 0.7357
|
||||
vn 0.5773 -0.7357 -0.3542
|
||||
vn -0.5773 -0.3542 0.7357
|
||||
vn -0.5774 -0.7357 -0.3542
|
||||
vn -0.5774 0.7357 0.3542
|
||||
vn -0.5774 0.3542 -0.7357
|
||||
vn 0.5774 0.7357 0.3542
|
||||
vn 0.5774 0.3542 -0.7357
|
||||
vn 0.7071 -0.2336 -0.6674
|
||||
vn 0.0111 0.4441 -0.8959
|
||||
vn 0.0392 0.9051 0.4233
|
||||
vn 0.0245 -0.9056 -0.4235
|
||||
vn -0.0633 -0.4433 0.8942
|
||||
vn -0.7071 0.2336 0.6674
|
||||
vn -0.7071 -0.2336 -0.6674
|
||||
vn 0.7071 0.2336 0.6674
|
||||
vn 0.0633 -0.4433 0.8942
|
||||
vn -0.0000 -0.4543 0.8908
|
||||
vn -0.0245 -0.9056 -0.4235
|
||||
vn -0.0000 -0.9104 -0.4138
|
||||
vn -0.0392 0.9051 0.4233
|
||||
vn -0.0000 0.9104 0.4138
|
||||
vn -0.0111 0.4441 -0.8959
|
||||
vn -0.0000 0.4543 -0.8908
|
||||
vn -0.0535 0.3363 0.9402
|
||||
vn -0.0000 0.3431 0.9393
|
||||
vn 0.0295 -0.3366 -0.9412
|
||||
vn -0.0000 -0.3431 -0.9393
|
||||
vt 0.343750 0.859375
|
||||
vt 0.304688 0.859375
|
||||
vt 0.304688 0.765625
|
||||
vt 0.343750 0.765625
|
||||
vt 0.343750 0.882812
|
||||
vt 0.343750 0.976562
|
||||
vt 0.304688 0.976562
|
||||
vt 0.304688 0.882812
|
||||
vt 0.296875 0.976562
|
||||
vt 0.304688 0.984375
|
||||
vt 0.289062 0.976562
|
||||
vt 0.296875 0.984375
|
||||
vt 0.421875 0.984375
|
||||
vt 0.421875 0.976562
|
||||
vt 0.429688 0.976562
|
||||
vt 0.437500 0.976562
|
||||
vt 0.429688 0.984375
|
||||
vt 0.421875 0.875000
|
||||
vt 0.429688 0.882812
|
||||
vt 0.421875 0.882812
|
||||
vt 0.437500 0.882812
|
||||
vt 0.429688 0.875000
|
||||
vt 0.304688 0.875000
|
||||
vt 0.296875 0.882812
|
||||
vt 0.289062 0.882812
|
||||
vt 0.296875 0.875000
|
||||
vt 0.343750 0.875000
|
||||
vt 0.382812 0.984375
|
||||
vt 0.421875 1.000000
|
||||
vt 0.382812 1.000000
|
||||
vt 0.382812 0.976562
|
||||
vt 0.343750 0.984375
|
||||
vt 0.343750 1.000000
|
||||
vt 0.304688 1.000000
|
||||
vt 0.382812 0.882812
|
||||
vt 0.382812 0.875000
|
||||
vt 0.382812 0.859375
|
||||
vt 0.421875 0.859375
|
||||
vt 0.382812 0.765625
|
||||
vt 0.421875 0.765625
|
||||
s 0
|
||||
usemtl Frame_Material
|
||||
f 17/1/1 15/2/1 2/3/1 24/4/1
|
||||
f 20/5/2 25/6/2 1/7/2 13/8/2
|
||||
f 3/9/3 1/7/3 4/10/3
|
||||
f 2/11/4 3/9/4 4/12/4
|
||||
f 7/13/5 5/14/5 8/15/5
|
||||
f 6/16/6 7/17/6 8/15/6
|
||||
f 9/18/7 12/19/7 10/20/7
|
||||
f 11/21/8 12/19/8 9/22/8
|
||||
f 16/23/9 13/8/9 14/24/9
|
||||
f 14/24/10 15/25/10 16/26/10
|
||||
f 14/24/11 3/9/11 2/11/11 15/25/11
|
||||
f 28/27/12 16/23/12 15/2/12 17/1/12
|
||||
f 20/5/13 13/8/13 16/23/13 28/27/13
|
||||
f 22/28/14 7/13/14 6/29/14 23/30/14
|
||||
f 26/31/15 5/14/15 7/13/15 22/28/15
|
||||
f 12/19/16 8/15/16 5/14/16 10/20/16
|
||||
f 8/15/17 12/19/17 11/21/17 6/16/17
|
||||
f 3/9/18 14/24/18 13/8/18 1/7/18
|
||||
f 1/7/19 25/6/19 21/32/19 4/10/19
|
||||
f 25/6/20 26/31/20 22/28/20 21/32/20
|
||||
f 4/10/21 21/32/21 24/33/21 2/34/21
|
||||
f 21/32/22 22/28/22 23/30/22 24/33/22
|
||||
f 10/20/23 19/35/23 27/36/23 9/18/23
|
||||
f 19/35/24 20/5/24 28/27/24 27/36/24
|
||||
f 9/18/25 27/36/25 18/37/25 11/38/25
|
||||
f 27/36/26 28/27/26 17/1/26 18/37/26
|
||||
f 10/20/27 5/14/27 26/31/27 19/35/27
|
||||
f 19/35/28 26/31/28 25/6/28 20/5/28
|
||||
f 11/38/29 18/37/29 23/39/29 6/40/29
|
||||
f 18/37/30 17/1/30 24/4/30 23/39/30
|
25
assets/props/sofa/sofa_top_cushion.obj.import
Normal file
25
assets/props/sofa/sofa_top_cushion.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://drr1wn0wmt5bi"
|
||||
path="res://.godot/imported/sofa_top_cushion.obj-4653d502e73ad4501fb84791db9575a5.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/sofa_top_cushion.obj-4653d502e73ad4501fb84791db9575a5.mesh"]
|
||||
|
||||
source_file="res://assets/props/sofa/sofa_top_cushion.obj"
|
||||
dest_files=["res://.godot/imported/sofa_top_cushion.obj-4653d502e73ad4501fb84791db9575a5.mesh", "res://.godot/imported/sofa_top_cushion.obj-4653d502e73ad4501fb84791db9575a5.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
@ -83,6 +83,9 @@ INTERACTIVE_SWITCH_VERB,use
|
||||
INTERACTIVE_WORLDITEM_VERB,"pick up"
|
||||
INTERACTIVE_TANK_LABEL,"Grunk Tank"
|
||||
INTERACTIVE_TANK_VERB,deposit
|
||||
INTERACTIVE_LIFT_ASCEND_LABEL,ascend
|
||||
INTERACTIVE_LIFT_DESCEND_LABEL,descend
|
||||
INTERACTIVE_LIFT_BRAKE_LABEL,brake
|
||||
,
|
||||
ITEM_EYEBALLS_NAME,Eyeballs
|
||||
ITEM_EYEBALLS_DESCRIPTION,"A pair of eyeballs, formerly belonging to the shift supervisor. Could be used with a retinal scanner."
|
||||
@ -90,3 +93,4 @@ ITEM_EYEBALLS_DESCRIPTION,"A pair of eyeballs, formerly belonging to the shift s
|
||||
SWITCH_BULKHEAD_LABEL,"Bulkhead Control"
|
||||
SWITCH_QUARANTINE_LABEL,"Quarantine Override"
|
||||
SWITCH_CARGOBAY_LABEL,"Cargo Bay Security Override"
|
||||
SWITCH_CARGO_LIFT_LABEL,"Cargo Lift Control"
|
||||
|
|
File diff suppressed because one or more lines are too long
@ -400,9 +400,9 @@ transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 3.33603, 0
|
||||
collision_layer = 67
|
||||
collision_mask = 73
|
||||
mass = 200.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Props/CrateLong"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
mesh = ExtResource("22_ug240")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_2ybo5")
|
||||
|
||||
@ -419,9 +419,9 @@ transform = Transform3D(0.612372, 0.612373, 0.5, -0.707107, 0.707106, 1.98952e-1
|
||||
collision_layer = 67
|
||||
collision_mask = 73
|
||||
mass = 200.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Props/CrateLong2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
mesh = ExtResource("22_ug240")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_2ybo5")
|
||||
|
||||
|
1915
levels/ghost_ship/level/cargo_bay/cargo_bay.tscn
Normal file
1915
levels/ghost_ship/level/cargo_bay/cargo_bay.tscn
Normal file
File diff suppressed because it is too large
Load Diff
52
levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.gd
Normal file
52
levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.gd
Normal file
@ -0,0 +1,52 @@
|
||||
class_name CargoLift extends Node3D
|
||||
|
||||
signal at_limit
|
||||
|
||||
const SPEED_SMOOTHING := 1.618
|
||||
const LIMIT_BRAKE_BUFFER := 0.25
|
||||
const LIMIT_BRAKE_FACTOR := 0.2
|
||||
|
||||
@export var progress := 0.0:
|
||||
set = _set_progress
|
||||
|
||||
@export var speed := 0.0
|
||||
@export var target_speed := 0.0
|
||||
|
||||
@export var max_speed := 0.04
|
||||
|
||||
@onready var elevator_path_follow: PathFollow3D = %ElevatorPathFollow
|
||||
|
||||
|
||||
func _set_progress(value: float) -> void:
|
||||
progress = clampf(value, 0.0, 1.0)
|
||||
|
||||
if progress != value:
|
||||
speed = 0
|
||||
target_speed = 0
|
||||
at_limit.emit()
|
||||
|
||||
if elevator_path_follow:
|
||||
elevator_path_follow.progress_ratio = progress
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var weight := 1 - exp(-SPEED_SMOOTHING * delta)
|
||||
var a := 2 * progress - 1
|
||||
var b := clampf(1 - a * a, 0, LIMIT_BRAKE_FACTOR) / LIMIT_BRAKE_FACTOR
|
||||
var limit_factor := max_speed * remap(b, 0, 1, LIMIT_BRAKE_BUFFER, 1)
|
||||
speed = clampf(lerpf(speed, target_speed, weight), -limit_factor, limit_factor)
|
||||
progress += speed * delta
|
||||
|
||||
|
||||
func set_target_speed(value: float) -> void:
|
||||
target_speed = clampf(value, -max_speed, max_speed)
|
||||
|
||||
|
||||
func serialize() -> Dictionary:
|
||||
var state := {"progress": progress}
|
||||
return state
|
||||
|
||||
|
||||
func deserialize(state: Dictionary) -> void:
|
||||
@warning_ignore("unsafe_cast")
|
||||
progress = state["progress"] as float
|
@ -0,0 +1 @@
|
||||
uid://ppfu4vq3ocwk
|
140
levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.tscn
Normal file
140
levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.tscn
Normal file
@ -0,0 +1,140 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://b21fp0ko055os"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ppfu4vq3ocwk" path="res://levels/ghost_ship/level/cargo_bay/elevator/cargo_lift.gd" id="1_extwr"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cpspkxu1ntdv7" path="res://levels/ghost_ship/level/cargo_bay/elevator_shaft.obj" id="2_1wrn3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bd52xpmm3oqw" path="res://assets/props/bulkhead/bulkhead_door_C.png" id="3_yvqws"]
|
||||
[ext_resource type="Texture2D" uid="uid://dk4sm780p6jfc" path="res://assets/props/bulkhead/bulkhead_door_N.png" id="4_m31fx"]
|
||||
[ext_resource type="Texture2D" uid="uid://rjuyd20y2ov1" path="res://assets/props/bulkhead/bulkhead_door_R.png" id="5_ej4kt"]
|
||||
[ext_resource type="Script" uid="uid://dr4s44i63h1nw" path="res://levels/ghost_ship/level/cargo_bay/elevator/rumble_zone.gd" id="6_il20m"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="7_esw7b"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbmi28batmn0p" path="res://levels/ghost_ship/level/cargo_bay/elevator/elevator_control.tscn" id="8_g20so"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_extwr"]
|
||||
data = PackedVector3Array(0, 3, 0, 0, -0.0001, 0, 0, 3, -9.0002, 0, 3, -9.0002, 0, -0.0001, 0, 0, -0.0001, -9.0002, 0, -0.0001, -9.0002, 0, -0.0001, -11.0002, 0, 3, -9.0002, 0, -0.0001, 0, 0, -24.0003, -25, 0, -0.0001, -9.0002, 0, -0.0001, -9.0002, 0, -24.0003, -25, 0, -0.0001, -11.0002, 0, -24.0003, -16.0002, 0, -24.0003, -25, 0, -0.0001, 0, 0, -0.0001, -11.0002, 0, -24.0003, -25, 0, -15.0001, -21.0002, 0, -15.0001, -21.0002, 0, -24.0003, -25, 0, -21.0002, -25, 0, -15.0001, -25, 0, -15.0001, -21.0002, 0, -21.0002, -25, 0, -24.0003, -16.0002, 0, -0.0001, 0, -6, -24.0003, -16.0002, -6, -24.0003, -16.0002, 0, -0.0001, 0, -6, -15.0001, -10, -6, -15.0001, -10, 0, -0.0001, 0, -6, -0.0001, 0, 0, -24.0003, -16.0002, -6, -24.0003, -16.0002, 0, -25.2, -16.0002, 0, -25.2, -16.0002, -6, -24.0003, -16.0002, -6, -25.2, -16.0002, -6, -0.0001, 0, -6, -0.0001, -9.0002, -6, -15.0001, -10, -6, -15.0001, -10, -6, -0.0001, -9.0002, -6, -15.0001, -16.0002, -6, -15.0001, -16.0002, -6, -24.0003, -16.0002, -6, -15.0001, -10, -6, -15.0001, -16.0002, -6, -0.0001, -9.0002, -6, -15.0001, -21.0002, -6, -15.0001, -21.0002, -6, -0.0001, -9.0002, -6, -0.0001, -11.0002, -6, -0.0001, -9.0002, -6, 3, -9.0002, -6, -0.0001, -11.0002, 0, -25.2, -22.0001, 0, -25.2, -16.0002, -6, -25.2, -22.0001, -6, -25.2, -22.0001, 0, -25.2, -16.0002, -6, -25.2, -16.0002, -6, -24.0003, -25, 0, -24.0003, -25, -6, -25.2, -22.0001, -6, -25.2, -22.0001, 0, -24.0003, -25, 0, -25.2, -22.0001, -6, -24.0003, -16.0002, -6, -24.0003, -25, -6, -25.2, -16.0002, -6, -25.2, -16.0002, -6, -24.0003, -25, -6, -25.2, -22.0001, 0, -24.0003, -25, 0, -24.0003, -16.0002, 0, -25.2, -22.0001, 0, -25.2, -22.0001, 0, -24.0003, -16.0002, 0, -25.2, -16.0002, -6, -15.0001, -21.0002, -6, -0.0001, -11.0002, 0, -15.0001, -21.0002, 0, -15.0001, -21.0002, -6, -0.0001, -11.0002, 0, -0.0001, -11.0002, 0, -0.0001, -11.0002, -6, -0.0001, -11.0002, 0, 3, -9.0002, 0, 3, -9.0002, -6, -0.0001, -11.0002, -6, 3, -9.0002)
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_54or8"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -24, 0),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54or8"]
|
||||
albedo_texture = ExtResource("3_yvqws")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("3_yvqws")
|
||||
roughness_texture = ExtResource("5_ej4kt")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("4_m31fx")
|
||||
uv1_scale = Vector3(9, 6, 1)
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_qo5rw"]
|
||||
material = SubResource("StandardMaterial3D_54or8")
|
||||
size = Vector3(6, 1, 6)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_wg450"]
|
||||
size = Vector3(6, 1, 6)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_egxej"]
|
||||
size = Vector3(6, 0.2, 6)
|
||||
|
||||
[node name="CargoLift" type="Node3D" groups=["Persistent"]]
|
||||
script = ExtResource("1_extwr")
|
||||
|
||||
[node name="Shaft" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.5, 0, -3)
|
||||
mesh = ExtResource("2_1wrn3")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Shaft"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Shaft/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_extwr")
|
||||
|
||||
[node name="ElevatorPath" type="Path3D" parent="."]
|
||||
curve = SubResource("Curve3D_54or8")
|
||||
|
||||
[node name="ElevatorPathFollow" type="PathFollow3D" parent="ElevatorPath"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-1.62921e-07, -0.83205, 0.5547, 0, 0.5547, 0.83205, -1, 1.35558e-07, -9.03721e-08, 0, 0, 0)
|
||||
loop = false
|
||||
|
||||
[node name="ElevatorPlatform" type="Node3D" parent="ElevatorPath/ElevatorPathFollow"]
|
||||
transform = Transform3D(-1.62921e-07, 0, -1, -0.83205, 0.5547, 1.35558e-07, 0.5547, 0.83205, -9.03721e-08, 0, 0, 0)
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, -0.5, 0)
|
||||
gi_mode = 0
|
||||
mesh = SubResource("BoxMesh_qo5rw")
|
||||
skeleton = NodePath("../../../..")
|
||||
|
||||
[node name="AnimatableBody3D" type="AnimatableBody3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
|
||||
transform = Transform3D(1, -7.0682e-27, -2.71051e-20, 4.06422e-26, 1, 0, 0, 1.69407e-21, 1, 0, 0, 0)
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/AnimatableBody3D"]
|
||||
shape = SubResource("BoxShape3D_wg450")
|
||||
|
||||
[node name="RemoteTransform3D" type="RemoteTransform3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
|
||||
remote_path = NodePath("../AnimatableBody3D")
|
||||
|
||||
[node name="RumbleZone" type="Area3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 8
|
||||
script = ExtResource("6_il20m")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
|
||||
shape = SubResource("BoxShape3D_egxej")
|
||||
|
||||
[node name="Railing" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, 1.5)
|
||||
gi_mode = 0
|
||||
skeleton = NodePath("../../../..")
|
||||
|
||||
[node name="Railing2" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, -1.5)
|
||||
gi_mode = 0
|
||||
skeleton = NodePath("../../../..")
|
||||
|
||||
[node name="ControlConsole" type="Node3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0.5, -1.4)
|
||||
|
||||
[node name="ConsoleBase" type="CSGCombiner3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole"]
|
||||
gi_mode = 0
|
||||
use_collision = true
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="BaseBox" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.55)
|
||||
gi_mode = 0
|
||||
use_collision = true
|
||||
size = Vector3(1, 1, 2.1)
|
||||
|
||||
[node name="ControlPanel" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
|
||||
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.6, 0.6, 0)
|
||||
gi_mode = 0
|
||||
operation = 2
|
||||
|
||||
[node name="SlideNotch" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
|
||||
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.269205, 0.330795, 0)
|
||||
gi_mode = 0
|
||||
operation = 2
|
||||
size = Vector3(0.4, 0.2, 0.02)
|
||||
|
||||
[node name="ElevatorControl" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole" instance=ExtResource("8_g20so")]
|
||||
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.225, 0.285, 0)
|
||||
|
||||
[node name="Railing" parent="." instance=ExtResource("7_esw7b")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 3)
|
||||
|
||||
[connection signal="at_limit" from="." to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" method="on_set_mid"]
|
||||
[connection signal="body_exited" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" method="_on_body_exited"]
|
||||
[connection signal="set_high" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [-1.0]]
|
||||
[connection signal="set_low" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [1.0]]
|
||||
[connection signal="set_mid" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" to="." method="set_target_speed" binds= [0.0]]
|
@ -0,0 +1,46 @@
|
||||
extends Node3D
|
||||
|
||||
signal set_low
|
||||
signal set_mid
|
||||
signal set_high
|
||||
|
||||
enum State {
|
||||
LOW,
|
||||
MID,
|
||||
HIGH,
|
||||
}
|
||||
|
||||
const TWEEN_TIME := 1.618
|
||||
|
||||
@export var state := State.MID
|
||||
|
||||
@onready var control_slide_path_follow: PathFollow3D = %ControlSlidePathFollow
|
||||
|
||||
|
||||
func tween_slide_position(pct: float) -> Tween:
|
||||
var tween := create_tween()
|
||||
(
|
||||
tween
|
||||
. tween_property(control_slide_path_follow, "progress_ratio", pct, TWEEN_TIME)
|
||||
. set_trans(Tween.TRANS_BACK)
|
||||
. set_ease(Tween.EASE_IN_OUT)
|
||||
)
|
||||
return tween
|
||||
|
||||
|
||||
func on_set_high() -> void:
|
||||
if state != State.HIGH:
|
||||
state = State.HIGH
|
||||
tween_slide_position(1).tween_callback(set_high.emit)
|
||||
|
||||
|
||||
func on_set_mid() -> void:
|
||||
if state != State.MID:
|
||||
state = State.MID
|
||||
tween_slide_position(0.5).tween_callback(set_mid.emit)
|
||||
|
||||
|
||||
func on_set_low() -> void:
|
||||
if state != State.LOW:
|
||||
state = State.LOW
|
||||
tween_slide_position(0).tween_callback(set_low.emit)
|
@ -0,0 +1 @@
|
||||
uid://dsh2jckqof1lh
|
@ -0,0 +1,89 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://bbmi28batmn0p"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="1_4m3mp"]
|
||||
[ext_resource type="Script" uid="uid://dsh2jckqof1lh" path="res://levels/ghost_ship/level/cargo_bay/elevator/elevator_control.gd" id="1_rhd4r"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_wg450"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0, 0),
|
||||
"tilts": PackedFloat32Array(0, 0)
|
||||
}
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_wg450"]
|
||||
size = Vector3(0.06, 0.06, 0.2)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ho6u3"]
|
||||
size = Vector3(0.15, 0.1, 0.3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_egxej"]
|
||||
size = Vector3(0.15, 0.1, 0.3)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_jgw86"]
|
||||
size = Vector3(0.15, 0.1, 0.3)
|
||||
|
||||
[node name="ElevatorControl" type="Node3D"]
|
||||
script = ExtResource("1_rhd4r")
|
||||
|
||||
[node name="ControlSlidePath" type="Path3D" parent="."]
|
||||
curve = SubResource("Curve3D_wg450")
|
||||
|
||||
[node name="ControlSlidePathFollow" type="PathFollow3D" parent="ControlSlidePath"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
|
||||
progress = 0.2
|
||||
loop = false
|
||||
|
||||
[node name="ControlSlide" type="MeshInstance3D" parent="ControlSlidePath/ControlSlidePathFollow"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
|
||||
gi_mode = 0
|
||||
mesh = SubResource("BoxMesh_wg450")
|
||||
skeleton = NodePath("../../../..")
|
||||
|
||||
[node name="HighInteractor" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, 2.38419e-07, 0)
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="HighInteractor"]
|
||||
shape = SubResource("BoxShape3D_ho6u3")
|
||||
|
||||
[node name="Interactive" type="Node" parent="HighInteractor"]
|
||||
script = ExtResource("1_4m3mp")
|
||||
enabled = true
|
||||
label = "SWITCH_CARGO_LIFT_LABEL"
|
||||
verb = "INTERACTIVE_LIFT_ASCEND_LABEL"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="MidInteractor" type="StaticBody3D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MidInteractor"]
|
||||
shape = SubResource("BoxShape3D_egxej")
|
||||
|
||||
[node name="Interactive" type="Node" parent="MidInteractor"]
|
||||
script = ExtResource("1_4m3mp")
|
||||
enabled = true
|
||||
label = "SWITCH_CARGO_LIFT_LABEL"
|
||||
verb = "INTERACTIVE_LIFT_BRAKE_LABEL"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="LowInteractor" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.15, 2.38419e-07, 0)
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="LowInteractor"]
|
||||
shape = SubResource("BoxShape3D_jgw86")
|
||||
|
||||
[node name="Interactive" type="Node" parent="LowInteractor"]
|
||||
script = ExtResource("1_4m3mp")
|
||||
enabled = true
|
||||
label = "SWITCH_CARGO_LIFT_LABEL"
|
||||
verb = "INTERACTIVE_LIFT_DESCEND_LABEL"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[connection signal="activated" from="HighInteractor/Interactive" to="." method="on_set_high"]
|
||||
[connection signal="activated" from="MidInteractor/Interactive" to="." method="on_set_mid"]
|
||||
[connection signal="activated" from="LowInteractor/Interactive" to="." method="on_set_low"]
|
22
levels/ghost_ship/level/cargo_bay/elevator/rumble_zone.gd
Normal file
22
levels/ghost_ship/level/cargo_bay/elevator/rumble_zone.gd
Normal file
@ -0,0 +1,22 @@
|
||||
extends Area3D
|
||||
|
||||
@export var rumble_factor := 0.1
|
||||
|
||||
@onready var cargo_lift := owner as CargoLift
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if not has_overlapping_bodies():
|
||||
return
|
||||
|
||||
var player := get_overlapping_bodies()[0] as Player
|
||||
if not player:
|
||||
return
|
||||
|
||||
player.camera_rumble = rumble_factor * abs(cargo_lift.speed)
|
||||
|
||||
|
||||
func _on_body_exited(body: Node3D) -> void:
|
||||
var player := body as Player
|
||||
if player:
|
||||
player.camera_rumble = 0
|
@ -0,0 +1 @@
|
||||
uid://dr4s44i63h1nw
|
2
levels/ghost_ship/level/cargo_bay/elevator_shaft.mtl
Normal file
2
levels/ghost_ship/level/cargo_bay/elevator_shaft.mtl
Normal file
@ -0,0 +1,2 @@
|
||||
# Blender 4.3.2 MTL File: 'elevator_shaft.blend'
|
||||
# www.blender.org
|
96
levels/ghost_ship/level/cargo_bay/elevator_shaft.obj
Normal file
96
levels/ghost_ship/level/cargo_bay/elevator_shaft.obj
Normal file
@ -0,0 +1,96 @@
|
||||
# Blender 4.3.2
|
||||
# www.blender.org
|
||||
mtllib elevator_shaft.mtl
|
||||
o Geometry
|
||||
v 0.000000 0.000000 0.000000
|
||||
v -0.000000 3.000000 0.000000
|
||||
v 0.000000 0.000000 -9.000000
|
||||
v -0.000000 3.000000 -9.000000
|
||||
v -6.000000 0.000000 0.000000
|
||||
v -6.000000 0.000000 -9.000000
|
||||
v -6.000000 3.000000 -9.000000
|
||||
v 0.000000 -24.000000 -16.000000
|
||||
v -0.000000 -21.000000 -25.000000
|
||||
v -6.000000 -24.000000 -16.000000
|
||||
v -6.000000 -15.000000 -16.000000
|
||||
v 0.000000 -24.000000 -25.000000
|
||||
v -6.000000 -15.000000 -21.000000
|
||||
v -6.000000 -15.000000 -10.000000
|
||||
v -0.000000 -15.000000 -21.000000
|
||||
v -6.000000 -24.000000 -25.000000
|
||||
v 0.000000 -25.200001 -22.000000
|
||||
v 0.000000 -25.200001 -16.000000
|
||||
v -6.000000 -25.200001 -22.000000
|
||||
v -6.000000 -25.200001 -16.000000
|
||||
v -0.000000 -15.000000 -25.000000
|
||||
v -0.000000 0.000000 -11.000000
|
||||
v -6.000000 0.000000 -11.000000
|
||||
v -6.000000 -15.000000 -22.000000
|
||||
v -0.000000 -15.000000 -22.000000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 0.5547 -0.8321
|
||||
vn -0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn -0.0000 1.0000 -0.0000
|
||||
vn -0.0000 0.9285 0.3714
|
||||
vn -0.0000 -0.5547 0.8321
|
||||
vn -0.0000 -1.0000 -0.0000
|
||||
vt 0.000193 0.065669
|
||||
vt 0.043844 0.000193
|
||||
vt 0.240271 0.131145
|
||||
vt 0.196620 0.196620
|
||||
vt 0.568422 0.756802
|
||||
vt 0.568422 0.000193
|
||||
vt 0.725806 0.000193
|
||||
vt 0.725806 0.283921
|
||||
vt 0.725806 0.756802
|
||||
vt 0.240271 0.225721
|
||||
vt 0.726192 0.813096
|
||||
vt 0.726192 0.655712
|
||||
vt 0.757669 0.655712
|
||||
vt 0.757669 0.813096
|
||||
vt 0.524385 0.625850
|
||||
vt 0.327958 0.756802
|
||||
vt 0.327958 0.283921
|
||||
vt 0.458909 0.196620
|
||||
vt 0.568036 0.123869
|
||||
vt 0.568036 0.596750
|
||||
vt 0.196620 0.953229
|
||||
vt 0.000193 0.822278
|
||||
vt 0.240271 0.698601
|
||||
vt 0.240271 0.887753
|
||||
vt 0.915053 0.655712
|
||||
vt 0.915053 0.813096
|
||||
vt 0.999807 0.655712
|
||||
vt 0.999807 0.813096
|
||||
vt 0.780616 0.900773
|
||||
vt 0.768925 0.871547
|
||||
vt 0.780616 0.568036
|
||||
vt 0.768925 0.597261
|
||||
vt 0.327958 0.000193
|
||||
vt 0.283921 0.727701
|
||||
vt 0.327572 0.756802
|
||||
vt 0.568036 0.691326
|
||||
vt 0.883576 0.094769
|
||||
vt 0.883576 0.567650
|
||||
vt 0.726192 0.567650
|
||||
vt 0.726192 0.094769
|
||||
vt 0.726192 0.000193
|
||||
vt 0.883576 0.000193
|
||||
vt 0.000000 0.000000
|
||||
s 0
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 1/5/2 8/6/2 10/7/2 14/8/2 5/9/2
|
||||
f 22/10/1 3/4/1 4/3/1
|
||||
f 10/11/3 8/12/3 18/13/3 20/14/3
|
||||
f 6/15/4 5/16/4 14/17/4 11/18/4 13/19/4 23/20/4
|
||||
f 12/21/1 8/22/1 1/1/1 3/4/1 22/10/1 15/23/1 9/24/1
|
||||
f 18/13/5 17/25/5 19/26/5 20/14/5
|
||||
f 12/27/6 16/28/6 19/26/6 17/25/6
|
||||
f 16/28/4 10/29/4 20/30/4 19/26/4
|
||||
f 8/31/1 12/27/1 17/25/1 18/32/1
|
||||
f 10/33/4 11/18/4 14/17/4
|
||||
f 15/23/1 25/34/1 21/35/1 9/24/1
|
||||
f 7/36/4 6/15/4 23/20/4
|
||||
f 23/37/7 13/38/7 15/39/7 22/40/7 4/41/7 7/42/7
|
||||
f 25/34/8 15/23/8 13/38/8 24/43/8
|
25
levels/ghost_ship/level/cargo_bay/elevator_shaft.obj.import
Normal file
25
levels/ghost_ship/level/cargo_bay/elevator_shaft.obj.import
Normal file
@ -0,0 +1,25 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://cpspkxu1ntdv7"
|
||||
path="res://.godot/imported/elevator_shaft.obj-0a9730006b9c6be02074b42bd7e7d5da.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/elevator_shaft.obj-0a9730006b9c6be02074b42bd7e7d5da.mesh"]
|
||||
|
||||
source_file="res://levels/ghost_ship/level/cargo_bay/elevator_shaft.obj"
|
||||
dest_files=["res://.godot/imported/elevator_shaft.obj-0a9730006b9c6be02074b42bd7e7d5da.mesh", "res://.godot/imported/elevator_shaft.obj-0a9730006b9c6be02074b42bd7e7d5da.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
generate_lods=true
|
||||
generate_shadow_mesh=true
|
||||
generate_lightmap_uv2=false
|
||||
generate_lightmap_uv2_texel_size=0.2
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
force_disable_mesh_compression=false
|
@ -127,12 +127,15 @@ source_gunk_material = ExtResource("5_hwbyh")
|
||||
|
||||
[node name="PhysCrateLong" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysCrateLong2" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysCrateLong3" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9)
|
||||
sleeping = true
|
||||
|
||||
[node name="FloatingDust" parent="Hallway1" instance=ExtResource("8_t14hf")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
@ -259,6 +262,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5)
|
||||
|
||||
[node name="PhysCrateLong" parent="Hallway3" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6)
|
||||
sleeping = true
|
||||
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0, -7.5)
|
||||
|
@ -1,9 +1,8 @@
|
||||
[gd_scene load_steps=38 format=4 uid="uid://6mggsi84ok1n"]
|
||||
[gd_scene load_steps=48 format=4 uid="uid://6mggsi84ok1n"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="1_ka7sa"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="3_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://rykf34p8n8x6" path="res://src/props/overhead_light/burnout_light.tscn" id="4_6qtqj"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="4_650i1"]
|
||||
[ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="5_650i1"]
|
||||
[ext_resource type="Texture2D" uid="uid://duvfb656uahuu" path="res://assets/level/guide_signs/guide_sign_mess_hall_C.png" id="6_o070x"]
|
||||
@ -13,13 +12,19 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cjm8vlxnejx3w" path="res://assets/props/guide_sign/guide_sign_R.png" id="10_ikww0"]
|
||||
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="11_iefrw"]
|
||||
[ext_resource type="PackedScene" uid="uid://bpsiwx1517pk1" path="res://src/props/tarp_crate/tarp_crate.tscn" id="12_vtfca"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="13_q6b8v"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b17naqcl4ie21" path="res://assets/level/floor/floor_1.mesh" id="14_ihtb8"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="14_tgb37"]
|
||||
[ext_resource type="Material" uid="uid://dt73a25l7h8if" path="res://levels/ghost_ship/guide_sign/crew_quarters_sign.material" id="15_ygcwo"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b3f5p4o7qr1mf" path="res://assets/level/t-junction/t-junction_2.mesh" id="16_0fxnd"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dbgk0kdg1vufk" path="res://assets/level/ceiling/ceiling_1.mesh" id="16_cnewm"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="17_ka7sa"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="17_wqkax"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="19_j48oc"]
|
||||
[ext_resource type="PackedScene" uid="uid://kctp5erogwcb" path="res://src/world/mechanics/listener/listener.tscn" id="22_arxka"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://d0sdsir1hqnbu" path="res://assets/level/wall/wall_4.mesh" id="23_7ox1u"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgeg3kkogm71m" path="res://src/world/mechanics/alarm/gunk_alarm.tscn" id="23_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="24_6qtqj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bttust5ohud8e" path="res://src/world/mechanics/relay/gunk_relay.tscn" id="25_osdhu"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
@ -108,6 +113,18 @@ texture_filter = 4
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ft6k"]
|
||||
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_arxka"]
|
||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_osdhu"]
|
||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_6qtqj"]
|
||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_650i1"]
|
||||
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_fkhf3"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.7, -0.28, -0.14, 1.4, 0.28, 0.28),
|
||||
@ -142,6 +159,23 @@ shadow_mesh = SubResource("ArrayMesh_fkhf3")
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_7ctwk"]
|
||||
data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14)
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ihtb8"]
|
||||
emission_shape_offset = Vector3(0, 0, 1.5)
|
||||
emission_shape = 3
|
||||
emission_box_extents = Vector3(1.5, 1.5, 3)
|
||||
direction = Vector3(0, -1, 0)
|
||||
spread = 100.0
|
||||
initial_velocity_min = 0.05
|
||||
initial_velocity_max = 0.15
|
||||
gravity = Vector3(0, 0, 0)
|
||||
scale_curve = SubResource("CurveTexture_5ac7v")
|
||||
color_ramp = SubResource("GradientTexture1D_08px8")
|
||||
alpha_curve = SubResource("CurveTexture_mcskc")
|
||||
turbulence_enabled = true
|
||||
turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 0.3
|
||||
turbulence_influence_min = 0.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_if0c2"]
|
||||
data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5)
|
||||
|
||||
@ -172,7 +206,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
process_material = SubResource("ParticleProcessMaterial_6giaa")
|
||||
|
||||
[node name="BurnoutLight" parent="Hallway1" instance=ExtResource("4_6qtqj")]
|
||||
[node name="OverheadLight" parent="Hallway1" instance=ExtResource("14_tgb37")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.2)
|
||||
|
||||
[node name="MessHallSign" type="MeshInstance3D" parent="Hallway1"]
|
||||
@ -197,49 +231,100 @@ source_gunk_material = ExtResource("11_iefrw")
|
||||
[node name="TarpCrate" parent="Hallway1" instance=ExtResource("12_vtfca")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.8, -0.33)
|
||||
|
||||
[node name="Hallway2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 7.5, 0, -12)
|
||||
mesh = ExtResource("13_q6b8v")
|
||||
skeleton = NodePath("")
|
||||
[node name="ShortHallway6" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 1.06581e-14, 0, 1, 0, -1.06581e-14, 0, 1, 3, 0, -12)
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
mesh = ExtResource("14_ihtb8")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_arxka")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
[node name="Gunkable" parent="ShortHallway6/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_650i1")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway2" instance=ExtResource("3_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
process_material = SubResource("ParticleProcessMaterial_6giaa")
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("16_cnewm")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="OverheadLight" parent="Hallway2" instance=ExtResource("14_tgb37")]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3, -1.5)
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CrewQuartersSign" type="MeshInstance3D" parent="Hallway2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4.5)
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_osdhu")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("17_ka7sa")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6qtqj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("17_ka7sa")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_650i1")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="CrewQuartersSign" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 3, 0)
|
||||
gi_mode = 2
|
||||
mesh = SubResource("ArrayMesh_f0psm")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2/CrewQuartersSign"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/CrewQuartersSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/CrewQuartersSign/StaticBody3D"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/CrewQuartersSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_7ctwk")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
[node name="Gunkable" parent="ShortHallway6/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
|
||||
[node name="FloatingDust" parent="ShortHallway6" instance=ExtResource("3_osdhu")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -1.52, 3, 3, 6)
|
||||
process_material = SubResource("ParticleProcessMaterial_ihtb8")
|
||||
|
||||
[node name="T-Junction1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -12)
|
||||
mesh = ExtResource("16_0fxnd")
|
||||
@ -260,9 +345,11 @@ source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="PhysCrateLong" parent="T-Junction1" instance=ExtResource("19_j48oc")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.6, 0.25, 1)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysCrateLong2" parent="T-Junction1" instance=ExtResource("19_j48oc")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.599998, 0.75, 1)
|
||||
sleeping = true
|
||||
|
||||
[node name="EndCap" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -1.5, 1.5, -12)
|
||||
@ -281,3 +368,367 @@ mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="Trap1" type="Node3D" parent="."]
|
||||
|
||||
[node name="Listener" parent="Trap1" instance=ExtResource("22_arxka")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 1.5, -13.5)
|
||||
|
||||
[node name="Listener2" parent="Trap1" instance=ExtResource("22_arxka")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 1.47059, 2.39896, -13.5)
|
||||
|
||||
[node name="Listener3" parent="Trap1" instance=ExtResource("22_arxka")]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 2.99441, 0.534727, -13.5)
|
||||
|
||||
[node name="GunkAlarm" parent="Trap1" instance=ExtResource("23_osdhu")]
|
||||
transform = Transform3D(-0.924466, -0.381264, 0, 0.381264, -0.924466, 0, 0, 0, 1, -0.281292, 2.80475, -3.80331)
|
||||
|
||||
[node name="GrunkNodule" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.129091, 0.93947, -1.28869, 1.54309, -0.252938, -0.338969, -0.402756, -1.2702, -0.885646, 1.15611, 0.592172, -8.1)
|
||||
durability = 4.8
|
||||
value = 3200.0
|
||||
|
||||
[node name="GrunkNodule2" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.385051, -0.367708, -0.276634, 0.0941193, 0.416023, -0.421979, 0.450419, 0.227412, 0.324664, -1.24459, 0.592172, -8.1)
|
||||
durability = 1.8
|
||||
value = 1200.0
|
||||
|
||||
[node name="GrunkNodule4" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.284492, -0.0939734, -0.0152782, -0.0237271, 0.116604, -0.275392, 0.0922033, -0.259947, -0.118008, -0.846056, 0.0316244, -7.2448)
|
||||
durability = 0.9
|
||||
value = 600.0
|
||||
|
||||
[node name="GrunkNodule5" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.389736, -0.092174, -0.446777, -0.00582302, -0.586572, 0.126094, -0.456149, 0.086242, 0.380119, -1.50946, 0.0316244, -1.99769)
|
||||
durability = 1.8
|
||||
value = 1200.0
|
||||
|
||||
[node name="GrunkNodule12" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.0589638, -0.0959031, 0.165305, -0.108771, 0.1254, 0.11155, -0.157137, -0.12279, -0.0151872, -1.33773, 0.0316244, -1.42569)
|
||||
durability = 0.6
|
||||
value = 400.0
|
||||
|
||||
[node name="GrunkNodule14" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.0589638, -0.0959031, 0.165305, -0.108771, 0.1254, 0.11155, -0.157137, -0.12279, -0.0151872, -1.33773, 0.0316244, -1.42569)
|
||||
durability = 0.6
|
||||
value = 400.0
|
||||
|
||||
[node name="GrunkNodule13" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.0998845, -0.15746, -0.0723155, 0.168988, 0.0700808, 0.0808183, -0.0382885, -0.101465, 0.168044, -0.930789, 0.0316244, -1.79292)
|
||||
durability = 0.6
|
||||
value = 400.0
|
||||
|
||||
[node name="GrunkNodule15" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.060409, 0.0370967, 0.187015, 0.169431, -0.0795144, 0.0705018, 0.0874288, 0.179726, -0.00740981, -0.981067, 0.0316244, -1.3948)
|
||||
durability = 0.6
|
||||
value = 400.0
|
||||
|
||||
[node name="GrunkNodule6" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.287188, -0.0651365, -0.0572728, -0.0461396, 0.0530116, -0.291652, 0.0734444, 0.288005, 0.0407298, -1.50946, 0.713218, -2.46436)
|
||||
durability = 0.9
|
||||
value = 600.0
|
||||
|
||||
[node name="GrunkNodule7" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.398309, 0.0320241, -0.0180094, -0.0184959, -0.00536085, 0.399536, 0.0317456, 0.39868, 0.00681897, -1.50946, 1.22011, -3.20858)
|
||||
durability = 1.2
|
||||
value = 800.0
|
||||
|
||||
[node name="GrunkNodule16" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.148598, -0.317132, 0.356855, 0.0692841, 0.35546, 0.344743, -0.472354, 0.151905, -0.0616971, -1.50946, 1.76531, -3.49092)
|
||||
durability = 1.5
|
||||
|
||||
[node name="GrunkNodule17" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.244401, 0.173869, 0.00615572, -0.117969, -0.173418, 0.214499, 0.127874, 0.172325, 0.209648, -1.50946, 1.19883, -2.61776)
|
||||
durability = 0.9
|
||||
value = 600.0
|
||||
|
||||
[node name="GrunkNodule8" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.0374856, 0.246553, -0.166753, -0.0719251, -0.155586, -0.246211, -0.288828, 0.0707435, 0.0396704, -1.50946, 1.65213, -2.56332)
|
||||
durability = 0.9
|
||||
value = 600.0
|
||||
|
||||
[node name="GrunkNodule9" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.230447, -0.180496, -0.0656895, -0.190865, 0.20367, 0.10995, -0.0215555, 0.126252, -0.271286, -1.50946, 2.22459, -3.33432)
|
||||
durability = 0.9
|
||||
value = 600.0
|
||||
|
||||
[node name="GrunkNodule10" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.202786, -0.53721, -0.17402, -0.5422, 0.236898, -0.0994915, 0.157788, 0.12363, -0.565525, -1.50946, 2.01752, -4.15855)
|
||||
durability = 1.8
|
||||
value = 1200.0
|
||||
|
||||
[node name="GrunkNodule11" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(0.68553, 0.0234689, -0.139635, -0.139196, -0.0147913, -0.685861, -0.0259454, 0.69945, -0.00981866, -1.50946, 2.87161, -4.7118)
|
||||
durability = 2.1
|
||||
value = 1400.0
|
||||
|
||||
[node name="GrunkNodule3" parent="Trap1" instance=ExtResource("24_6qtqj")]
|
||||
transform = Transform3D(-0.347612, -0.299678, 0.386469, -0.464305, 0.351136, -0.145343, -0.153579, -0.383271, -0.435335, -1.48004, 0.385754, -6.9758)
|
||||
durability = 1.8
|
||||
value = 1200.0
|
||||
|
||||
[node name="Network1" type="Node3D" parent="Trap1"]
|
||||
|
||||
[node name="GunkRelay" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, -13.0493)
|
||||
|
||||
[node name="GunkRelay2" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.85262, 0, -12.7507)
|
||||
|
||||
[node name="GunkRelay3" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.27987, 0, -11.4839)
|
||||
|
||||
[node name="GunkRelay4" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.268677, 0, -12.323)
|
||||
|
||||
[node name="GunkRelay8" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.27745, -1.19209e-07, -13.057)
|
||||
|
||||
[node name="GunkRelay21" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.384, 0.309133, -13.5)
|
||||
|
||||
[node name="GunkRelay22" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.330972, 0.986112, -13.5)
|
||||
|
||||
[node name="GunkRelay5" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3429, 0, -11.2099)
|
||||
|
||||
[node name="GunkRelay6" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.431018, 0, -10.5269)
|
||||
|
||||
[node name="GunkRelay7" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.537845, 0, -9.98025)
|
||||
|
||||
[node name="GunkRelay9" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.26043, 0, -9.56178)
|
||||
|
||||
[node name="GunkRelay10" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 0.759, -9.198)
|
||||
|
||||
[node name="GunkRelay11" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.29208, -8.85326)
|
||||
|
||||
[node name="GunkRelay12" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 1.89174, -9.22073)
|
||||
|
||||
[node name="GunkRelay13" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 2.14446, -8.31113)
|
||||
|
||||
[node name="GunkRelay14" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 2.70379, -8.9493)
|
||||
|
||||
[node name="GunkRelay15" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.05392, 3, -8.31037)
|
||||
|
||||
[node name="GunkRelay16" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.484272, 3, -7.24079)
|
||||
|
||||
[node name="GunkRelay17" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.887744, 3, -6.33582)
|
||||
|
||||
[node name="GunkRelay18" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.231388, 3, -5.51369)
|
||||
|
||||
[node name="GunkRelay19" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.638371, 3, -4.817)
|
||||
|
||||
[node name="GunkRelay20" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.788889, 3, -4.15846)
|
||||
|
||||
[node name="GunkRelay23" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.936548, 2.6204, -13.5)
|
||||
|
||||
[node name="GunkRelay24" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.431, 3, -13.2849)
|
||||
|
||||
[node name="GunkRelay25" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.678505, 3, -12.693)
|
||||
|
||||
[node name="GunkRelay26" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.17098, 3, -12.2293)
|
||||
|
||||
[node name="GunkRelay27" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.535468, 3, -11.6208)
|
||||
|
||||
[node name="GunkRelay28" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00709021, 3, -11.1268)
|
||||
|
||||
[node name="GunkRelay29" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0654619, 3, -10.516)
|
||||
|
||||
[node name="GunkRelay30" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.527468, 3, -10.0217)
|
||||
|
||||
[node name="GunkRelay31" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0718373, 3, -9.34992)
|
||||
|
||||
[node name="GunkRelay32" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.36067, 3, -8.70837)
|
||||
|
||||
[node name="GunkRelay33" parent="Trap1/Network1" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0406086, 3, -7.8855)
|
||||
|
||||
[node name="Network2" type="Node3D" parent="Trap1"]
|
||||
|
||||
[node name="Listener4" parent="Trap1/Network2" instance=ExtResource("22_arxka")]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 2.99441, 2.03473, -10.5)
|
||||
|
||||
[node name="Listener5" parent="Trap1/Network2" instance=ExtResource("22_arxka")]
|
||||
transform = Transform3D(0.642788, -5.61943e-08, 0.766044, -8.74228e-08, -1, 0, 0.766044, -6.69697e-08, -0.642788, 2.394, 3, -11.4)
|
||||
|
||||
[node name="GunkRelay" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.4, 1.8, -10.5)
|
||||
|
||||
[node name="GunkRelay2" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.9468, 2.20441, -10.5)
|
||||
|
||||
[node name="GunkRelay3" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.439, -10.5)
|
||||
|
||||
[node name="GunkRelay6" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 1.95311, -9.94349)
|
||||
|
||||
[node name="GunkRelay7" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.66209, -9.60859)
|
||||
|
||||
[node name="GunkRelay8" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.26142, -9.00992)
|
||||
|
||||
[node name="GunkRelay9" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.85489, -8.75561)
|
||||
|
||||
[node name="GunkRelay10" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.51554, -8.0789)
|
||||
|
||||
[node name="GunkRelay11" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.22256, 3, -7.669)
|
||||
|
||||
[node name="GunkRelay12" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 2.82179, -7.16496)
|
||||
|
||||
[node name="GunkRelay13" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.780132, 3, -6.70057)
|
||||
|
||||
[node name="GunkRelay14" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.03799, 3, -5.95411)
|
||||
|
||||
[node name="GunkRelay15" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.423339, 3, -5.52302)
|
||||
|
||||
[node name="GunkRelay16" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.601251, 3, -4.94205)
|
||||
|
||||
[node name="GunkRelay17" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25412, 2.77946, -4.05418)
|
||||
|
||||
[node name="GunkRelay4" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.08106, 2.68771, -10.5)
|
||||
|
||||
[node name="GunkRelay5" parent="Trap1/Network2" instance=ExtResource("25_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.73178, 3, -10.8571)
|
||||
|
||||
[connection signal="triggered" from="Trap1/Listener" to="Trap1/Network1/GunkRelay22" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Listener2" to="Trap1/Network1/GunkRelay23" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Listener3" to="Trap1/Network1/GunkRelay" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay" to="Trap1/Network1/GunkRelay2" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay" to="Trap1/Network1/GunkRelay2" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay2" to="Trap1/Network1/GunkRelay3" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay2" to="Trap1/Network1/GunkRelay3" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay3" to="Trap1/Network1/GunkRelay5" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay3" to="Trap1/Network1/GunkRelay5" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay4" to="Trap1/Network1/GunkRelay5" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay4" to="Trap1/Network1/GunkRelay5" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay8" to="Trap1/Network1/GunkRelay4" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay8" to="Trap1/Network1/GunkRelay4" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay21" to="Trap1/Network1/GunkRelay8" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay21" to="Trap1/Network1/GunkRelay8" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay22" to="Trap1/Network1/GunkRelay21" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay22" to="Trap1/Network1/GunkRelay21" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay5" to="Trap1/Network1/GunkRelay6" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay5" to="Trap1/Network1/GunkRelay6" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay6" to="Trap1/Network1/GunkRelay7" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay6" to="Trap1/Network1/GunkRelay7" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay7" to="Trap1/Network1/GunkRelay9" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay7" to="Trap1/Network1/GunkRelay9" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay9" to="Trap1/Network1/GunkRelay10" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay9" to="Trap1/Network1/GunkRelay10" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay10" to="Trap1/Network1/GunkRelay11" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay10" to="Trap1/Network1/GunkRelay11" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay11" to="Trap1/Network1/GunkRelay12" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay11" to="Trap1/Network1/GunkRelay12" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay12" to="Trap1/Network1/GunkRelay13" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay12" to="Trap1/Network1/GunkRelay13" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay13" to="Trap1/Network1/GunkRelay14" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay13" to="Trap1/Network1/GunkRelay14" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay14" to="Trap1/Network1/GunkRelay15" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay14" to="Trap1/Network1/GunkRelay15" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay15" to="Trap1/Network1/GunkRelay16" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay15" to="Trap1/Network1/GunkRelay16" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay16" to="Trap1/Network1/GunkRelay17" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay16" to="Trap1/Network1/GunkRelay17" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay17" to="Trap1/Network1/GunkRelay18" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay17" to="Trap1/Network1/GunkRelay18" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay18" to="Trap1/Network1/GunkRelay19" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay18" to="Trap1/Network1/GunkRelay19" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay19" to="Trap1/Network1/GunkRelay20" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay19" to="Trap1/Network1/GunkRelay20" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay20" to="Trap1/GunkAlarm" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay20" to="Trap1/GunkAlarm" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay23" to="Trap1/Network1/GunkRelay24" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay23" to="Trap1/Network1/GunkRelay24" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay24" to="Trap1/Network1/GunkRelay25" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay24" to="Trap1/Network1/GunkRelay25" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay25" to="Trap1/Network1/GunkRelay26" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay25" to="Trap1/Network1/GunkRelay26" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay26" to="Trap1/Network1/GunkRelay27" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay26" to="Trap1/Network1/GunkRelay27" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay27" to="Trap1/Network1/GunkRelay28" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay27" to="Trap1/Network1/GunkRelay28" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay28" to="Trap1/Network1/GunkRelay29" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay28" to="Trap1/Network1/GunkRelay29" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay29" to="Trap1/Network1/GunkRelay30" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay29" to="Trap1/Network1/GunkRelay30" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay30" to="Trap1/Network1/GunkRelay31" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay30" to="Trap1/Network1/GunkRelay31" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay31" to="Trap1/Network1/GunkRelay32" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay31" to="Trap1/Network1/GunkRelay32" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay32" to="Trap1/Network1/GunkRelay33" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay32" to="Trap1/Network1/GunkRelay33" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network1/GunkRelay33" to="Trap1/Network1/GunkRelay16" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network1/GunkRelay33" to="Trap1/Network1/GunkRelay16" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Network2/Listener4" to="Trap1/Network2/GunkRelay" method="trigger"]
|
||||
[connection signal="triggered" from="Trap1/Network2/Listener5" to="Trap1/Network2/GunkRelay5" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay" to="Trap1/Network2/GunkRelay2" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay" to="Trap1/Network2/GunkRelay2" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay2" to="Trap1/Network2/GunkRelay3" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay2" to="Trap1/Network2/GunkRelay3" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay3" to="Trap1/Network2/GunkRelay6" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay3" to="Trap1/Network2/GunkRelay6" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay6" to="Trap1/Network2/GunkRelay7" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay6" to="Trap1/Network2/GunkRelay7" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay7" to="Trap1/Network2/GunkRelay8" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay7" to="Trap1/Network2/GunkRelay8" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay8" to="Trap1/Network2/GunkRelay9" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay8" to="Trap1/Network2/GunkRelay9" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay9" to="Trap1/Network2/GunkRelay10" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay9" to="Trap1/Network2/GunkRelay10" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay10" to="Trap1/Network2/GunkRelay11" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay10" to="Trap1/Network2/GunkRelay11" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay11" to="Trap1/Network2/GunkRelay12" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay11" to="Trap1/Network2/GunkRelay12" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay12" to="Trap1/Network2/GunkRelay13" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay12" to="Trap1/Network2/GunkRelay13" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay13" to="Trap1/Network2/GunkRelay14" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay13" to="Trap1/Network2/GunkRelay14" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay14" to="Trap1/Network2/GunkRelay15" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay14" to="Trap1/Network2/GunkRelay15" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay15" to="Trap1/Network2/GunkRelay16" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay15" to="Trap1/Network2/GunkRelay16" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay16" to="Trap1/Network2/GunkRelay17" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay16" to="Trap1/Network2/GunkRelay17" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay17" to="Trap1/GunkAlarm" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay17" to="Trap1/GunkAlarm" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay4" to="Trap1/Network2/GunkRelay3" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay4" to="Trap1/Network2/GunkRelay3" method="trigger"]
|
||||
[connection signal="pulsed" from="Trap1/Network2/GunkRelay5" to="Trap1/Network2/GunkRelay4" method="pulse"]
|
||||
[connection signal="triggered" from="Trap1/Network2/GunkRelay5" to="Trap1/Network2/GunkRelay4" method="trigger"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=44 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
[gd_scene load_steps=45 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="1_ediv7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_rvc24"]
|
||||
@ -18,6 +18,7 @@
|
||||
[ext_resource type="ArrayMesh" uid="uid://bx00qgk2dyjrw" path="res://assets/level/wall/wall_2.mesh" id="15_l3gxc"]
|
||||
[ext_resource type="Material" uid="uid://dva6ivs2hap53" path="res://levels/ghost_ship/guide_sign/medbay_sign.material" id="16_rn74a"]
|
||||
[ext_resource type="Material" uid="uid://bo81yn72cb0bq" path="res://levels/ghost_ship/guide_sign/cargo_bay_sign.material" id="17_13shf"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b17naqcl4ie21" path="res://assets/level/floor/floor_1.mesh" id="18_rvc24"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
|
||||
@ -632,7 +633,7 @@ source_gunk_material = ExtResource("6_8pwhd")
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 15, 0, 15)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
mesh = ExtResource("18_rvc24")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Floor"]
|
||||
collision_layer = 5
|
||||
@ -699,19 +700,90 @@ body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CargoBaySign" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
[node name="ShortHallway7" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 18, 0, 15)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway7"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway7/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway7/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway7/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway7"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway7/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway7/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway7/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway7"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway7/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway7/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway7/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway7"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway7/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway7/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway7/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CargoBaySign" type="MeshInstance3D" parent="ShortHallway7"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, 0)
|
||||
gi_mode = 2
|
||||
mesh = SubResource("ArrayMesh_rigxx")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/CargoBaySign"]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway7/CargoBaySign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/CargoBaySign/StaticBody3D"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway7/CargoBaySign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_np3w4")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/CargoBaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
[node name="Gunkable" parent="ShortHallway7/CargoBaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
|
File diff suppressed because one or more lines are too long
@ -101,7 +101,7 @@ size = Vector3(0.8, 2.5, 3)
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ybo5"]
|
||||
data = PackedVector3Array(-0.4, 1.25, 1.5, 0.4, 1.25, 1.5, -0.4, -1.25, 1.5, 0.4, 1.25, 1.5, 0.4, -1.25, 1.5, -0.4, -1.25, 1.5, 0.4, 1.25, -1.5, -0.4, 1.25, -1.5, 0.4, -1.25, -1.5, -0.4, 1.25, -1.5, -0.4, -1.25, -1.5, 0.4, -1.25, -1.5, 0.4, 1.25, 1.5, 0.4, 1.25, -1.5, 0.4, -1.25, 1.5, 0.4, 1.25, -1.5, 0.4, -1.25, -1.5, 0.4, -1.25, 1.5, -0.4, 1.25, -1.5, -0.4, 1.25, 1.5, -0.4, -1.25, -1.5, -0.4, 1.25, 1.5, -0.4, -1.25, 1.5, -0.4, -1.25, -1.5, 0.4, 1.25, 1.5, -0.4, 1.25, 1.5, 0.4, 1.25, -1.5, -0.4, 1.25, 1.5, -0.4, 1.25, -1.5, 0.4, 1.25, -1.5, -0.4, -1.25, 1.5, 0.4, -1.25, 1.5, -0.4, -1.25, -1.5, 0.4, -1.25, 1.5, 0.4, -1.25, -1.5, -0.4, -1.25, -1.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_loej8"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yvs0w"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -127,7 +127,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_5abrm"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_jnjru"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -136,7 +136,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_loej8"),
|
||||
"material": SubResource("StandardMaterial3D_yvs0w"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -146,7 +146,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t0ymk"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bnexv"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -157,7 +157,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_glbip"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_p5an5"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -166,7 +166,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_t0ymk"),
|
||||
"material": SubResource("StandardMaterial3D_bnexv"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -176,7 +176,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nqwfe"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1syyw"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -187,7 +187,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_h56f5"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_loej8"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -196,7 +196,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_nqwfe"),
|
||||
"material": SubResource("StandardMaterial3D_1syyw"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -206,7 +206,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gem8k"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5abrm"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -217,7 +217,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_wr3ux"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_t0ymk"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -226,7 +226,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_gem8k"),
|
||||
"material": SubResource("StandardMaterial3D_5abrm"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -236,7 +236,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a7woh"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_glbip"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -247,7 +247,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_l1qst"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_nqwfe"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -256,7 +256,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_a7woh"),
|
||||
"material": SubResource("StandardMaterial3D_glbip"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -266,7 +266,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8ifew"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h56f5"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -277,7 +277,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_klyoq"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_gem8k"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -286,7 +286,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_8ifew"),
|
||||
"material": SubResource("StandardMaterial3D_h56f5"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -296,7 +296,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jmnef"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wr3ux"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -307,7 +307,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_7ip0j"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_a7woh"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -316,7 +316,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_jmnef"),
|
||||
"material": SubResource("StandardMaterial3D_wr3ux"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -326,7 +326,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w6w82"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l1qst"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -337,7 +337,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_eorl6"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_8ifew"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -346,7 +346,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_w6w82"),
|
||||
"material": SubResource("StandardMaterial3D_l1qst"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -356,7 +356,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ckuu8"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_klyoq"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -367,7 +367,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_65pvg"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_jmnef"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -376,7 +376,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_ckuu8"),
|
||||
"material": SubResource("StandardMaterial3D_klyoq"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -386,7 +386,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_u2hqf")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_n3yb1"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7ip0j"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("13_glbip")
|
||||
metallic = 1.0
|
||||
@ -397,7 +397,7 @@ normal_texture = ExtResource("15_h56f5")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_1m2rw"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_w6w82"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -406,7 +406,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_n3yb1"),
|
||||
"material": SubResource("StandardMaterial3D_7ip0j"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -1218,12 +1218,15 @@ shape = SubResource("ConcavePolygonShape3D_2qkxu")
|
||||
|
||||
[node name="PhysMedCart" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(-0.24869, 0, 0.968583, 0, 1, 0, -0.968583, 0, -0.24869, -1.8, 0.5, 0)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysMedCart2" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(0.00523592, -0.866025, 0.499973, -0.999945, -4.2222e-08, 0.0104718, -0.00906879, -0.5, -0.865978, -5.7, 0.356264, 3.6)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysMedCart3" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(0.996195, 0, -0.0871557, 0, 1, 0, 0.0871557, 0, 0.996195, -3.9, 0.5, 3.8)
|
||||
sleeping = true
|
||||
|
||||
[node name="StaticMedCart" parent="Props" instance=ExtResource("10_loej8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.5, 3.8)
|
||||
@ -1231,12 +1234,15 @@ skeleton = NodePath("")
|
||||
|
||||
[node name="PhysMedCart4" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, 0.5, -5.1, 0.5, -0.399998)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysMedCart5" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 3.72243, 0.5, -11.3763)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysMedCart6" parent="Props" instance=ExtResource("11_g8qvw")]
|
||||
transform = Transform3D(-2.53565e-08, -0.965926, -0.258819, 1, -4.2222e-08, 0, -6.85015e-08, -0.258819, 0.965926, 2.22243, 0.35, -11.3763)
|
||||
sleeping = true
|
||||
|
||||
[node name="MonitorCart" type="MeshInstance3D" parent="Props"]
|
||||
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 0.9, 0.6, -2.7)
|
||||
@ -1349,46 +1355,47 @@ skeleton = NodePath("")
|
||||
|
||||
[node name="CrateLong" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.25, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_5abrm")
|
||||
mesh = SubResource("ArrayMesh_jnjru")
|
||||
|
||||
[node name="PhysCrateLong" parent="Props" instance=ExtResource("19_yvs0w")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.25, -3.6)
|
||||
sleeping = true
|
||||
|
||||
[node name="CrateLong2" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.75, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_glbip")
|
||||
mesh = SubResource("ArrayMesh_p5an5")
|
||||
|
||||
[node name="CrateLong3" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(-4.37114e-08, 0.707107, -0.707107, 0, 0.707107, 0.707107, 1, 3.09086e-08, -3.09086e-08, 0.599813, 0.75, 4.05009)
|
||||
mesh = SubResource("ArrayMesh_h56f5")
|
||||
mesh = SubResource("ArrayMesh_loej8")
|
||||
|
||||
[node name="CrateLong5" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_wr3ux")
|
||||
mesh = SubResource("ArrayMesh_t0ymk")
|
||||
|
||||
[node name="CrateLong10" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, -1.04991)
|
||||
mesh = SubResource("ArrayMesh_l1qst")
|
||||
mesh = SubResource("ArrayMesh_nqwfe")
|
||||
|
||||
[node name="CrateLong6" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_klyoq")
|
||||
mesh = SubResource("ArrayMesh_gem8k")
|
||||
|
||||
[node name="CrateLong11" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, -1.04991)
|
||||
mesh = SubResource("ArrayMesh_7ip0j")
|
||||
mesh = SubResource("ArrayMesh_a7woh")
|
||||
|
||||
[node name="CrateLong7" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_eorl6")
|
||||
mesh = SubResource("ArrayMesh_8ifew")
|
||||
|
||||
[node name="CrateLong8" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.75, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_65pvg")
|
||||
mesh = SubResource("ArrayMesh_jmnef")
|
||||
|
||||
[node name="CrateLong9" parent="Props" instance=ExtResource("12_t0ymk")]
|
||||
transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 2.25, -2.54991)
|
||||
mesh = SubResource("ArrayMesh_1m2rw")
|
||||
mesh = SubResource("ArrayMesh_w6w82")
|
||||
|
||||
[node name="FloatingDust" parent="." instance=ExtResource("17_wr3ux")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 1.5, -4.5)
|
||||
|
@ -503,6 +503,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_mdsoq")
|
||||
|
||||
[node name="PhysTrashCan" parent="Props" instance=ExtResource("15_pmhe8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 0.5, 9)
|
||||
sleeping = true
|
||||
|
||||
[node name="FloatingDust" parent="." instance=ExtResource("15_87puh")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1.5, 5)
|
||||
|
@ -45,7 +45,7 @@ normal_texture = ExtResource("12_ukiad")
|
||||
uv1_scale = Vector3(3, 1, 1)
|
||||
texture_filter = 4
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_76qng"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_cx8lh"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-4.5, 0, -1.5, 9, 1e-05, 3),
|
||||
"format": 34896613377,
|
||||
@ -74,7 +74,7 @@ _surfaces = [{
|
||||
"vertex_data": PackedByteArray(255, 255, 0, 0, 255, 255, 255, 191, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 255, 191, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127)
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_76qng")
|
||||
shadow_mesh = SubResource("ArrayMesh_cx8lh")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ffr5l"]
|
||||
data = PackedVector3Array(4.5, 0, 1.5, -4.5, 0, 1.5, 4.5, 0, -1.5, 4.5, 0, -1.5, -4.5, 0, 1.5, -4.5, 0, -1.5)
|
||||
@ -1420,12 +1420,15 @@ shape = SubResource("ConcavePolygonShape3D_c6n8b")
|
||||
|
||||
[node name="PhysCrateLong" parent="Props" instance=ExtResource("16_cx8lh")]
|
||||
transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 3.50191, -2.75, -12.4451)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysCrateLong2" parent="Props" instance=ExtResource("16_cx8lh")]
|
||||
transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 3.50191, -2.25, -12.4451)
|
||||
sleeping = true
|
||||
|
||||
[node name="PhysCrateLong3" parent="Props" instance=ExtResource("16_cx8lh")]
|
||||
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 2.42044, -2.75, -12.1553)
|
||||
sleeping = true
|
||||
|
||||
[node name="FloatingDust" parent="." instance=ExtResource("20_82gsa")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -4.5)
|
||||
|
@ -307,17 +307,12 @@ surface_material_override/0 = SubResource("StandardMaterial3D_xpsdy")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_nafoa")
|
||||
|
||||
[node name="TankInteractor" type="StaticBody3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
[node name="TankInteractBody" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.85, 1.35, 4.5)
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
script = ExtResource("6_e4hmc")
|
||||
label = "INTERACTIVE_TANK_LABEL"
|
||||
verb = "INTERACTIVE_TANK_VERB"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="GrunkPumpSFX" type="AudioStreamPlayer3D" parent="TankInteractor"]
|
||||
[node name="GrunkPumpSFX" type="AudioStreamPlayer3D" parent="TankInteractBody"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
|
||||
stream = SubResource("AudioStreamRandomizer_53iah")
|
||||
@ -325,9 +320,16 @@ volume_db = -4.0
|
||||
unit_size = 3.0
|
||||
pitch_scale = 0.7
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractor"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractBody"]
|
||||
shape = SubResource("SphereShape3D_e4hmc")
|
||||
|
||||
[node name="TankInteractor" type="Node" parent="TankInteractBody"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("6_e4hmc")
|
||||
label = "INTERACTIVE_TANK_LABEL"
|
||||
verb = "INTERACTIVE_TANK_VERB"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="LiquidOffset" type="Node3D" parent="."]
|
||||
transform = Transform3D(0.95, 0, 0, 0, 0.95, 0, 0, 0, 0.95, 0, -2.8, 6)
|
||||
|
||||
@ -420,6 +422,6 @@ volume_db = -16.0
|
||||
unit_size = 4.0
|
||||
bus = &"SFX"
|
||||
|
||||
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]
|
||||
[connection signal="activated" from="TankInteractBody/TankInteractor" to="." method="deposit_grunk"]
|
||||
[connection signal="body_entered" from="DoorArea" to="DoorArea" method="_on_body_entered"]
|
||||
[connection signal="body_exited" from="DoorArea" to="DoorArea" method="_on_body_exited"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=43 format=3 uid="uid://dc4tts6342cuj"]
|
||||
[gd_scene load_steps=44 format=3 uid="uid://dc4tts6342cuj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/prop_test/prop_test.gd" id="1_ibd1t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_ml0ka"]
|
||||
@ -7,7 +7,7 @@
|
||||
[ext_resource type="Environment" uid="uid://iqhvx1couqcf" path="res://levels/prop_test/debug_environment.tres" id="3_mvw32"]
|
||||
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="4_g7cgy"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="5_y13lv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvx5u0ttmri4q" path="res://src/props/sofa/sofa.tscn" id="6_kccq3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvx5u0ttmri4q" path="res://src/props/sofa/static_sofa.tscn" id="6_kccq3"]
|
||||
[ext_resource type="PackedScene" uid="uid://ca7b5gjl3ri0p" path="res://src/props/cafe_table/cafe_table.tscn" id="6_tm4v6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/static_crate_long.tscn" id="7_4jlf1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bpsiwx1517pk1" path="res://src/props/tarp_crate/tarp_crate.tscn" id="7_xlkhi"]
|
||||
@ -24,6 +24,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="16_kccq3"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctr56p23cvupu" path="res://src/props/retinal_scanner/retinal_scanner.tscn" id="17_r8upy"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjqayfrj2oxyr" path="res://src/props/tarp_crate/tarp_crate_logo.tscn" id="20_pfhf5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c55n6h3ydi32e" path="res://src/props/sofa/phys_sofa.tscn" id="21_4q7ty"]
|
||||
[ext_resource type="PackedScene" uid="uid://cklppdtyaadlo" path="res://src/props/trash_can/static_trash_can.tscn" id="21_wgtci"]
|
||||
[ext_resource type="PackedScene" uid="uid://dtus42gmb1kqq" path="res://src/props/vending_machine/vending_machine.tscn" id="22_6oadn"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2xq0uvxh2ojk" path="res://assets/props/vending_machine/vending_machine_C.png" id="23_ibd1t"]
|
||||
@ -226,6 +227,9 @@ skeleton = NodePath("../..")
|
||||
[node name="RetinalScanner" parent="Props" instance=ExtResource("17_r8upy")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 1.3, -12)
|
||||
|
||||
[node name="PhysSofa" parent="Props" instance=ExtResource("21_4q7ty")]
|
||||
transform = Transform3D(-0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, -0.984808, 33, 0.5, -8.4)
|
||||
|
||||
[node name="Sofa" parent="Props" instance=ExtResource("6_kccq3")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 33, 0.5, -12)
|
||||
skeleton = NodePath("../SwitchPodium")
|
||||
@ -241,6 +245,7 @@ skeleton = NodePath("../..")
|
||||
[node name="StaticTrashCan" parent="Props" instance=ExtResource("21_wgtci")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0.5, -12)
|
||||
skeleton = NodePath("../..")
|
||||
surface_material_override/0 = null
|
||||
|
||||
[node name="PhysTrashCan" parent="Props" instance=ExtResource("25_8eukv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.9, 0.5, -10.8)
|
||||
@ -251,18 +256,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 1.5654, -12)
|
||||
skeleton = NodePath("../..")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_u3x5h")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="Props/VendingMachine"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="Props/VendingMachine"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/VendingMachine/InteractiveBody"]
|
||||
shape = SubResource("BoxShape3D_ibd1t")
|
||||
|
||||
[node name="Interactive" type="Node" parent="Props/VendingMachine/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Vending Machine"
|
||||
verb = "toggle"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/VendingMachine/Interactive"]
|
||||
shape = SubResource("BoxShape3D_ibd1t")
|
||||
|
||||
[node name="CleanPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4, 1, 0)
|
||||
|
||||
@ -280,18 +287,20 @@ text = "Clean"
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.25)
|
||||
mesh = SubResource("SphereMesh_ibd1t")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="CleanPodium/ButtonMesh"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="CleanPodium/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CleanPodium/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="Interactive" type="Node" parent="CleanPodium/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "clean all"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="CleanPodium/ButtonMesh/Interactive"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="ResetPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4, 1, 1.5)
|
||||
|
||||
@ -309,18 +318,20 @@ text = "Reload"
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.25)
|
||||
mesh = SubResource("SphereMesh_ibd1t")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="ResetPodium/ButtonMesh"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="ResetPodium/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ResetPodium/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="Interactive" type="Node" parent="ResetPodium/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Level"
|
||||
verb = "reload"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ResetPodium/ButtonMesh/Interactive"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="GameEnvPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5, 1, 0)
|
||||
|
||||
@ -340,18 +351,20 @@ Environment
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.25)
|
||||
mesh = SubResource("SphereMesh_ibd1t")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="GameEnvPodium/ButtonMesh"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="GameEnvPodium/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GameEnvPodium/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="Interactive" type="Node" parent="GameEnvPodium/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Game Environment"
|
||||
verb = "enable"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GameEnvPodium/ButtonMesh/Interactive"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="DebugEnvPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5, 1, 1.5)
|
||||
|
||||
@ -371,18 +384,20 @@ Environment
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.25)
|
||||
mesh = SubResource("SphereMesh_ibd1t")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="DebugEnvPodium/ButtonMesh"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="DebugEnvPodium/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DebugEnvPodium/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="Interactive" type="Node" parent="DebugEnvPodium/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Debug Environment"
|
||||
verb = "enable"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DebugEnvPodium/ButtonMesh/Interactive"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="PostProcessingPodium" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5, 1, 3)
|
||||
|
||||
@ -401,18 +416,20 @@ Postprocessing"
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.3, 0.25)
|
||||
mesh = SubResource("SphereMesh_ibd1t")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="PostProcessingPodium/ButtonMesh"]
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="PostProcessingPodium/ButtonMesh"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PostProcessingPodium/ButtonMesh/InteractiveBody"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="Interactive" type="Node" parent="PostProcessingPodium/ButtonMesh/InteractiveBody"]
|
||||
script = ExtResource("28_ibd1t")
|
||||
enabled = true
|
||||
label = "Post-processing"
|
||||
verb = "toggle"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PostProcessingPodium/ButtonMesh/Interactive"]
|
||||
shape = SubResource("SphereShape3D_mvw32")
|
||||
|
||||
[node name="PostProcessing" parent="." instance=ExtResource("30_qnhar")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
@ -423,9 +440,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
[connection signal="animation_finished" from="Props/Bulkhead" to="Props/SwitchPodium/OpenSwitch" method="enable"]
|
||||
[connection signal="activated" from="Props/SwitchPodium/OpenSwitch" to="Props/Bulkhead" method="toggle"]
|
||||
[connection signal="activated" from="Props/SwitchPodium/OpenSwitch" to="Props/SwitchPodium/OpenSwitch" method="disable"]
|
||||
[connection signal="activated" from="Props/VendingMachine/Interactive" to="." method="toggle_vending_machine"]
|
||||
[connection signal="activated" from="CleanPodium/ButtonMesh/Interactive" to="." method="clean_all_props"]
|
||||
[connection signal="activated" from="ResetPodium/ButtonMesh/Interactive" to="." method="reset_level"]
|
||||
[connection signal="activated" from="GameEnvPodium/ButtonMesh/Interactive" to="." method="set_game_environment"]
|
||||
[connection signal="activated" from="DebugEnvPodium/ButtonMesh/Interactive" to="." method="set_debug_environment"]
|
||||
[connection signal="activated" from="PostProcessingPodium/ButtonMesh/Interactive" to="." method="toggle_postprocessing"]
|
||||
[connection signal="activated" from="Props/VendingMachine/InteractiveBody/Interactive" to="." method="toggle_vending_machine"]
|
||||
[connection signal="activated" from="CleanPodium/ButtonMesh/InteractiveBody/Interactive" to="." method="clean_all_props"]
|
||||
[connection signal="activated" from="ResetPodium/ButtonMesh/InteractiveBody/Interactive" to="." method="reset_level"]
|
||||
[connection signal="activated" from="GameEnvPodium/ButtonMesh/InteractiveBody/Interactive" to="." method="set_game_environment"]
|
||||
[connection signal="activated" from="DebugEnvPodium/ButtonMesh/InteractiveBody/Interactive" to="." method="set_debug_environment"]
|
||||
[connection signal="activated" from="PostProcessingPodium/ButtonMesh/InteractiveBody/Interactive" to="." method="toggle_postprocessing"]
|
||||
|
File diff suppressed because one or more lines are too long
@ -91,6 +91,7 @@ LurkPoint="Point which a lurking beast may wander to."
|
||||
BeastSpawnPoint="Spawn point for a grunkbeast"
|
||||
GrunkBeast="GrunkBeast instances."
|
||||
Persistent="Nodes which implement save and load methods"
|
||||
Bulkheads=""
|
||||
|
||||
[importer_defaults]
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="3_rikqc"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_yaakk"]
|
||||
radius = 2.0
|
||||
radius = 7.0
|
||||
|
||||
[node name="SpraySFX" type="AudioStreamPlayer3D"]
|
||||
stream = ExtResource("1_575yt")
|
||||
|
@ -13,11 +13,12 @@ const AMBIENT_BUS_IDX = 3
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if World.instance:
|
||||
World.instance.manager.mp3_collected.connect(_on_mp3_collected)
|
||||
|
||||
|
||||
func unlocked() -> bool:
|
||||
return World.instance.manager.mp3_player_unlocked
|
||||
return World.instance and World.instance.manager.mp3_player_unlocked
|
||||
|
||||
|
||||
func fire() -> void:
|
||||
|
@ -18,7 +18,7 @@ func _spray() -> void:
|
||||
func _fire() -> void:
|
||||
rumbler.intensity = RUMBLE_INTENSITY
|
||||
|
||||
if World.instance.manager.is_tank_full():
|
||||
if World.instance and World.instance.manager.is_tank_full():
|
||||
Player.instance.hud.play_tank_full_alert()
|
||||
idle()
|
||||
return
|
||||
|
@ -39,7 +39,7 @@ func _import_stickers() -> void:
|
||||
|
||||
|
||||
func unlocked() -> bool:
|
||||
return World.instance.manager.stickers_unlocked
|
||||
return World.instance and World.instance.manager.stickers_unlocked
|
||||
|
||||
|
||||
func get_selected_sticker() -> Texture2D:
|
||||
|
@ -12,7 +12,7 @@ const BRUSH_SCALE := 0.2
|
||||
|
||||
|
||||
func unlocked() -> bool:
|
||||
return World.instance.manager.toothbrush_unlocked
|
||||
return World.instance and World.instance.manager.toothbrush_unlocked
|
||||
|
||||
|
||||
func _fire() -> void:
|
||||
|
@ -1,6 +1,9 @@
|
||||
extends Node3D
|
||||
class_name HoldComponent extends Node3D
|
||||
## Component for managing physics object holding
|
||||
|
||||
signal held
|
||||
signal dropped
|
||||
|
||||
## Held object position lerp acceleration.
|
||||
@export var hold_accel := 20.0
|
||||
|
||||
@ -43,6 +46,8 @@ func attach(prop: RigidBody3D, hold_distance: float) -> void:
|
||||
_original_collision_mask = prop.collision_mask
|
||||
prop.collision_mask = hold_collision_physics
|
||||
|
||||
held.emit()
|
||||
|
||||
|
||||
func drop() -> void:
|
||||
_held_object.linear_damp = _original_damping
|
||||
@ -50,6 +55,8 @@ func drop() -> void:
|
||||
_held_object.collision_mask = _original_collision_mask
|
||||
_held_object = null
|
||||
|
||||
dropped.emit()
|
||||
|
||||
|
||||
func holding_object() -> bool:
|
||||
return !!_held_object
|
||||
@ -57,17 +64,11 @@ func holding_object() -> bool:
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Object hold action logic
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
if _held_object:
|
||||
if holding_object() and Input.is_action_just_pressed("interact"):
|
||||
drop()
|
||||
elif interact_ray.is_colliding():
|
||||
var body := interact_ray.get_collider() as RigidBody3D
|
||||
var hold_component := Holdable.get_component(body)
|
||||
if hold_component:
|
||||
attach(body, hold_component.hold_distance)
|
||||
|
||||
# Held object logic
|
||||
if not _held_object:
|
||||
if not holding_object():
|
||||
return
|
||||
|
||||
var diff := hold_point.global_position - (_held_object.global_position)
|
||||
|
35
src/player/interact_ray.gd
Normal file
35
src/player/interact_ray.gd
Normal file
@ -0,0 +1,35 @@
|
||||
extends RayCast3D
|
||||
## Component for interacting with Interactive things.
|
||||
|
||||
var _selected: Object
|
||||
|
||||
@onready var parent := owner as Player
|
||||
|
||||
|
||||
func _deselect() -> void:
|
||||
if _selected and is_instance_valid(_selected):
|
||||
_selected.emit_signal(Interactive.DESELECT_SIGNAL)
|
||||
_selected = null
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
var collider := self.get_collider()
|
||||
if not collider:
|
||||
_deselect()
|
||||
return
|
||||
|
||||
if collider.has_user_signal(Interactive.SELECT_SIGNAL):
|
||||
if collider != _selected:
|
||||
if not _selected and is_instance_valid(_selected):
|
||||
_selected.emit_signal(Interactive.DESELECT_SIGNAL)
|
||||
_selected = collider
|
||||
collider.emit_signal(Interactive.SELECT_SIGNAL)
|
||||
else:
|
||||
_deselect()
|
||||
|
||||
if (
|
||||
parent.activity_enabled
|
||||
and Input.is_action_just_pressed("interact")
|
||||
and collider.has_user_signal(Interactive.ACTIVATE_SIGNAL)
|
||||
):
|
||||
collider.emit_signal(Interactive.ACTIVATE_SIGNAL)
|
1
src/player/interact_ray.gd.uid
Normal file
1
src/player/interact_ray.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://hnxv1ii8hm0
|
@ -45,7 +45,6 @@ var gravity: Vector3 = (
|
||||
* ProjectSettings.get_setting("physics/3d/default_gravity_vector")
|
||||
)
|
||||
|
||||
var selected_interactive: Interactive
|
||||
var firing := false
|
||||
var sneaking := false
|
||||
|
||||
@ -56,8 +55,6 @@ var _was_on_floor := false
|
||||
@onready var camera_pivot: CameraController = %CameraPivot
|
||||
@onready var cam_rumbler: Rumbler3D = %CamRumbler
|
||||
|
||||
@onready var interact_ray: RayCast3D = %InteractRay
|
||||
|
||||
@onready var tool_mount: ToolMount = %ToolMount
|
||||
@onready var point_spray: PointSpray = %PointSpray
|
||||
@onready var wide_spray: WideSpray = %WideSpray
|
||||
@ -65,6 +62,8 @@ var _was_on_floor := false
|
||||
@onready var mp3_player: Tool = %MP3Player
|
||||
@onready var sticker_pack: Tool = %StickerPack
|
||||
|
||||
@onready var hold_component: HoldComponent = %HoldComponent
|
||||
|
||||
@onready var crouch_head_area: Area3D = %CrouchHeadArea
|
||||
@onready var crouch_animation: AnimationPlayer = %CrouchAnimation
|
||||
@onready var grab_animation: AnimationPlayer = %GrabAnimation
|
||||
@ -80,6 +79,7 @@ static var instance: Player
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if World.instance:
|
||||
World.instance.manager.milestone_reached.connect(_on_milestone)
|
||||
instance = self
|
||||
|
||||
@ -188,17 +188,7 @@ func _signal_death() -> void:
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Will be null if no valid interactor is selected.
|
||||
var interactive := interact_ray.get_collider() as Interactive
|
||||
hud.select_interactive(interactive)
|
||||
if interactive:
|
||||
interactive.select()
|
||||
|
||||
if activity_enabled:
|
||||
# World interaction
|
||||
if Input.is_action_just_pressed("interact") and interactive:
|
||||
interactive.activate()
|
||||
|
||||
# Tool selection
|
||||
if Input.is_action_just_pressed("select_next_tool"):
|
||||
tool_mount.set_active_relative(1)
|
||||
@ -215,16 +205,18 @@ func _physics_process(delta: float) -> void:
|
||||
elif Input.is_action_just_pressed("select_stickers"):
|
||||
tool_mount.set_active(sticker_pack)
|
||||
|
||||
var tool := get_tool()
|
||||
firing = false
|
||||
if tool:
|
||||
# Tool use
|
||||
if Input.is_action_pressed("fire"):
|
||||
get_tool().fire()
|
||||
tool.fire()
|
||||
firing = true
|
||||
else:
|
||||
get_tool().idle()
|
||||
firing = false
|
||||
tool.idle()
|
||||
|
||||
if Input.is_action_just_pressed("switch_mode"):
|
||||
get_tool().switch_mode()
|
||||
tool.switch_mode()
|
||||
|
||||
# Two sneaking modes -- hold and toggle
|
||||
if Game.settings.hold_to_sneak:
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=67 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
[gd_scene load_steps=68 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"]
|
||||
[ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"]
|
||||
@ -13,6 +13,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://cmnokjbv3vuqt" path="res://src/equipment/sticker_pack/sticker_pack.tscn" id="8_xmpm3"]
|
||||
[ext_resource type="Script" uid="uid://ecrhsueph7at" path="res://src/player/footsteps/footstep_controller.gd" id="9_hja65"]
|
||||
[ext_resource type="Script" uid="uid://brqa2wbtaspw4" path="res://src/player/footsteps/foot_controller.gd" id="9_l271a"]
|
||||
[ext_resource type="Script" uid="uid://hnxv1ii8hm0" path="res://src/player/interact_ray.gd" id="10_4ptlo"]
|
||||
[ext_resource type="AudioStream" uid="uid://di0e1l1l6l3qc" path="res://assets/sfx/footsteps/metal/metal1.wav" id="10_jcdrv"]
|
||||
[ext_resource type="Script" uid="uid://pkk1qg3bqjhj" path="res://src/player/hold_component.gd" id="11_h0enb"]
|
||||
[ext_resource type="AudioStream" uid="uid://bv00dudic2mvp" path="res://assets/sfx/footsteps/metal/metal3.wav" id="11_hja65"]
|
||||
@ -650,7 +651,8 @@ current = true
|
||||
[node name="InteractRay" type="RayCast3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D"]
|
||||
unique_name_in_owner = true
|
||||
target_position = Vector3(0, 0, -1.5)
|
||||
collision_mask = 2
|
||||
collision_mask = 35
|
||||
script = ExtResource("10_4ptlo")
|
||||
|
||||
[node name="FarLight" type="OmniLight3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
|
||||
@ -683,6 +685,7 @@ parameters/timescale/scale = false
|
||||
script = ExtResource("7_x42xx")
|
||||
|
||||
[node name="HoldComponent" type="Node3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("11_h0enb")
|
||||
hold_accel = 40.0
|
||||
hold_speed = 20.0
|
||||
|
@ -8,11 +8,27 @@ var _active: Tool
|
||||
|
||||
func _ready() -> void:
|
||||
set_active(initial_tool)
|
||||
_deferred_init.call_deferred()
|
||||
|
||||
|
||||
func _deferred_init() -> void:
|
||||
Player.instance.hold_component.dropped.connect(show_tool)
|
||||
Player.instance.hold_component.held.connect(hide_tool)
|
||||
|
||||
|
||||
func hide_tool() -> void:
|
||||
# TODO maybe animate?
|
||||
visible = false
|
||||
|
||||
|
||||
func show_tool() -> void:
|
||||
# TODO maybe animate?
|
||||
visible = true
|
||||
|
||||
|
||||
## Returns the currently-active tool.
|
||||
func get_active() -> Tool:
|
||||
return _active
|
||||
return _active if visible else null
|
||||
|
||||
|
||||
## Sets the given tool as active.
|
||||
|
@ -281,7 +281,7 @@ _data = {
|
||||
&"spray": SubResource("Animation_88qrs")
|
||||
}
|
||||
|
||||
[node name="Bulkhead" groups=["Persistent"] instance=ExtResource("1_77udb")]
|
||||
[node name="Bulkhead" groups=["Bulkheads", "Persistent"] instance=ExtResource("1_77udb")]
|
||||
script = ExtResource("2_hknvo")
|
||||
|
||||
[node name="Frame" parent="." index="0"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://drm5dspi48pf5"]
|
||||
[gd_scene load_steps=12 format=3 uid="uid://drm5dspi48pf5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://sksndhqyo2bn" path="res://src/props/physics/persistent_prop.gd" id="1_q4djj"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cd7vwjss7qytk" path="res://assets/props/crate_long/crate_long.obj" id="1_sao54"]
|
||||
@ -10,9 +10,6 @@
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="7_rlyiq"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="8_p8srg"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_p8srg"]
|
||||
size = Vector3(0.75, 0.5, 1.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8j27j"]
|
||||
albedo_texture = ExtResource("2_rlyiq")
|
||||
metallic = 1.0
|
||||
@ -23,8 +20,8 @@ normal_texture = ExtResource("4_q4djj")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p8srg"]
|
||||
data = PackedVector3Array(0.375, -0.15, 0.75, 0.275, -0.25, 0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, -0.25, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.375, 0.15, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, 0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, 0.75, 0.375, 0.15, -0.75, 0.375, -0.15, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, 0.75, -0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.275, 0.25, 0.75, -0.375, 0.15, 0.75, -0.375, -0.15, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, -0.75, -0.375, -0.15, -0.75, -0.275, -0.25, -0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, -0.25, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.375, 0.15, -0.75, 0.375, 0.15, -0.75, -0.275, -0.25, -0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.275, -0.25, 0.75)
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_q4djj"]
|
||||
points = PackedVector3Array(0.375, 0.149961, 0.75, 0.375, -0.15001, 0.75, 0.375, 0.149961, -0.75, 0.274936, 0.25, 0.75, 0.274936, -0.25, 0.75, 0.375, -0.15001, -0.75, 0.274936, 0.25, -0.75, -0.275083, 0.25, 0.75, -0.275083, -0.25, 0.75, 0.274936, -0.25, -0.75, -0.275083, 0.25, -0.75, -0.375, 0.149961, 0.75, -0.375, -0.15001, 0.75, -0.275083, -0.25, -0.75, -0.375, 0.149961, -0.75, -0.375, -0.15001, -0.75)
|
||||
|
||||
[node name="PhysCrateLong" type="RigidBody3D" groups=["Persistent", "PlasticMaterial"]]
|
||||
collision_layer = 67
|
||||
@ -32,24 +29,17 @@ collision_mask = 73
|
||||
mass = 200.0
|
||||
script = ExtResource("1_q4djj")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_p8srg")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_sao54")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_8j27j")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("ConvexPolygonShape3D_q4djj")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p8srg")
|
||||
|
||||
[node name="Gunkable" parent="MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_064yj")]
|
||||
[node name="Gunkable" parent="." node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_064yj")]
|
||||
mask_dim = 128
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("7_rlyiq")
|
||||
|
||||
[node name="Holdable" type="Node" parent="."]
|
||||
|
@ -1,31 +1,39 @@
|
||||
class_name Interactive extends StaticBody3D
|
||||
class_name Interactive extends Node
|
||||
## Props the player can interact with.
|
||||
|
||||
signal activated
|
||||
signal selected
|
||||
|
||||
const SELECT_SIGNAL := "selected"
|
||||
const DESELECT_SIGNAL := "deselected"
|
||||
const ACTIVATE_SIGNAL := "activated"
|
||||
|
||||
@export var enabled := false
|
||||
@export var label := ""
|
||||
@export var verb := "use"
|
||||
|
||||
var _is_selected := false
|
||||
var _selected_this_frame := false
|
||||
var controller: Node
|
||||
var is_selected := false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
controller = get_parent()
|
||||
controller.add_user_signal(SELECT_SIGNAL)
|
||||
controller.connect(SELECT_SIGNAL, select)
|
||||
controller.add_user_signal(DESELECT_SIGNAL)
|
||||
controller.connect(DESELECT_SIGNAL, deselect)
|
||||
controller.add_user_signal(ACTIVATE_SIGNAL)
|
||||
controller.connect(ACTIVATE_SIGNAL, activate)
|
||||
|
||||
|
||||
func select() -> void:
|
||||
Player.instance.hud.interact_hud.set_interactive(self)
|
||||
|
||||
|
||||
func deselect() -> void:
|
||||
Player.instance.hud.interact_hud.set_interactive(null)
|
||||
|
||||
|
||||
func activate() -> void:
|
||||
if enabled:
|
||||
activated.emit()
|
||||
# TODO: bonk
|
||||
|
||||
|
||||
func select() -> void:
|
||||
if not _is_selected:
|
||||
selected.emit()
|
||||
_is_selected = true
|
||||
_selected_this_frame = true
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if not _selected_this_frame:
|
||||
_is_selected = false
|
||||
_selected_this_frame = false
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://cv6sxj04rrkt2"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://cv6sxj04rrkt2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://sksndhqyo2bn" path="res://src/props/physics/persistent_prop.gd" id="1_3jm8i"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="1_fu1y0"]
|
||||
@ -10,8 +10,11 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bcnsofhrfxyjk" path="res://assets/props/med_cart/med_cart_R.png" id="7_2wjh0"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="8_8v7ae"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_fu1y0"]
|
||||
size = Vector3(0.7, 1, 1.2)
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_3jm8i"]
|
||||
size = Vector3(0.7, 0.06, 1.2)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_r1b3g"]
|
||||
size = Vector3(0.7, 1, 0.06)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xx4to"]
|
||||
transparency = 2
|
||||
@ -34,14 +37,28 @@ collision_mask = 73
|
||||
mass = 40.0
|
||||
script = ExtResource("1_3jm8i")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_fu1y0")
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
|
||||
shape = SubResource("BoxShape3D_3jm8i")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.3, 0)
|
||||
shape = SubResource("BoxShape3D_3jm8i")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.56)
|
||||
shape = SubResource("BoxShape3D_r1b3g")
|
||||
|
||||
[node name="CollisionShape3D5" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.56)
|
||||
shape = SubResource("BoxShape3D_r1b3g")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("3_3jm8i")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xx4to")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||
visible = false
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
|
||||
|
@ -2,10 +2,34 @@ class_name Holdable extends Node
|
||||
## Component for holdable elements
|
||||
|
||||
@export var hold_distance := 1.0
|
||||
@export var controller: RigidBody3D
|
||||
|
||||
|
||||
static func get_component(o: Object) -> Holdable:
|
||||
var n := o as Node
|
||||
if n and n.has_node("Holdable"):
|
||||
return n.get_node_or_null("Holdable") as Holdable
|
||||
return null
|
||||
func _ready() -> void:
|
||||
if not controller:
|
||||
controller = _default_controller()
|
||||
assert(controller, "Holdable %s has no valid controller!" % str(self))
|
||||
|
||||
controller.add_user_signal(Interactive.SELECT_SIGNAL)
|
||||
controller.connect(Interactive.SELECT_SIGNAL, select)
|
||||
controller.add_user_signal(Interactive.DESELECT_SIGNAL)
|
||||
controller.connect(Interactive.DESELECT_SIGNAL, deselect)
|
||||
controller.add_user_signal(Interactive.ACTIVATE_SIGNAL)
|
||||
controller.connect(Interactive.ACTIVATE_SIGNAL, activate)
|
||||
|
||||
|
||||
func _default_controller() -> RigidBody3D:
|
||||
return get_parent() as RigidBody3D
|
||||
|
||||
|
||||
func select() -> void:
|
||||
Player.instance.hud.hold_hud.select_prop()
|
||||
|
||||
|
||||
func deselect() -> void:
|
||||
Player.instance.hud.hold_hud.deselect()
|
||||
|
||||
|
||||
func activate() -> void:
|
||||
if not Player.instance.hold_component.holding_object():
|
||||
Player.instance.hold_component.attach(controller, hold_distance)
|
||||
|
@ -23,17 +23,18 @@ Scanner"
|
||||
font_size = 96
|
||||
outline_size = 24
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="."]
|
||||
collision_layer = 3
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractiveBody"]
|
||||
shape = SubResource("BoxShape3D_5bfyo")
|
||||
|
||||
[node name="Interactive" type="Node" parent="InteractiveBody"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("1_ldtbm")
|
||||
label = "INTERACTIVE_SCANNER_LABEL"
|
||||
verb = "INTERACTIVE_SCANNER_VERB"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive"]
|
||||
shape = SubResource("BoxShape3D_5bfyo")
|
||||
|
||||
[connection signal="activated" from="Interactive" to="." method="_activate"]
|
||||
[connection signal="selected" from="Interactive" to="." method="_on_interactive_selected"]
|
||||
[connection signal="activated" from="InteractiveBody/Interactive" to="." method="_activate"]
|
||||
|
237
src/props/sofa/phys_sofa.tscn
Normal file
237
src/props/sofa/phys_sofa.tscn
Normal file
@ -0,0 +1,237 @@
|
||||
[gd_scene load_steps=19 format=3 uid="uid://c55n6h3ydi32e"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://vb5cxt1113xr" path="res://assets/props/sofa/sofa_frame.obj" id="2_txvha"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7wa2igxm2vta" path="res://assets/props/sofa/sofa_C.png" id="3_twcgi"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdutuchsgsudg" path="res://assets/props/sofa/sofa_M.png" id="4_pr1sr"]
|
||||
[ext_resource type="Texture2D" uid="uid://c0fmlt2f7h0l7" path="res://assets/props/sofa/sofa_N.png" id="5_p1o88"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgedr6qe65yve" path="res://assets/props/sofa/sofa_R.png" id="6_xa6g3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="7_twcgi"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="8_pr1sr"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bc4otwcwsiu2m" path="res://assets/props/sofa/sofa_bottom_cushion.obj" id="9_p1o88"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="10_xa6g3"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://drr1wn0wmt5bi" path="res://assets/props/sofa/sofa_top_cushion.obj" id="11_yib26"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yib26"]
|
||||
albedo_texture = ExtResource("3_twcgi")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("4_pr1sr")
|
||||
roughness_texture = ExtResource("6_xa6g3")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("5_p1o88")
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_txvha"]
|
||||
data = PackedVector3Array(-1.25, 0.05, 0.6, -1.09, -0.35, 0.6, -1.25, -0.5, 0.6, -1.09, 0.05, 0.6, -1.09, -0.35, 0.6, -1.25, 0.05, 0.6, -1.04, -0.5, 0.6, -1.25, -0.5, 0.6, -1.09, -0.35, 0.6, -1.09, -0.35, 0.6, 1.04, -0.5, 0.6, -1.04, -0.5, 0.6, 1.09, -0.35, 0.6, 1.04, -0.5, 0.6, -1.09, -0.35, 0.6, 1.04, -0.5, 0.6, 1.09, -0.35, 0.6, 1.25, -0.5, 0.6, 1.25, 0.05, 0.6, 1.25, -0.5, 0.6, 1.09, -0.35, 0.6, 1.09, 0.05, 0.6, 1.25, 0.05, 0.6, 1.09, -0.35, 0.6, -1.25, -0.5, -0.6, -1.04, -0.5, -0.6, -1.25, 0.05, -0.6, -1.25, 0.05, -0.6, -1.04, -0.5, -0.6, -1.04, 0.05, -0.6, -1.04, -0.5, -0.6, 1.04, -0.5, -0.6, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, 1.04, -0.5, -0.6, -1.04, 0.3, -0.6, -1.04, 0.3, -0.6, 1.04, -0.5, -0.6, 1.04, 0.3, -0.6, 1.04, 0.3, -0.6, 1.04, -0.5, -0.6, 1.04, 0.05, -0.6, 1.04, -0.5, -0.6, 1.25, -0.5, -0.6, 1.04, 0.05, -0.6, 1.04, 0.05, -0.6, 1.25, -0.5, -0.6, 1.25, 0.05, -0.6, 1.04, 0.3, -0.51, -1.04, 0.3, -0.51, 1.04, 0.3, -0.6, 1.04, 0.3, -0.6, -1.04, 0.3, -0.51, -1.04, 0.3, -0.6, -1.04, 0.05, -0.4225, -1.04, 0.05, -0.6, -1.04, 0.3, -0.51, -1.04, 0.3, -0.51, -1.04, 0.05, -0.6, -1.04, 0.3, -0.6, 1.04, 0.05, -0.4225, 1.04, 0.05, 0.55, 1.04, -0.3, -0.3, 1.04, -0.3, -0.3, 1.04, 0.05, 0.55, 1.04, -0.3, 0.55, 1.04, -0.3, 0.55, -1.04, -0.3, 0.55, 1.04, -0.3, -0.3, 1.04, -0.3, -0.3, -1.04, -0.3, 0.55, -1.04, -0.3, -0.3, -1.04, 0.05, 0.55, -1.04, 0.05, -0.4225, -1.04, -0.3, 0.55, -1.04, -0.3, 0.55, -1.04, 0.05, -0.4225, -1.04, -0.3, -0.3, 1.3, -0.5, -0.55, 1.3, -0.5, 0.55, 1.3, 0.05, -0.55, 1.3, 0.05, -0.55, 1.3, -0.5, 0.55, 1.3, 0.05, 0.55, -1.25, -0.5, -0.6, -1.3, -0.5, -0.55, -1.04, -0.5, -0.6, -1.25, -0.5, 0.6, -1.3, -0.5, -0.55, -1.3, -0.5, 0.55, -1.04, -0.5, 0.6, -1.3, -0.5, -0.55, -1.25, -0.5, 0.6, -1.04, -0.5, -0.6, -1.3, -0.5, -0.55, -1.04, -0.5, 0.6, 1.04, -0.5, 0.6, -1.04, -0.5, -0.6, -1.04, -0.5, 0.6, 1.04, -0.5, -0.6, -1.04, -0.5, -0.6, 1.04, -0.5, 0.6, 1.25, -0.5, 0.6, 1.04, -0.5, -0.6, 1.04, -0.5, 0.6, 1.3, -0.5, 0.55, 1.04, -0.5, -0.6, 1.25, -0.5, 0.6, 1.3, -0.5, -0.55, 1.04, -0.5, -0.6, 1.3, -0.5, 0.55, 1.25, -0.5, -0.6, 1.04, -0.5, -0.6, 1.3, -0.5, -0.55, -1.09, 0.1, -0.55, -1.09, 0.1, 0.55, -1.25, 0.1, -0.55, -1.25, 0.1, -0.55, -1.09, 0.1, 0.55, -1.25, 0.1, 0.55, 1.04, -0.3, -0.3, -1.04, -0.3, -0.3, 1.04, 0.05, -0.4225, 1.04, 0.05, -0.4225, -1.04, -0.3, -0.3, 1.04, 0.3, -0.51, 1.04, 0.3, -0.51, -1.04, -0.3, -0.3, -1.04, 0.3, -0.51, -1.04, 0.3, -0.51, -1.04, -0.3, -0.3, -1.04, 0.05, -0.4225, 1.25, 0.1, 0.55, 1.09, 0.1, 0.55, 1.25, 0.1, -0.55, 1.25, 0.1, -0.55, 1.09, 0.1, 0.55, 1.09, 0.1, -0.55, -1.3, -0.5, 0.55, -1.3, -0.5, -0.55, -1.3, 0.05, 0.55, -1.3, 0.05, 0.55, -1.3, -0.5, -0.55, -1.3, 0.05, -0.55, 1.09, 0.05, 0.6, 1.04, 0.05, 0.55, 1.09, 0.1, 0.55, -1.09, 0.1, 0.55, -1.04, 0.05, 0.55, -1.09, 0.05, 0.6, 1.25, 0.1, 0.55, 1.3, 0.05, 0.55, 1.25, 0.05, 0.6, -1.25, 0.1, -0.55, -1.3, 0.05, -0.55, -1.25, 0.05, -0.6, 1.25, 0.05, -0.6, 1.3, 0.05, -0.55, 1.25, 0.1, -0.55, -1.25, 0.05, 0.6, -1.3, 0.05, 0.55, -1.25, 0.1, 0.55, -1.04, -0.3, 0.55, 1.04, -0.3, 0.55, -1.09, -0.35, 0.6, -1.09, -0.35, 0.6, 1.04, -0.3, 0.55, 1.09, -0.35, 0.6, 1.04, 0.05, 0.55, 1.04, 0.05, -0.4225, 1.09, 0.1, 0.55, 1.09, 0.1, 0.55, 1.04, 0.05, -0.4225, 1.09, 0.1, -0.55, 1.09, 0.1, -0.55, 1.04, 0.05, -0.4225, 1.04, 0.05, -0.6, -1.04, 0.05, 0.55, -1.09, 0.1, 0.55, -1.04, 0.05, -0.4225, -1.04, 0.05, -0.4225, -1.09, 0.1, 0.55, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, -1.09, 0.1, 0.55, -1.09, 0.1, -0.55, 1.25, 0.1, 0.55, 1.25, 0.1, -0.55, 1.3, 0.05, 0.55, 1.3, 0.05, 0.55, 1.25, 0.1, -0.55, 1.3, 0.05, -0.55, -1.25, 0.1, -0.55, -1.25, 0.1, 0.55, -1.3, 0.05, -0.55, -1.3, 0.05, -0.55, -1.25, 0.1, 0.55, -1.3, 0.05, 0.55, 1.04, 0.05, -0.6, 1.25, 0.05, -0.6, 1.09, 0.1, -0.55, 1.09, 0.1, -0.55, 1.25, 0.05, -0.6, 1.25, 0.1, -0.55, 1.25, 0.05, 0.6, 1.09, 0.05, 0.6, 1.25, 0.1, 0.55, 1.25, 0.1, 0.55, 1.09, 0.05, 0.6, 1.09, 0.1, 0.55, -1.09, 0.1, -0.55, -1.25, 0.1, -0.55, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, -1.25, 0.1, -0.55, -1.25, 0.05, -0.6, -1.25, 0.1, 0.55, -1.09, 0.1, 0.55, -1.25, 0.05, 0.6, -1.25, 0.05, 0.6, -1.09, 0.1, 0.55, -1.09, 0.05, 0.6, 1.09, 0.05, 0.6, 1.09, -0.35, 0.6, 1.04, 0.05, 0.55, 1.04, 0.05, 0.55, 1.09, -0.35, 0.6, 1.04, -0.3, 0.55, 1.3, -0.5, -0.55, 1.3, 0.05, -0.55, 1.25, -0.5, -0.6, 1.25, -0.5, -0.6, 1.3, 0.05, -0.55, 1.25, 0.05, -0.6, 1.25, -0.5, 0.6, 1.25, 0.05, 0.6, 1.3, -0.5, 0.55, 1.3, -0.5, 0.55, 1.25, 0.05, 0.6, 1.3, 0.05, 0.55, -1.04, 0.05, 0.55, -1.04, -0.3, 0.55, -1.09, 0.05, 0.6, -1.09, 0.05, 0.6, -1.04, -0.3, 0.55, -1.09, -0.35, 0.6, -1.3, -0.5, 0.55, -1.3, 0.05, 0.55, -1.25, -0.5, 0.6, -1.25, -0.5, 0.6, -1.3, 0.05, 0.55, -1.25, 0.05, 0.6, -1.25, -0.5, -0.6, -1.25, 0.05, -0.6, -1.3, -0.5, -0.55, -1.3, -0.5, -0.55, -1.25, 0.05, -0.6, -1.3, 0.05, -0.55, 1.04, 0.05, -0.6, 1.04, 0.05, -0.4225, 1.04, 0.3, -0.6, 1.04, 0.3, -0.6, 1.04, 0.05, -0.4225, 1.04, 0.3, -0.51)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_twcgi"]
|
||||
size = Vector3(0.26, 0.6, 1.2)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pr1sr"]
|
||||
points = PackedVector3Array(-1.04, -0.5, -0.6, -1.04, -0.30002, -0.3, 1.04, -0.5, -0.6, -1.04, -0.5, 0.6, -1.04, -0.30002, 0.549961, 1.04, -0.30002, -0.3, 1.04, -0.5, 0.6, -1.04, -0.35, 0.6, 1.04, -0.30002, 0.549961, 1.04, -0.35, 0.6)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_p1o88"]
|
||||
points = PackedVector3Array(1.04, 0.3, -0.510024, 1.04, 0.3, -0.6, -1.04, 0.3, -0.510024, 1.04, -0.300078, -0.3, 1.04, -0.5, -0.6, -1.04, 0.3, -0.6, -1.04, -0.300078, -0.3, -1.04, -0.5, -0.6)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa6g3"]
|
||||
albedo_texture = ExtResource("3_twcgi")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("4_pr1sr")
|
||||
roughness_texture = ExtResource("6_xa6g3")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("5_p1o88")
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_yib26"]
|
||||
points = PackedVector3Array(0.345722, 0.0288206, -0.401557, 0.300713, 0.0738257, -0.402183, 0.288666, 0.0738257, 0.407649, 0.333607, 0.0288206, 0.408364, 0.345722, -0.0311811, -0.401557, 0.301322, 0.0288206, -0.447263, 0.108292, 0.0796687, -0.405134, 0.0957707, 0.0796687, 0.412747, 0.287989, 0.0288206, 0.452639, 0.333607, -0.0311811, 0.408364, 0.288666, -0.076171, 0.407649, 0.300713, -0.076171, -0.402183, 0.301322, -0.0311811, -0.447263, 0.108969, 0.0329245, -0.450125, -0.0958384, 0.0796687, -0.408086, -0.10836, 0.0796687, 0.409885, 0.0950938, 0.0329245, 0.457827, 0.287989, -0.0311811, 0.452639, 0.0957707, -0.076171, 0.412747, 0.108292, -0.076171, -0.405134, -0.288057, -0.0311811, -0.455939, 0.108969, -0.0294267, -0.450125, -0.288057, 0.0288206, -0.455939, -0.0951615, 0.0329245, -0.453077, -0.288733, 0.0738257, -0.410948, -0.300781, 0.0738257, 0.398883, -0.301458, 0.0288206, 0.443874, -0.109036, 0.0329245, 0.454875, 0.0950938, -0.0294267, 0.457827, -0.10836, -0.076171, 0.409885, -0.288733, -0.076171, -0.410948, -0.333675, -0.0311811, -0.411664, -0.333675, 0.0288206, -0.411664, -0.345722, 0.0288206, 0.398257, -0.301458, -0.0311811, 0.443874, -0.109036, -0.0294267, 0.454875, -0.300781, -0.076171, 0.398883, -0.345722, -0.0311811, 0.398257)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_s5bq7"]
|
||||
points = PackedVector3Array(0.0982352, 0.277807, -0.0967521, 0.0982352, 0.220456, -0.125988, -0.0983018, 0.277807, -0.0967521, 0.0982352, 0.250158, -0.0360101, 0.294706, 0.270895, -0.0985379, 0.294706, 0.213544, -0.126141, -0.0983018, 0.220456, -0.125988, -0.0983018, 0.250158, -0.0360101, -0.294772, 0.270895, -0.0985379, 0.0982352, -0.216585, 0.134455, 0.294706, 0.243299, -0.0412143, 0.339733, 0.228449, -0.0836904, 0.294706, -0.246287, 0.0348089, -0.294772, 0.213544, -0.126141, -0.294772, 0.243299, -0.0412143, -0.0983018, -0.216585, 0.134455, -0.339733, 0.228449, -0.0836904, 0.0982352, -0.273882, 0.10522, 0.294706, -0.273882, 0.0921325, 0.294706, -0.216585, 0.119736, 0.339733, -0.231436, 0.077285, -0.294772, -0.246287, 0.0348089, -0.339733, -0.231436, 0.077285, -0.294772, -0.216585, 0.119736, -0.0983018, -0.273882, 0.10522, -0.294772, -0.273882, 0.0921325)
|
||||
|
||||
[node name="PhysSofa" type="Node3D"]
|
||||
|
||||
[node name="SofaFrame" type="RigidBody3D" parent="."]
|
||||
collision_layer = 98
|
||||
collision_mask = 73
|
||||
mass = 500.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="SofaFrame"]
|
||||
mesh = ExtResource("2_txvha")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_yib26")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="SofaFrame/MeshInstance3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SofaFrame/MeshInstance3D/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_txvha")
|
||||
|
||||
[node name="Gunkable" parent="SofaFrame/MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="ArmLCollision" type="CollisionShape3D" parent="SofaFrame"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.17, -0.2, 0)
|
||||
shape = SubResource("BoxShape3D_twcgi")
|
||||
|
||||
[node name="ArmRCollision" type="CollisionShape3D" parent="SofaFrame"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17, -0.2, 0)
|
||||
shape = SubResource("BoxShape3D_twcgi")
|
||||
|
||||
[node name="BaseCollision" type="CollisionShape3D" parent="SofaFrame"]
|
||||
shape = SubResource("ConvexPolygonShape3D_pr1sr")
|
||||
|
||||
[node name="BackCollision" type="CollisionShape3D" parent="SofaFrame"]
|
||||
shape = SubResource("ConvexPolygonShape3D_p1o88")
|
||||
|
||||
[node name="BottomCushion" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.999999, 0, -0.00153589, 0, 1, 0, 0.00153589, 0, 0.999999, 0, -0.224, 0.153)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion"]
|
||||
mesh = ExtResource("9_p1o88")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion"]
|
||||
shape = SubResource("ConvexPolygonShape3D_yib26")
|
||||
|
||||
[node name="Gunkable" parent="BottomCushion" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="BottomCushion"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="BottomCushion3" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.999822, 0.00228604, -0.0187437, -0.00228638, 0.999997, 3.51163e-06, 0.0187437, 3.93442e-05, 0.999824, 0.688976, -0.224, 0.17095)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion3"]
|
||||
mesh = ExtResource("9_p1o88")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion3"]
|
||||
shape = SubResource("ConvexPolygonShape3D_yib26")
|
||||
|
||||
[node name="Gunkable" parent="BottomCushion3" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="BottomCushion3"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="BottomCushion2" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.999913, 0, 0.0131594, 0, 1, 0, -0.0131594, 0, 0.999913, -0.690142, -0.223657, 0.154269)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion2"]
|
||||
mesh = ExtResource("9_p1o88")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion2"]
|
||||
shape = SubResource("ConvexPolygonShape3D_yib26")
|
||||
|
||||
[node name="Gunkable" parent="BottomCushion2" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="BottomCushion2"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="TopCushion" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.999895, 0.0133165, 0.00570669, -0.0133163, 0.999911, -7.59997e-05, -0.0057072, -7.27493e-12, 0.999984, -0.689198, 0.077623, -0.380305)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion"]
|
||||
mesh = ExtResource("11_yib26")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion"]
|
||||
shape = SubResource("ConvexPolygonShape3D_s5bq7")
|
||||
|
||||
[node name="Gunkable" parent="TopCushion" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="TopCushion"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="TopCushion2" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000443935, 0.0780895, -0.380305)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion2"]
|
||||
mesh = ExtResource("11_yib26")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion2"]
|
||||
shape = SubResource("ConvexPolygonShape3D_s5bq7")
|
||||
|
||||
[node name="Gunkable" parent="TopCushion2" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="TopCushion2"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="TopCushion3" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.999759, -0.00898652, -0.0200525, 0.00898832, 0.99996, 0, 0.0200517, -0.000180238, 0.999799, 0.691321, 0.0831664, -0.380305)
|
||||
collision_layer = 70
|
||||
collision_mask = 73
|
||||
mass = 30.0
|
||||
sleeping = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion3"]
|
||||
mesh = ExtResource("11_yib26")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion3"]
|
||||
shape = SubResource("ConvexPolygonShape3D_s5bq7")
|
||||
|
||||
[node name="Gunkable" parent="TopCushion3" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../MeshInstance3D")
|
||||
source_gunk_material = ExtResource("8_pr1sr")
|
||||
|
||||
[node name="Holdable" type="Node" parent="TopCushion3"]
|
||||
script = ExtResource("10_xa6g3")
|
||||
hold_distance = 1.2
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
File diff suppressed because one or more lines are too long
@ -10,8 +10,8 @@
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="7_7amwm"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="9_kxk5h"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_kxk5h"]
|
||||
size = Vector3(0.305, 1, 0.739)
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_kxk5h"]
|
||||
points = PackedVector3Array(-0.4, -0.5, -7.83205e-05, -0.28285, -0.5, -0.28285, -0.28285, -0.5, 0.282772, -0.4, 0.399961, -7.83205e-05, -7.83205e-05, -0.5, -0.4, -0.28285, 0.399961, -0.28285, -7.83205e-05, -0.5, 0.4, -0.28285, 0.399961, 0.282772, -0.350196, 0.5, -7.83205e-05, 0.282772, -0.5, -0.28285, -7.83205e-05, 0.399961, -0.4, -0.247612, 0.5, -0.247612, -7.83205e-05, 0.5, -0.350196, 0.282772, -0.5, 0.282772, -7.83205e-05, 0.399961, 0.4, -0.247612, 0.5, 0.247533, 0.4, -0.5, -7.83205e-05, 0.282772, 0.399961, -0.28285, 0.247533, 0.5, -0.247612, 0.282772, 0.399961, 0.282772, 0.247533, 0.5, 0.247533, -7.83205e-05, 0.5, 0.350039, 0.4, 0.399961, -7.83205e-05, 0.350039, 0.5, -7.83205e-05)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2hi74"]
|
||||
albedo_texture = ExtResource("2_g7pab")
|
||||
@ -32,20 +32,7 @@ mass = 40.0
|
||||
script = ExtResource("1_g7pab")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.92388, 0, 0.382683, 0, 1, 0, -0.382683, 0, 0.92388, 0, 0, 0)
|
||||
shape = SubResource("BoxShape3D_kxk5h")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.382683, 0, 0.92388, 0, 1, 0, -0.92388, 0, 0.382683, 0, 0, 0)
|
||||
shape = SubResource("BoxShape3D_kxk5h")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(-0.382683, 0, 0.92388, 0, 1, 0, -0.92388, 0, -0.382683, 0, 0, 0)
|
||||
shape = SubResource("BoxShape3D_kxk5h")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(-0.923879, 0, 0.382683, 0, 1, 0, -0.382683, 0, -0.923879, 0, 0, 0)
|
||||
shape = SubResource("BoxShape3D_kxk5h")
|
||||
shape = SubResource("ConvexPolygonShape3D_kxk5h")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_2hi74")
|
||||
|
@ -184,7 +184,7 @@ _data = {
|
||||
}
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_6maql"]
|
||||
size = Vector3(0.3, 0.4, 0.1)
|
||||
size = Vector3(0.48, 0.64, 0.2)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_mxsyy"]
|
||||
radius = 3.0
|
||||
@ -240,16 +240,19 @@ libraries = {
|
||||
}
|
||||
autoplay = "error_blink"
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="." index="4"]
|
||||
unique_name_in_owner = true
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="." index="4"]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractiveBody" index="0"]
|
||||
shape = SubResource("BoxShape3D_6maql")
|
||||
|
||||
[node name="Interactive" type="Node" parent="InteractiveBody" index="1"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("10_qw6jt")
|
||||
label = "INTERACTIVE_SWITCH_LABEL"
|
||||
verb = "INTERACTIVE_SWITCH_VERB"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive" index="0"]
|
||||
shape = SubResource("BoxShape3D_6maql")
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="ActionSFX" type="AudioStreamPlayer3D" parent="." index="5"]
|
||||
unique_name_in_owner = true
|
||||
@ -273,6 +276,6 @@ metadata/_custom_type_script = "uid://c5o1d2shq2qig"
|
||||
shape = SubResource("SphereShape3D_mxsyy")
|
||||
|
||||
[connection signal="clear_total_updated" from="StaticBody3D/Gunkable" to="." method="_on_clear_total_updated"]
|
||||
[connection signal="activated" from="Interactive" to="." method="_activate"]
|
||||
[connection signal="activated" from="InteractiveBody/Interactive" to="." method="_activate"]
|
||||
[connection signal="timeout" from="ActionDelay" to="." method="_on_action_delay_timeout"]
|
||||
[connection signal="timeout" from="ActionDelay" to="WallSwitchGameSoundEmitter" method="emit_sound_here"]
|
||||
|
@ -23,11 +23,13 @@ var _base_rumble := 0.0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if World.instance:
|
||||
World.instance.manager.grunk_collected.connect(on_grunk_collected)
|
||||
World.instance.manager.grunk_emptied.connect(on_grunk_emptied)
|
||||
|
||||
|
||||
func get_target_rotation() -> float:
|
||||
if World.instance:
|
||||
return remap(
|
||||
World.instance.manager.grunk_tank,
|
||||
0,
|
||||
@ -35,6 +37,7 @@ func get_target_rotation() -> float:
|
||||
NEEDLE_ANGLE_MIN,
|
||||
NEEDLE_ANGLE_MAX
|
||||
)
|
||||
return 0
|
||||
|
||||
|
||||
func on_grunk_collected(_delta: float) -> void:
|
||||
|
49
src/ui/hud/hold_hud.gd
Normal file
49
src/ui/hud/hold_hud.gd
Normal file
@ -0,0 +1,49 @@
|
||||
class_name HoldHUD extends Control
|
||||
|
||||
enum State {
|
||||
NONE,
|
||||
SELECTED,
|
||||
HELD,
|
||||
}
|
||||
|
||||
var state := State.NONE
|
||||
|
||||
@onready var open_hand: Label = %OpenHand
|
||||
@onready var closed_hand: Label = %ClosedHand
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_deferred_init.call_deferred()
|
||||
|
||||
|
||||
func _deferred_init() -> void:
|
||||
Player.instance.hold_component.dropped.connect(reset)
|
||||
Player.instance.hold_component.held.connect(prop_held)
|
||||
|
||||
|
||||
func prop_selected() -> void:
|
||||
state = State.SELECTED
|
||||
open_hand.visible = true
|
||||
closed_hand.visible = false
|
||||
|
||||
|
||||
func prop_held() -> void:
|
||||
state = State.HELD
|
||||
open_hand.visible = false
|
||||
closed_hand.visible = true
|
||||
|
||||
|
||||
func reset() -> void:
|
||||
state = State.NONE
|
||||
open_hand.visible = false
|
||||
closed_hand.visible = false
|
||||
|
||||
|
||||
func select_prop() -> void:
|
||||
if state == State.NONE:
|
||||
prop_selected()
|
||||
|
||||
|
||||
func deselect() -> void:
|
||||
if state == State.SELECTED:
|
||||
reset()
|
1
src/ui/hud/hold_hud.gd.uid
Normal file
1
src/ui/hud/hold_hud.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://ctvu31jkk1un2
|
@ -11,6 +11,10 @@ const COLOR_INVISIBLE := Color("#ffffff00")
|
||||
@onready var interact_verb: Label = %InteractVerb
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_to_invisible()
|
||||
|
||||
|
||||
func _transition_color(color: Color) -> void:
|
||||
create_tween().tween_property(self, "modulate", color, TRANSITION_TIME).set_trans(
|
||||
Tween.TRANS_CUBIC
|
||||
@ -29,7 +33,7 @@ func _to_invisible() -> void:
|
||||
_transition_color(COLOR_INVISIBLE)
|
||||
|
||||
|
||||
func set_prop(prop: Interactive) -> void:
|
||||
func set_interactive(prop: Interactive) -> void:
|
||||
if prop:
|
||||
interact_name.text = prop.label
|
||||
interact_verb.text = prop.verb
|
||||
|
@ -1,6 +1,7 @@
|
||||
class_name PlayerHUD extends Control
|
||||
|
||||
@onready var interact_hud: InteractHUD = %InteractHUD
|
||||
@onready var hold_hud: HoldHUD = %HoldHUD
|
||||
|
||||
@onready var grunk_alert_player: AnimationPlayer = %GrunkAlertPlayer
|
||||
@onready var tank_alert_player: AnimationPlayer = %TankAlertPlayer
|
||||
@ -8,14 +9,11 @@ class_name PlayerHUD extends Control
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if World.instance:
|
||||
World.instance.manager.alert_raised.connect(_on_raise_alert)
|
||||
World.instance.manager.alert_cleared.connect(_on_clear_alert)
|
||||
|
||||
|
||||
func select_interactive(prop: Interactive) -> void:
|
||||
interact_hud.set_prop(prop)
|
||||
|
||||
|
||||
func _on_raise_alert(_new_value: int) -> void:
|
||||
grunk_alert_player.play("grunk_alert")
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://dq1x21tq06dud"]
|
||||
[gd_scene load_steps=18 format=3 uid="uid://dq1x21tq06dud"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://b07fevr214mmr" path="res://src/ui/hud/hud_theme.tres" id="1_lirk3"]
|
||||
[ext_resource type="Script" uid="uid://lrsv0185bfu" path="res://src/ui/hud/player_hud.gd" id="2_j6lpx"]
|
||||
@ -6,6 +6,7 @@
|
||||
[ext_resource type="FontFile" uid="uid://qadtckvw0t3l" path="res://assets/fonts/fontawesome-free-6.7.2-desktop/otfs/Font Awesome 6 Free-Solid-900.otf" id="4_2q5it"]
|
||||
[ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="4_iwjh7"]
|
||||
[ext_resource type="Script" uid="uid://cjs2fen6jo0g0" path="res://src/ui/rumbler.gd" id="4_ud8na"]
|
||||
[ext_resource type="Script" uid="uid://ctvu31jkk1un2" path="res://src/ui/hud/hold_hud.gd" id="5_65kmv"]
|
||||
[ext_resource type="FontFile" uid="uid://oq8ue2qrfijg" path="res://assets/fonts/Silkscreen/Silkscreen-Regular.ttf" id="7_iwjh7"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_iwjh7"]
|
||||
@ -289,6 +290,60 @@ unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "use"
|
||||
|
||||
[node name="HoldHUD" type="Control" parent="."]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(80, 80)
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("5_65kmv")
|
||||
|
||||
[node name="OpenHand" type="Label" parent="HoldHUD"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -16.0
|
||||
offset_top = -16.0
|
||||
offset_right = 16.0
|
||||
offset_bottom = 16.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("4_2q5it")
|
||||
text = ""
|
||||
|
||||
[node name="ClosedHand" type="Label" parent="HoldHUD"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -13.75
|
||||
offset_top = -10.012
|
||||
offset_right = 26.25
|
||||
offset_bottom = 31.3213
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_fonts/font = ExtResource("4_2q5it")
|
||||
theme_override_font_sizes/font_size = 33
|
||||
text = ""
|
||||
|
||||
[node name="AlertHUD" type="Control" parent="."]
|
||||
custom_minimum_size = Vector2(800, 600)
|
||||
layout_mode = 1
|
||||
@ -372,10 +427,10 @@ anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -21.2937
|
||||
offset_top = -19.1727
|
||||
offset_right = -21.2937
|
||||
offset_bottom = -19.1727
|
||||
offset_left = -17.6994
|
||||
offset_top = -20.4734
|
||||
offset_right = -17.6994
|
||||
offset_bottom = -20.4734
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("4_ud8na")
|
||||
|
@ -105,3 +105,9 @@ func _update_track_list() -> void:
|
||||
track_list.append(track.track)
|
||||
|
||||
World.instance.manager.mp3_collection = track_list
|
||||
|
||||
|
||||
func unlock_doors() -> void:
|
||||
for node: Node in get_tree().get_nodes_in_group("Bulkheads"):
|
||||
if node.has_method("open"):
|
||||
node.call("open")
|
||||
|
@ -90,6 +90,10 @@ layout_mode = 2
|
||||
text = "God mode"
|
||||
alignment = 2
|
||||
|
||||
[node name="UnlockDoors" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Open all doors"
|
||||
|
||||
[node name="KillPlayer" type="Button" parent="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Kill player"
|
||||
@ -327,6 +331,7 @@ preserve_on_drag = true
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/Header/CloseButton" to="." method="queue_free"]
|
||||
[connection signal="toggled" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer/GodMode" to="." method="set_god_mode"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer/UnlockDoors" to="." method="unlock_doors"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer/KillPlayer" to="." method="kill_player"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer/SaveButton" to="." method="save_game"]
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/HBoxContainer/LoadButton" to="." method="load_game"]
|
||||
|
@ -61,6 +61,8 @@ func _ready() -> void:
|
||||
# Set material gunk mask to our mask viewport texture
|
||||
mat_instance.set_shader_parameter("gunk_mask", mask_viewport.get_texture())
|
||||
# Overlay mesh with gunk material
|
||||
if mesh_instance.material_overlay:
|
||||
mat_instance.next_pass = mesh_instance.material_overlay
|
||||
mesh_instance.material_overlay = mat_instance
|
||||
|
||||
_deferred_init.call_deferred()
|
||||
@ -258,7 +260,7 @@ func _process(_delta: float) -> void:
|
||||
clear_total_updated.emit(new_total)
|
||||
# Do not fire signal on first compute after initialization
|
||||
# This prevents the player from collecting the grunk from the initial mask.
|
||||
if _prev_clear_total >= 0:
|
||||
if _prev_clear_total >= 0 and World.instance:
|
||||
# XXX due to fp error, this will drift from the "true count" over time
|
||||
# but it probably won't matter :shrug:
|
||||
World.instance.manager.collect_grunk(delta)
|
||||
|
@ -9,17 +9,19 @@ radius = 0.25
|
||||
[node name="WorldItem" type="MeshInstance3D" groups=["Persistent"]]
|
||||
script = ExtResource("1_sptcj")
|
||||
|
||||
[node name="Interactive" type="StaticBody3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
[node name="InteractiveBody" type="StaticBody3D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractiveBody"]
|
||||
unique_name_in_owner = true
|
||||
shape = SubResource("SphereShape3D_0mein")
|
||||
|
||||
[node name="Interactive" type="Node" parent="InteractiveBody"]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("2_ngll7")
|
||||
enabled = true
|
||||
verb = "INTERACTIVE_WORLDITEM_VERB"
|
||||
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Interactive"]
|
||||
unique_name_in_owner = true
|
||||
shape = SubResource("SphereShape3D_0mein")
|
||||
|
||||
[connection signal="activated" from="Interactive" to="." method="_on_interactive_activated"]
|
||||
[connection signal="activated" from="InteractiveBody/Interactive" to="." method="_on_interactive_activated"]
|
||||
|
@ -167,8 +167,8 @@
|
||||
- [ ] wraparound desk
|
||||
- [ ] etc
|
||||
- [ ] Make sofa cushions separate physics objects
|
||||
- [ ] Object hold UX
|
||||
- [ ] holdable object HUD icon
|
||||
- [x] Object hold UX
|
||||
- [x] holdable object HUD icon
|
||||
- [ ] highlight holdable objects?
|
||||
- [ ] hide tool UI when holding
|
||||
- [x] hide tool UI when holding
|
||||
- [ ] Keep bonus tracks, taco fiesta, maybe stickers in upgrade track. Everything else comes from the [[company store]], as well as upgrades.
|
Loading…
x
Reference in New Issue
Block a user