Compare commits

..

5 Commits

Author SHA1 Message Date
1d83c8bb79 Gunk materials don't need to all be local to scene
All checks were successful
linting & formatting / build (push) Successful in 31s
2025-04-15 22:18:40 -06:00
394f23e7b8 More props! 2025-04-15 21:15:23 -06:00
b79859f472 Using static bodies for non-grunked assets 2025-04-11 14:06:09 -06:00
2b721b1a1c Refactored input logic out of grunkbeast controller 2025-04-10 20:00:17 -06:00
0c10a95cbf Meet-spook tech 2025-04-10 19:33:43 -06:00
92 changed files with 3322 additions and 5749 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
asset_dev/props/cupboard/cupboard_C.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/props/cupboard/cupboard_M.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/props/cupboard/cupboard_N.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
asset_dev/props/cupboard/cupboard_R.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@
# Blender 4.3.2 MTL File: 'cafe_table.blend'
# www.blender.org

View File

@ -0,0 +1,795 @@
# Blender 4.3.2
# www.blender.org
mtllib cafe_table.mtl
o CafeTable
v 1.450000 -0.050000 0.000000
v 0.950000 -0.050000 0.000000
v 1.450000 -0.050000 3.000000
v 1.500000 -0.100000 2.950000
v 1.500000 0.000000 2.950000
v 1.450000 -0.050000 -3.000000
v 1.500000 -0.100000 -2.950000
v 1.500000 0.000000 -2.950000
v 0.950000 -0.050000 3.000000
v 0.900000 -0.100000 2.950000
v 0.900000 0.000000 2.950000
v 0.950000 -0.050000 -3.000000
v 0.900000 -0.100000 -2.950000
v 0.900000 0.000000 -2.950000
v 1.500000 -0.100000 0.050000
v 1.500000 -0.100000 -0.050000
v 1.500000 0.000000 -0.050000
v 1.500000 0.000000 0.050000
v 0.900000 -0.100000 -0.050000
v 0.900000 -0.100000 0.050000
v 0.900000 0.000000 0.050000
v 0.900000 0.000000 -0.050000
v -0.700000 0.350000 0.000000
v 0.700000 0.350000 0.000000
v -0.700000 0.350000 3.000000
v -0.750000 0.300000 2.950000
v -0.750000 0.400000 2.950000
v -0.700000 0.350000 -3.000000
v -0.750000 0.300000 -2.950000
v -0.750000 0.400000 -2.950000
v 0.700000 0.350000 3.000000
v 0.750000 0.300000 2.950000
v 0.750000 0.400000 2.950000
v 0.700000 0.350000 -3.000000
v 0.750000 0.300000 -2.950000
v 0.750000 0.400000 -2.950000
v -0.750000 0.300000 0.050000
v -0.750000 0.300000 -0.050000
v -0.750000 0.400000 -0.050000
v -0.750000 0.400000 0.050000
v 0.750000 0.300000 -0.050000
v 0.750000 0.300000 0.050000
v 0.750000 0.400000 0.050000
v 0.750000 0.400000 -0.050000
v -1.450000 -0.050000 0.000000
v -0.950000 -0.050000 0.000000
v -1.450000 -0.050000 3.000000
v -1.500000 -0.100000 2.950000
v -1.500000 0.000000 2.950000
v -1.450000 -0.050000 -3.000000
v -1.500000 -0.100000 -2.950000
v -1.500000 0.000000 -2.950000
v -0.950000 -0.050000 3.000000
v -0.900000 -0.100000 2.950000
v -0.900000 0.000000 2.950000
v -0.950000 -0.050000 -3.000000
v -0.900000 -0.100000 -2.950000
v -0.900000 0.000000 -2.950000
v -1.500000 -0.100000 0.050000
v -1.500000 -0.100000 -0.050000
v -1.500000 0.000000 -0.050000
v -1.500000 0.000000 0.050000
v -0.900000 -0.100000 -0.050000
v -0.900000 -0.100000 0.050000
v -0.900000 0.000000 0.050000
v -0.900000 0.000000 -0.050000
v -1.250004 -0.400000 -2.600000
v -1.250004 -0.350004 -2.550004
v -1.300000 -0.350004 -2.600000
v -1.300000 -0.100000 -2.600000
v -1.250004 -0.350004 -2.649997
v -1.250004 -0.100000 -2.649997
v -0.049996 -0.400000 -2.600000
v -0.049996 -0.350004 -2.649997
v -1.249997 -0.100000 -2.550004
v -1.200000 -0.100000 -2.600000
v -0.050004 -0.349997 -2.550004
v -0.100000 -0.300000 -2.600000
v -1.200000 -0.300000 -2.600000
v -0.100000 0.300000 -2.600000
v -0.050004 0.300000 -2.550004
v -0.050004 0.300000 -2.649997
v -1.250004 -0.400000 2.600000
v -1.250004 -0.350004 2.649997
v -1.300000 -0.350004 2.600000
v -1.300000 -0.100000 2.600000
v -1.250004 -0.350004 2.550004
v -1.250004 -0.100000 2.550004
v -0.049996 -0.400000 2.600000
v -0.049996 -0.350004 2.550004
v -1.249997 -0.100000 2.649997
v -1.200000 -0.100000 2.600000
v -0.050004 -0.349997 2.649997
v -0.100000 -0.300000 2.600000
v -1.200000 -0.300000 2.600000
v -0.100000 0.300000 2.600000
v -0.050004 0.300000 2.649997
v -0.050004 0.300000 2.550004
v 1.250003 -0.400000 2.600000
v 1.250003 -0.350004 2.550004
v 1.300000 -0.350004 2.600000
v 1.300000 -0.100000 2.600000
v 1.250003 -0.350004 2.649997
v 1.250003 -0.100000 2.649997
v 0.049996 -0.400000 2.600000
v -0.000000 -0.350003 2.600000
v -0.000000 0.300000 2.600000
v 0.049996 -0.350004 2.649997
v 1.249996 -0.100000 2.550004
v 1.200000 -0.100000 2.600000
v 0.050003 -0.349997 2.550004
v 0.100000 -0.300000 2.600000
v 1.200000 -0.300000 2.600000
v 0.100000 0.300000 2.600000
v 0.050003 0.300000 2.550004
v 0.050003 0.300000 2.649997
v 1.250003 -0.400000 -2.600000
v 1.250003 -0.350004 -2.649997
v 1.299999 -0.350004 -2.600000
v 1.299999 -0.100000 -2.600000
v 1.250003 -0.350004 -2.550004
v 1.250003 -0.100000 -2.550004
v 0.049996 -0.400000 -2.600000
v -0.000001 -0.350003 -2.600000
v -0.000001 0.300000 -2.600000
v 0.049996 -0.350004 -2.550004
v 1.249996 -0.100000 -2.649997
v 1.199999 -0.100000 -2.600000
v 0.050003 -0.349997 -2.649997
v 0.099999 -0.300000 -2.600000
v 1.199999 -0.300000 -2.600000
v 0.099999 0.300000 -2.600000
v 0.050003 0.300000 -2.649997
v 0.050003 0.300000 -2.550004
v -1.250004 -0.400000 -0.400000
v -1.250004 -0.350004 -0.350003
v -1.300000 -0.350004 -0.400000
v -1.300000 -0.100000 -0.400000
v -1.250004 -0.350004 -0.449997
v -1.250004 -0.100000 -0.449996
v -0.049996 -0.400000 -0.400000
v -0.049996 -0.350004 -0.449997
v -1.249997 -0.100000 -0.350003
v -1.200000 -0.100000 -0.400000
v -0.050004 -0.349997 -0.350003
v -0.100000 -0.300000 -0.400000
v -1.200000 -0.300000 -0.400000
v -0.100000 0.300000 -0.400000
v -0.050004 0.300000 -0.350003
v -0.050004 0.300000 -0.449997
v 1.250003 -0.400000 -0.400000
v 1.250003 -0.350004 -0.449996
v 1.299999 -0.350004 -0.400000
v 1.299999 -0.100000 -0.400000
v 1.250003 -0.350004 -0.350004
v 1.250003 -0.100000 -0.350004
v 0.049996 -0.400000 -0.400000
v -0.000001 -0.350003 -0.400000
v -0.000001 0.300000 -0.400000
v 0.049996 -0.350004 -0.350004
v 1.249996 -0.100000 -0.449996
v 1.199999 -0.100000 -0.400000
v 0.050003 -0.349997 -0.449996
v 0.099999 -0.300000 -0.400000
v 1.199999 -0.300000 -0.400000
v 0.099999 0.300000 -0.400000
v 0.050003 0.300000 -0.449996
v 0.050003 0.300000 -0.350004
v -1.250004 -0.400000 0.400001
v -1.250004 -0.350004 0.449997
v -1.300000 -0.350004 0.400001
v -1.300000 -0.100000 0.400001
v -1.250004 -0.350004 0.350004
v -1.250004 -0.100000 0.350004
v -0.049996 -0.400000 0.400001
v -0.049996 -0.350004 0.350004
v -1.249997 -0.100000 0.449997
v -1.200000 -0.100000 0.400001
v -0.050004 -0.349997 0.449997
v -0.100000 -0.300000 0.400001
v -1.200000 -0.300000 0.400001
v -0.100000 0.300000 0.400001
v -0.050004 0.300000 0.449997
v -0.050004 0.300000 0.350004
v 1.250003 -0.400000 0.400001
v 1.250003 -0.350004 0.350004
v 1.299999 -0.350004 0.400001
v 1.299999 -0.100000 0.400001
v 1.250003 -0.350004 0.449997
v 1.250003 -0.100000 0.449997
v 0.049996 -0.400000 0.400001
v -0.000001 -0.350003 0.400001
v -0.000001 0.300000 0.400001
v 0.049996 -0.350004 0.449997
v 1.249996 -0.100000 0.350004
v 1.199999 -0.100000 0.400001
v 0.050003 -0.349997 0.350004
v 0.099999 -0.300000 0.400001
v 1.199999 -0.300000 0.400001
v 0.099999 0.300000 0.400001
v 0.050003 0.300000 0.350004
v 0.050003 0.300000 0.449997
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vn 1.0000 -0.0000 -0.0000
vn 0.7071 -0.0000 0.7071
vn 0.7071 -0.0000 -0.7071
vn -0.0000 -0.7071 -0.7071
vn -0.0000 0.7071 -0.7071
vn -0.7071 -0.0000 -0.7071
vn -0.7071 -0.0000 0.7071
vn -0.0000 -0.7071 0.7071
vn -0.0000 0.7071 0.7071
vn -0.5774 -0.5773 0.5773
vn -0.5774 -0.5773 -0.5773
vn 0.5773 -0.5773 0.5775
vn 0.5774 -0.5773 -0.5773
vn 0.7071 -0.0000 -0.7072
vn -0.0000 0.7071 -0.7072
vn -0.5774 -0.5774 0.5774
vn -0.5774 -0.5774 -0.5774
vn 0.5774 -0.5774 -0.5773
vn 0.7071 -0.0000 0.7072
vn 0.5773 -0.5773 -0.5774
vn 0.5773 -0.5773 0.5774
vn -0.5773 -0.5773 -0.5775
vn -0.5774 -0.5773 0.5774
vn -0.7071 -0.0000 -0.7072
vn -0.7071 -0.0000 0.7072
vn -0.0000 0.7071 0.7072
vn 0.5774 -0.5773 0.5774
vn -0.5774 -0.5774 0.5773
vn -0.5774 -0.5774 -0.5773
vn 0.5773 -0.5774 -0.5774
vn 0.5773 -0.5774 0.5774
vn -0.5773 -0.5773 0.5774
vn -0.5773 -0.5774 0.5774
vt 0.453125 0.007812
vt 0.453125 0.468750
vt 0.546875 0.468750
vt 0.546875 0.007812
vt 0.562500 0.007812
vt 0.562500 0.468750
vt 0.656250 0.468750
vt 0.656250 0.007812
vt 0.437500 0.007812
vt 0.437500 0.468750
vt 0.781250 0.007812
vt 0.781250 0.468750
vt 0.875000 0.468750
vt 0.875000 0.007812
vt 0.671875 0.007812
vt 0.671875 0.468750
vt 0.765625 0.468750
vt 0.765625 0.007812
vt 0.554688 0.476562
vt 0.773438 0.476562
vt 0.554688 0.000000
vt 0.648438 0.000000
vt 0.570312 0.000000
vt 0.539062 0.000000
vt 0.460938 0.000000
vt 0.445312 0.000000
vt 0.664062 0.476562
vt 0.789062 0.476562
vt 0.867188 0.476562
vt 0.679688 0.476562
vt 0.757812 0.476562
vt 0.539062 0.476562
vt 0.460938 0.476562
vt 0.648438 0.476562
vt 0.570312 0.476562
vt 0.445312 0.476562
vt 0.773438 0.000000
vt 0.664062 0.000000
vt 0.867188 0.000000
vt 0.789062 0.000000
vt 0.757812 0.000000
vt 0.679688 0.000000
vt 0.007812 0.695312
vt 0.007812 0.492188
vt 0.398438 0.492188
vt 0.398438 0.695312
vt 0.007812 0.906250
vt 0.007812 0.703125
vt 0.398438 0.703125
vt 0.398438 0.906250
vt 0.414062 0.906250
vt 0.414062 0.703125
vt 0.804688 0.703125
vt 0.804688 0.906250
vt 0.414062 0.695312
vt 0.414062 0.492188
vt 0.804688 0.492188
vt 0.804688 0.695312
vt 0.398438 0.484375
vt 0.007812 0.484375
vt 0.406250 0.484375
vt 0.812500 0.484375
vt 0.804688 0.484375
vt 0.000000 0.484375
vt 0.000000 0.898438
vt 0.000000 0.710938
vt 0.000000 0.687500
vt 0.000000 0.500000
vt 0.000000 0.695312
vt 0.812500 0.695312
vt 0.812500 0.710938
vt 0.812500 0.898438
vt 0.812500 0.500000
vt 0.812500 0.687500
vt 0.406250 0.500000
vt 0.406250 0.687500
vt 0.406250 0.710938
vt 0.406250 0.898438
vt 0.406250 0.695312
vt 0.414062 0.484375
vt 0.015625 0.007812
vt 0.109375 0.007812
vt 0.109375 0.468750
vt 0.015625 0.468750
vt 0.125000 0.007812
vt 0.218750 0.007812
vt 0.218750 0.468750
vt 0.125000 0.468750
vt 0.000000 0.007812
vt 0.000000 0.468750
vt 0.343750 0.007812
vt 0.343750 0.468750
vt 0.234375 0.007812
vt 0.328125 0.007812
vt 0.328125 0.468750
vt 0.234375 0.468750
vt 0.117188 0.476562
vt 0.335938 0.476562
vt 0.117188 0.000000
vt 0.132812 0.000000
vt 0.210938 0.000000
vt 0.023438 0.000000
vt 0.101562 0.000000
vt 0.007812 0.000000
vt 0.226562 0.476562
vt 0.429688 0.476562
vt 0.351562 0.476562
vt 0.320312 0.476562
vt 0.242188 0.476562
vt 0.101562 0.476562
vt 0.023438 0.476562
vt 0.210938 0.476562
vt 0.132812 0.476562
vt 0.007812 0.476562
vt 0.335938 0.000000
vt 0.226562 0.000000
vt 0.351562 0.000000
vt 0.429688 0.000000
vt 0.242188 0.000000
vt 0.320312 0.000000
vt 0.468750 0.929688
vt 0.476562 0.937500
vt 0.460938 0.937500
vt 0.515625 0.929688
vt 0.523438 0.937500
vt 0.507812 0.937500
vt 0.945312 0.234375
vt 0.937500 0.218750
vt 0.953125 0.218750
vt 0.992188 0.234375
vt 0.984375 0.218750
vt 1.000000 0.218750
vt 0.476562 0.976562
vt 0.460938 0.976562
vt 0.507812 0.976562
vt 0.523438 0.976562
vt 0.992188 0.617188
vt 0.820312 0.617188
vt 0.820312 0.601562
vt 0.992188 0.601562
vt 1.000000 0.117188
vt 0.984375 0.117188
vt 0.953125 0.117188
vt 0.937500 0.117188
vt 0.820312 0.554688
vt 0.992188 0.554688
vt 0.992188 0.570312
vt 0.820312 0.570312
vt 0.492188 0.976562
vt 0.492188 0.945312
vt 0.984375 0.585938
vt 0.828125 0.585938
vt 0.968750 0.117188
vt 0.968750 0.210938
vt 0.257812 0.929688
vt 0.265625 0.937500
vt 0.250000 0.937500
vt 0.304688 0.929688
vt 0.312500 0.937500
vt 0.296875 0.937500
vt 0.945312 0.476562
vt 0.937500 0.460938
vt 0.953125 0.460938
vt 0.992188 0.476562
vt 0.984375 0.460938
vt 1.000000 0.460938
vt 0.265625 0.976562
vt 0.250000 0.976562
vt 0.296875 0.976562
vt 0.312500 0.976562
vt 0.992188 0.679688
vt 0.820312 0.679688
vt 0.820312 0.664062
vt 0.992188 0.664062
vt 1.000000 0.359375
vt 0.984375 0.359375
vt 0.953125 0.359375
vt 0.937500 0.359375
vt 0.992188 0.632812
vt 0.820312 0.632812
vt 0.281250 0.976562
vt 0.281250 0.945312
vt 0.984375 0.648438
vt 0.828125 0.648438
vt 0.968750 0.359375
vt 0.968750 0.453125
vt 0.539062 0.929688
vt 0.546875 0.937500
vt 0.531250 0.937500
vt 0.585938 0.929688
vt 0.593750 0.937500
vt 0.578125 0.937500
vt 0.882812 0.476562
vt 0.875000 0.460938
vt 0.890625 0.460938
vt 0.929688 0.476562
vt 0.921875 0.460938
vt 0.546875 0.976562
vt 0.531250 0.976562
vt 0.578125 0.976562
vt 0.593750 0.976562
vt 0.992188 0.742188
vt 0.820312 0.742188
vt 0.820312 0.726562
vt 0.992188 0.726562
vt 0.921875 0.359375
vt 0.890625 0.359375
vt 0.875000 0.359375
vt 0.992188 0.695312
vt 0.820312 0.695312
vt 0.562500 0.976562
vt 0.562500 0.945312
vt 0.984375 0.710938
vt 0.828125 0.710938
vt 0.906250 0.359375
vt 0.906250 0.453125
vt 0.679688 0.929688
vt 0.687500 0.937500
vt 0.671875 0.937500
vt 0.726562 0.929688
vt 0.734375 0.937500
vt 0.718750 0.937500
vt 0.882812 0.234375
vt 0.875000 0.218750
vt 0.890625 0.218750
vt 0.929688 0.234375
vt 0.921875 0.218750
vt 0.687500 0.976562
vt 0.671875 0.976562
vt 0.718750 0.976562
vt 0.734375 0.976562
vt 0.820312 0.492188
vt 0.992188 0.492188
vt 0.992188 0.507812
vt 0.820312 0.507812
vt 0.921875 0.117188
vt 0.890625 0.117188
vt 0.875000 0.117188
vt 0.820312 0.539062
vt 0.992188 0.539062
vt 0.703125 0.976562
vt 0.703125 0.945312
vt 0.828125 0.523438
vt 0.984375 0.523438
vt 0.906250 0.117188
vt 0.906250 0.210938
vt 0.609375 0.929688
vt 0.617188 0.937500
vt 0.601562 0.937500
vt 0.656250 0.929688
vt 0.664062 0.937500
vt 0.648438 0.937500
vt 0.929688 0.242188
vt 0.937500 0.257812
vt 0.921875 0.257812
vt 0.882812 0.242188
vt 0.890625 0.257812
vt 0.875000 0.257812
vt 0.617188 0.976562
vt 0.601562 0.976562
vt 0.648438 0.976562
vt 0.664062 0.976562
vt 0.992188 0.804688
vt 0.820312 0.804688
vt 0.820312 0.789062
vt 0.992188 0.789062
vt 0.992188 0.757812
vt 0.820312 0.757812
vt 0.632812 0.976562
vt 0.632812 0.945312
vt 0.984375 0.773438
vt 0.828125 0.773438
vt 0.906250 0.265625
vt 0.750000 0.929688
vt 0.757812 0.937500
vt 0.742188 0.937500
vt 0.796875 0.929688
vt 0.804688 0.937500
vt 0.789062 0.937500
vt 0.992188 0.242188
vt 1.000000 0.257812
vt 0.984375 0.257812
vt 0.945312 0.242188
vt 0.953125 0.257812
vt 0.757812 0.976562
vt 0.742188 0.976562
vt 0.789062 0.976562
vt 0.804688 0.976562
vt 0.992188 0.929688
vt 0.820312 0.929688
vt 0.820312 0.914062
vt 0.992188 0.914062
vt 0.820312 0.867188
vt 0.992188 0.867188
vt 0.992188 0.882812
vt 0.820312 0.882812
vt 0.773438 0.976562
vt 0.773438 0.945312
vt 0.984375 0.898438
vt 0.828125 0.898438
vt 0.968750 0.265625
vt 0.398438 0.929688
vt 0.406250 0.937500
vt 0.390625 0.937500
vt 0.445312 0.929688
vt 0.453125 0.937500
vt 0.437500 0.937500
vt 0.929688 0.000000
vt 0.937500 0.015625
vt 0.921875 0.015625
vt 0.882812 0.000000
vt 0.890625 0.015625
vt 0.875000 0.015625
vt 0.406250 0.976562
vt 0.390625 0.976562
vt 0.437500 0.976562
vt 0.453125 0.976562
vt 0.820312 0.851562
vt 0.992188 0.851562
vt 0.992188 0.820312
vt 0.820312 0.820312
vt 0.421875 0.976562
vt 0.421875 0.945312
vt 0.984375 0.835938
vt 0.828125 0.835938
vt 0.906250 0.023438
vt 0.328125 0.929688
vt 0.335938 0.937500
vt 0.320312 0.937500
vt 0.375000 0.929688
vt 0.382812 0.937500
vt 0.367188 0.937500
vt 0.992188 0.000000
vt 1.000000 0.015625
vt 0.984375 0.015625
vt 0.945312 0.000000
vt 0.953125 0.015625
vt 0.335938 0.976562
vt 0.320312 0.976562
vt 0.367188 0.976562
vt 0.382812 0.976562
vt 0.992188 0.945312
vt 0.820312 0.945312
vt 0.992188 0.992188
vt 0.820312 0.992188
vt 0.820312 0.976562
vt 0.992188 0.976562
vt 0.351562 0.976562
vt 0.351562 0.945312
vt 0.828125 0.960938
vt 0.984375 0.960938
vt 0.968750 0.023438
s 0
f 14/1/1 22/2/1 17/3/1 8/4/1
f 7/5/2 16/6/2 19/7/2 13/8/2
f 13/9/3 19/10/3 22/2/3 14/1/3
f 15/11/2 4/12/2 10/13/2 20/14/2
f 21/15/1 11/16/1 5/17/1 18/18/1
f 20/8/3 10/7/3 11/16/3 21/15/3
f 16/6/4 7/5/4 8/4/4 17/3/4
f 17/3/5 1/19/5 16/6/5
f 3/20/5 4/12/5 5/17/5
f 6/21/6 8/4/6 7/5/6
f 13/8/7 12/22/7 6/23/7 7/5/7
f 8/4/8 6/24/8 12/25/8 14/1/8
f 14/1/9 12/26/9 13/9/9
f 9/27/10 11/16/10 10/7/10
f 4/12/11 3/28/11 9/29/11 10/13/11
f 11/16/12 9/30/12 3/31/12 5/17/12
f 1/32/12 17/3/12 22/2/12 2/33/12
f 2/34/11 19/7/11 16/6/11 1/35/11
f 2/36/10 22/2/10 19/10/10
f 1/37/6 18/18/6 15/11/6
f 4/12/4 15/11/4 18/18/4 5/17/4
f 21/15/9 2/38/9 20/8/9
f 20/14/7 2/39/7 1/40/7 15/11/7
f 18/18/8 1/41/8 2/42/8 21/15/8
f 36/43/1 30/44/1 39/45/1 44/46/1
f 29/47/2 35/48/2 41/49/2 38/50/2
f 35/48/4 36/43/4 44/46/4 41/49/4
f 37/51/2 42/52/2 32/53/2 26/54/2
f 43/55/1 40/56/1 27/57/1 33/58/1
f 42/52/4 43/55/4 33/58/4 32/53/4
f 38/59/3 39/45/3 30/44/3 29/60/3
f 39/45/10 38/59/10 23/61/10
f 25/62/10 27/57/10 26/63/10
f 28/64/9 29/60/9 30/44/9
f 35/48/7 29/47/7 28/65/7 34/66/7
f 30/44/8 36/43/8 34/67/8 28/68/8
f 36/43/6 35/48/6 34/69/6
f 31/70/5 32/53/5 33/58/5
f 26/54/11 32/53/11 31/71/11 25/72/11
f 33/58/12 27/57/12 25/73/12 31/74/12
f 23/75/12 24/76/12 44/46/12 39/45/12
f 24/77/11 23/78/11 38/50/11 41/49/11
f 24/79/5 41/49/5 44/46/5
f 23/61/9 37/80/9 40/56/9
f 26/63/3 27/57/3 40/56/3 37/80/3
f 43/55/6 42/52/6 24/79/6
f 42/52/7 37/51/7 23/78/7 24/77/7
f 40/56/8 43/55/8 24/76/8 23/75/8
f 58/81/1 52/82/1 61/83/1 66/84/1
f 51/85/2 57/86/2 63/87/2 60/88/2
f 57/89/4 58/81/4 66/84/4 63/90/4
f 59/91/2 64/9/2 54/10/2 48/92/2
f 65/93/1 62/94/1 49/95/1 55/96/1
f 64/86/4 65/93/4 55/96/4 54/87/4
f 60/88/3 61/83/3 52/82/3 51/85/3
f 61/83/10 60/88/10 45/97/10
f 47/98/10 49/95/10 48/92/10
f 50/99/9 51/85/9 52/82/9
f 57/86/7 51/85/7 50/100/7 56/101/7
f 52/82/8 58/81/8 56/102/8 50/103/8
f 58/81/6 57/89/6 56/104/6
f 53/105/5 54/87/5 55/96/5
f 48/92/11 54/10/11 53/106/11 47/107/11
f 55/96/12 49/95/12 47/108/12 53/109/12
f 45/110/12 46/111/12 66/84/12 61/83/12
f 46/112/11 45/113/11 60/88/11 63/87/11
f 46/114/5 63/90/5 66/84/5
f 45/115/9 59/91/9 62/94/9
f 48/92/3 49/95/3 62/94/3 59/91/3
f 65/93/6 64/86/6 46/116/6
f 64/9/7 59/91/7 45/117/7 46/118/7
f 62/94/8 65/93/8 46/119/8 45/120/8
f 67/121/13 68/122/13 69/123/13
f 67/124/14 69/125/14 71/126/14
f 73/127/15 124/128/15 77/129/15
f 73/130/16 74/131/16 124/132/16
f 68/122/10 75/133/10 70/134/10 69/123/10
f 72/135/9 71/126/9 69/125/9 70/136/9
f 73/137/7 67/138/7 71/139/7 74/140/7
f 125/141/6 124/132/6 74/131/6 82/142/6
f 81/143/5 77/129/5 124/128/5 125/144/5
f 67/145/11 73/146/11 77/147/11 68/148/11
f 76/149/17 79/150/17 71/126/17 72/135/17
f 68/148/12 77/147/12 78/151/12 79/152/12
f 74/140/18 71/139/18 79/152/18 78/151/18
f 75/133/5 68/122/5 79/150/5 76/149/5
f 77/129/10 81/143/10 80/153/10 78/154/10
f 78/154/9 80/153/9 82/142/9 74/131/9
f 83/155/19 84/156/19 85/157/19
f 83/158/20 85/159/20 87/160/20
f 89/161/15 106/162/15 93/163/15
f 89/164/21 90/165/21 106/166/21
f 84/156/10 91/167/10 86/168/10 85/157/10
f 88/169/9 87/160/9 85/159/9 86/170/9
f 89/171/7 83/172/7 87/173/7 90/174/7
f 107/175/6 106/166/6 90/165/6 98/176/6
f 97/177/22 93/163/22 106/162/22 107/178/22
f 83/138/11 89/137/11 93/179/11 84/180/11
f 92/181/17 95/182/17 87/160/17 88/169/17
f 84/180/12 93/179/12 94/183/12 95/184/12
f 90/174/18 87/173/18 95/184/18 94/183/18
f 91/167/5 84/156/5 95/182/5 92/181/5
f 93/163/10 97/177/10 96/185/10 94/186/10
f 94/186/9 96/185/9 98/176/9 90/165/9
f 99/187/23 100/188/23 101/189/23
f 99/190/24 101/191/24 103/192/24
f 105/193/25 106/194/25 111/195/25
f 105/196/26 108/197/26 106/162/26
f 100/188/6 109/198/6 102/199/6 101/189/6
f 104/200/5 103/192/5 101/191/5 102/201/5
f 105/202/11 99/203/11 103/204/11 108/205/11
f 107/178/10 106/162/10 108/197/10 116/206/10
f 115/207/27 111/195/27 106/194/27 107/208/27
f 99/172/7 105/171/7 111/209/7 100/210/7
f 110/211/28 113/212/28 103/192/28 104/200/28
f 100/210/8 111/209/8 112/213/8 113/214/8
f 108/205/29 103/204/29 113/214/29 112/213/29
f 109/198/9 100/188/9 113/212/9 110/211/9
f 111/195/6 115/207/6 114/215/6 112/216/6
f 112/216/5 114/215/5 116/206/5 108/197/5
f 117/217/23 118/218/23 119/219/23
f 117/220/30 119/221/30 121/222/30
f 123/223/25 124/224/25 129/225/25
f 123/226/26 126/227/26 124/128/26
f 118/218/6 127/228/6 120/229/6 119/219/6
f 122/230/5 121/222/5 119/221/5 120/231/5
f 123/232/11 117/233/11 121/234/11 126/235/11
f 125/144/10 124/128/10 126/227/10 134/236/10
f 133/237/27 129/225/27 124/224/27 125/238/27
f 117/146/7 123/145/7 129/239/7 118/240/7
f 128/241/28 131/242/28 121/222/28 122/230/28
f 118/240/8 129/239/8 130/243/8 131/244/8
f 126/235/29 121/234/29 131/244/29 130/243/29
f 127/228/9 118/218/9 131/242/9 128/241/9
f 129/225/6 133/237/6 132/245/6 130/246/6
f 130/246/5 132/245/5 134/236/5 126/227/5
f 135/247/31 136/248/31 137/249/31
f 135/250/32 137/251/32 139/252/32
f 141/253/15 158/254/15 145/255/15
f 141/256/16 142/257/16 158/258/16
f 136/248/10 143/259/10 138/260/10 137/249/10
f 140/261/9 139/252/9 137/251/9 138/262/9
f 141/263/7 135/264/7 139/265/7 142/266/7
f 159/208/6 158/258/6 142/257/6 150/207/6
f 149/206/5 145/255/5 158/254/5 159/178/5
f 135/203/11 141/202/11 145/267/11 136/268/11
f 144/269/17 147/270/17 139/252/17 140/261/17
f 136/268/12 145/267/12 146/271/12 147/272/12
f 142/266/18 139/265/18 147/272/18 146/271/18
f 143/259/5 136/248/5 147/270/5 144/269/5
f 145/255/10 149/206/10 148/215/10 146/273/10
f 146/273/9 148/215/9 150/207/9 142/257/9
f 151/274/33 152/275/33 153/276/33
f 151/277/34 153/278/34 155/279/34
f 157/280/25 158/281/25 163/282/25
f 157/283/35 160/284/35 158/254/35
f 152/275/6 161/285/6 154/286/6 153/276/6
f 156/287/5 155/279/5 153/278/5 154/288/5
f 157/289/11 151/290/11 155/291/11 160/292/11
f 159/178/10 158/254/10 160/284/10 168/177/10
f 167/176/27 163/282/27 158/281/27 159/175/27
f 151/293/7 157/294/7 163/295/7 152/296/7
f 162/297/28 165/298/28 155/279/28 156/287/28
f 152/296/8 163/295/8 164/299/8 165/300/8
f 160/292/29 155/291/29 165/300/29 164/299/29
f 161/285/9 152/275/9 165/298/9 162/297/9
f 163/282/6 167/176/6 166/185/6 164/301/6
f 164/301/5 166/185/5 168/177/5 160/284/5
f 169/302/36 170/303/36 171/304/36
f 169/305/32 171/306/32 173/307/32
f 175/308/15 192/309/15 179/310/15
f 175/311/16 176/312/16 192/313/16
f 170/303/10 177/314/10 172/315/10 171/304/10
f 174/316/9 173/307/9 171/306/9 172/317/9
f 175/294/7 169/293/7 173/318/7 176/319/7
f 193/238/6 192/313/6 176/312/6 184/237/6
f 183/236/22 179/310/22 192/309/22 193/144/22
f 169/264/11 175/263/11 179/320/11 170/321/11
f 178/322/17 181/323/17 173/307/17 174/316/17
f 170/321/12 179/320/12 180/324/12 181/325/12
f 176/319/18 173/318/18 181/325/18 180/324/18
f 177/314/5 170/303/5 181/323/5 178/322/5
f 179/310/10 183/236/10 182/245/10 180/326/10
f 180/326/9 182/245/9 184/237/9 176/312/9
f 185/327/33 186/328/33 187/329/33
f 185/330/34 187/331/34 189/332/34
f 191/333/25 192/334/25 197/335/25
f 191/336/35 194/337/35 192/309/35
f 186/328/6 195/338/6 188/339/6 187/329/6
f 190/340/5 189/332/5 187/331/5 188/341/5
f 191/290/11 185/289/11 189/342/11 194/343/11
f 193/144/10 192/309/10 194/337/10 202/143/10
f 201/142/27 197/335/27 192/334/27 193/141/27
f 185/344/7 191/345/7 197/346/7 186/347/7
f 196/348/28 199/349/28 189/332/28 190/340/28
f 186/347/8 197/346/8 198/350/8 199/351/8
f 194/343/29 189/342/29 199/351/29 198/350/29
f 195/338/9 186/328/9 199/349/9 196/348/9
f 197/335/6 201/142/6 200/153/6 198/352/6
f 198/352/5 200/153/5 202/143/5 194/337/5

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://02pxl1iknwie"
path="res://.godot/imported/cafe_table.obj-c00dd64189a6d97c6c9f19475d38279c.mesh"
[deps]
files=["res://.godot/imported/cafe_table.obj-c00dd64189a6d97c6c9f19475d38279c.mesh"]
source_file="res://assets/props/cafe_table/cafe_table.obj"
dest_files=["res://.godot/imported/cafe_table.obj-c00dd64189a6d97c6c9f19475d38279c.mesh", "res://.godot/imported/cafe_table.obj-c00dd64189a6d97c6c9f19475d38279c.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

BIN
assets/props/cafe_table/cafe_table_C.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kji1r64xr62b"
path="res://.godot/imported/cafe_table_C.png-1dfbaf49bce4f43609a6a7624db74892.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cafe_table/cafe_table_C.png"
dest_files=["res://.godot/imported/cafe_table_C.png-1dfbaf49bce4f43609a6a7624db74892.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cafe_table/cafe_table_M.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chh8wcdsu601s"
path="res://.godot/imported/cafe_table_M.png-4bc9d68ba9522d9aba18da8642f28aac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cafe_table/cafe_table_M.png"
dest_files=["res://.godot/imported/cafe_table_M.png-4bc9d68ba9522d9aba18da8642f28aac.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cafe_table/cafe_table_N.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6nrac2ciprd4"
path="res://.godot/imported/cafe_table_N.png-513458acf80292d359cd91b2df14da8b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cafe_table/cafe_table_N.png"
dest_files=["res://.godot/imported/cafe_table_N.png-513458acf80292d359cd91b2df14da8b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/props/cafe_table/cafe_table_N.png"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cafe_table/cafe_table_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dryw5kjktefst"
path="res://.godot/imported/cafe_table_R.png-7f0e8a660e9a736e0b93e03a0708cc79.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cafe_table/cafe_table_R.png"
dest_files=["res://.godot/imported/cafe_table_R.png-7f0e8a660e9a736e0b93e03a0708cc79.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@ -0,0 +1,14 @@
# Blender 4.3.2 MTL File: 'cupboard.blend'
# www.blender.org
newmtl Material
Ka 1.000000 1.000000 1.000000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
illum 2
map_Kd /home/Xanadu/workspace/godot/prototypes/grunk/asset_dev/props/cupboard/cupboard_C.png
map_Ns /home/Xanadu/workspace/godot/prototypes/grunk/asset_dev/props/cupboard/cupboard_R.png
map_refl /home/Xanadu/workspace/godot/prototypes/grunk/asset_dev/props/cupboard/cupboard_M.png
map_d /home/Xanadu/workspace/godot/prototypes/grunk/asset_dev/props/cupboard/cupboard_C.png
map_Bump -bm 1.000000 /home/Xanadu/workspace/godot/prototypes/grunk/asset_dev/props/cupboard/cupboard_N.png

View File

@ -0,0 +1,64 @@
# Blender 4.3.2
# www.blender.org
mtllib cupboard.mtl
o Cube
v -0.450000 -0.500000 1.950000
v -0.500000 0.500000 2.000000
v -0.450000 -0.500000 -1.950000
v -0.500000 0.500000 -2.000000
v 0.450000 -0.500000 1.950000
v 0.500000 0.500000 2.000000
v 0.450000 -0.500000 -1.950000
v 0.500000 0.500000 -2.000000
v -0.500000 -0.500000 -2.000000
v -0.500000 -0.500000 2.000000
v 0.500000 -0.500000 -2.000000
v 0.500000 -0.500000 2.000000
v -0.450000 -0.450000 -1.950000
v -0.450000 -0.450000 1.950000
v 0.450000 -0.450000 -1.950000
v 0.450000 -0.450000 1.950000
vn -1.0000 -0.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 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.515625 0.171875
vt 0.687500 0.171875
vt 0.687500 0.828125
vt 0.515625 0.828125
vt 0.343750 1.000000
vt 0.171875 1.000000
vt 0.171875 0.828125
vt 0.343750 0.828125
vt 0.171875 0.171875
vt 0.343750 0.171875
vt 0.171875 0.000000
vt 0.343750 0.000000
vt 0.351562 0.820312
vt 0.351562 0.179688
vt 0.359375 0.187500
vt 0.359375 0.812500
vt 0.000000 0.828125
vt 0.000000 0.171875
vt 0.507812 0.820312
vt 0.507812 0.179688
vt 0.500000 0.812500
vt 0.500000 0.187500
s 0
usemtl Material
f 10/1/1 2/2/1 4/3/1 9/4/1
f 9/5/2 4/6/2 8/7/2 11/8/2
f 11/8/3 8/7/3 6/9/3 12/10/3
f 12/10/4 6/9/4 2/11/4 10/12/4
f 7/13/1 5/14/1 16/15/1 15/16/1
f 8/7/5 4/17/5 2/18/5 6/9/5
f 3/19/6 1/20/6 10/1/6 9/4/6
f 7/13/6 3/19/6 9/4/6 11/8/6
f 5/14/6 7/13/6 11/8/6 12/10/6
f 1/20/6 5/14/6 12/10/6 10/1/6
f 13/21/6 15/16/6 16/15/6 14/22/6
f 1/20/3 3/19/3 13/21/3 14/22/3
f 5/14/2 1/20/2 14/22/2 16/15/2
f 3/19/4 7/13/4 15/16/4 13/21/4

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://dgfds7nbhxbbl"
path="res://.godot/imported/cupboard.obj-5d21cd3de34181a13784911b30aef2ff.mesh"
[deps]
files=["res://.godot/imported/cupboard.obj-5d21cd3de34181a13784911b30aef2ff.mesh"]
source_file="res://assets/props/cupboard/cupboard.obj"
dest_files=["res://.godot/imported/cupboard.obj-5d21cd3de34181a13784911b30aef2ff.mesh", "res://.godot/imported/cupboard.obj-5d21cd3de34181a13784911b30aef2ff.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

BIN
assets/props/cupboard/cupboard_C.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dg4odum5vfc2r"
path="res://.godot/imported/cupboard_C.png-5776aad05ae00678cc15b1c75a62882d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cupboard/cupboard_C.png"
dest_files=["res://.godot/imported/cupboard_C.png-5776aad05ae00678cc15b1c75a62882d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cupboard/cupboard_M.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dkx0128lukxme"
path="res://.godot/imported/cupboard_M.png-b668025db0d7071ee5f92f81ad6cb0fd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cupboard/cupboard_M.png"
dest_files=["res://.godot/imported/cupboard_M.png-b668025db0d7071ee5f92f81ad6cb0fd.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cupboard/cupboard_N.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0qid1gqplbly"
path="res://.godot/imported/cupboard_N.png-80f606ca7fc0fa88fdc1ad551ad67bbb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cupboard/cupboard_N.png"
dest_files=["res://.godot/imported/cupboard_N.png-80f606ca7fc0fa88fdc1ad551ad67bbb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/props/cupboard/cupboard_N.png"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/cupboard/cupboard_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cdmgbmje8ub3y"
path="res://.godot/imported/cupboard_R.png-9ba1d8b672396bc512f6712898857aad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/cupboard/cupboard_R.png"
dest_files=["res://.godot/imported/cupboard_R.png-9ba1d8b672396bc512f6712898857aad.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@ -0,0 +1,2 @@
# Blender 4.3.2 MTL File: 'med_cart.blend'
# www.blender.org

View File

@ -0,0 +1,789 @@
# Blender 4.3.2
# www.blender.org
mtllib med_cart.mtl
o MedCart
v -0.340000 -0.460000 0.520000
v -0.300000 -0.460000 0.520000
v -0.340000 -0.488284 0.531716
v -0.300000 -0.488284 0.531716
v -0.340000 -0.500000 0.560000
v -0.300000 -0.500000 0.560000
v -0.340000 -0.488284 0.588284
v -0.300000 -0.488284 0.588284
v -0.340000 -0.460000 0.600000
v -0.300000 -0.460000 0.600000
v -0.340000 -0.431716 0.588284
v -0.300000 -0.431716 0.588284
v -0.340000 -0.420000 0.560000
v -0.300000 -0.420000 0.560000
v -0.340000 -0.431716 0.531716
v -0.300000 -0.431716 0.531716
v -0.340000 -0.460000 -0.600000
v -0.300000 -0.460000 -0.600000
v -0.340000 -0.488284 -0.588284
v -0.300000 -0.488284 -0.588284
v -0.340000 -0.500000 -0.560000
v -0.300000 -0.500000 -0.560000
v -0.340000 -0.488284 -0.531716
v -0.300000 -0.488284 -0.531716
v -0.340000 -0.460000 -0.520000
v -0.300000 -0.460000 -0.520000
v -0.340000 -0.431716 -0.531716
v -0.300000 -0.431716 -0.531716
v -0.340000 -0.420000 -0.560000
v -0.300000 -0.420000 -0.560000
v -0.340000 -0.431716 -0.588284
v -0.300000 -0.431716 -0.588284
v 0.300000 -0.460000 0.520000
v 0.340000 -0.460000 0.520000
v 0.300000 -0.488284 0.531716
v 0.340000 -0.488284 0.531716
v 0.300000 -0.500000 0.560000
v 0.340000 -0.500000 0.560000
v 0.300000 -0.488284 0.588284
v 0.340000 -0.488284 0.588284
v 0.300000 -0.460000 0.600000
v 0.340000 -0.460000 0.600000
v 0.300000 -0.431716 0.588284
v 0.340000 -0.431716 0.588284
v 0.300000 -0.420000 0.560000
v 0.340000 -0.420000 0.560000
v 0.300000 -0.431716 0.531716
v 0.340000 -0.431716 0.531716
v 0.300000 -0.460000 -0.600000
v 0.340000 -0.460000 -0.600000
v 0.300000 -0.488284 -0.588284
v 0.340000 -0.488284 -0.588284
v 0.300000 -0.500000 -0.560000
v 0.340000 -0.500000 -0.560000
v 0.300000 -0.488284 -0.531716
v 0.340000 -0.488284 -0.531716
v 0.300000 -0.460000 -0.520000
v 0.340000 -0.460000 -0.520000
v 0.300000 -0.431716 -0.531716
v 0.340000 -0.431716 -0.531716
v 0.300000 -0.420000 -0.560000
v 0.340000 -0.420000 -0.560000
v 0.300000 -0.431716 -0.588284
v 0.340000 -0.431716 -0.588284
v -0.320000 -0.420000 0.590000
v -0.350000 -0.419662 0.560000
v -0.350000 0.470000 0.560000
v -0.320000 0.500000 0.560000
v -0.320000 -0.420000 -0.590000
v -0.320000 0.470000 -0.590000
v 0.350000 -0.419662 0.560000
v 0.320000 0.500000 0.560000
v 0.350000 0.470000 0.560000
v -0.320000 -0.420000 -0.530000
v -0.350000 -0.419662 -0.560000
v -0.320000 -0.420000 0.530000
v -0.320000 0.470000 0.530000
v -0.350000 0.470000 -0.560000
v -0.320000 0.500000 -0.560000
v 0.320000 -0.420000 0.530000
v 0.350000 -0.419662 -0.560000
v 0.350000 0.470000 -0.560000
v 0.320000 0.500000 -0.560000
v 0.320000 -0.420000 -0.590000
v 0.320000 -0.420000 -0.530000
v 0.290000 -0.420338 -0.560000
v 0.320000 -0.420000 0.590000
v 0.290000 -0.420338 0.560000
v 0.320000 0.470000 -0.590000
v 0.320000 0.470000 -0.530000
v 0.290000 0.440000 -0.560000
v 0.290000 0.440000 0.560000
v 0.320000 0.470000 0.530000
v 0.320000 0.470000 0.590000
v -0.320000 0.470000 -0.530000
v -0.290000 0.440000 -0.560000
v -0.290000 0.440000 0.560000
v -0.320000 0.470000 0.590000
v -0.290000 -0.420338 -0.560000
v -0.290000 -0.420338 0.560000
v -0.320000 -0.480000 0.560000
v -0.320000 -0.480000 -0.560000
v 0.320000 -0.480000 -0.560000
v 0.320000 -0.480000 0.560000
v -0.280000 0.170000 -0.600000
v -0.200000 0.200000 -0.520000
v -0.200000 0.200000 -0.440000
v -0.280000 0.170000 -0.520000
v -0.270000 0.200000 -0.440000
v -0.350000 0.170000 -0.520000
v 0.280075 0.170000 -0.520000
v 0.200075 0.200000 -0.440000
v 0.200075 0.200000 -0.520000
v 0.280075 0.170000 -0.600000
v 0.350000 0.170000 -0.520000
v 0.270000 0.200000 -0.440000
v -0.200000 0.200000 0.520000
v -0.280000 0.170000 0.600000
v -0.200000 0.200000 0.440000
v -0.280000 0.170000 0.520000
v -0.270000 0.200000 0.440000
v -0.350000 0.170000 0.520000
v 0.270000 0.200000 0.440000
v 0.199925 0.200000 0.440000
v 0.350000 0.170000 0.520000
v 0.279925 0.170000 0.520000
v 0.199925 0.200000 0.520000
v 0.279925 0.170000 0.600000
v -0.280000 -0.330000 -0.600000
v -0.200000 -0.300000 -0.520000
v -0.200000 -0.300000 -0.440000
v -0.280000 -0.330000 -0.520000
v -0.270000 -0.300000 -0.440000
v -0.350000 -0.330000 -0.520000
v 0.280075 -0.330000 -0.520000
v 0.200075 -0.300000 -0.440000
v 0.200075 -0.300000 -0.520000
v 0.280075 -0.330000 -0.600000
v 0.350000 -0.330000 -0.520000
v 0.270000 -0.300000 -0.440000
v -0.200000 -0.300000 0.520000
v -0.280000 -0.330000 0.600000
v -0.200000 -0.300000 0.440000
v -0.280000 -0.330000 0.520000
v -0.270000 -0.300000 0.440000
v -0.350000 -0.330000 0.520000
v 0.270000 -0.300000 0.440000
v 0.199925 -0.300000 0.440000
v 0.350000 -0.330000 0.520000
v 0.279925 -0.330000 0.520000
v 0.199925 -0.300000 0.520000
v 0.279925 -0.330000 0.600000
v -0.280000 0.230000 -0.520000
v -0.280000 0.230000 -0.600000
v -0.350000 0.230000 -0.520000
v -0.350000 0.230000 0.520000
v 0.280075 0.230000 -0.520000
v 0.280075 0.230000 -0.600000
v 0.350000 0.230000 -0.520000
v -0.280000 0.230000 0.520000
v -0.280000 0.230000 0.600000
v 0.279925 0.230000 0.600000
v 0.279925 0.230000 0.520000
v 0.350000 0.230000 0.520000
v -0.280000 -0.270000 -0.520000
v -0.280000 -0.270000 -0.600000
v -0.350000 -0.270000 -0.520000
v -0.350000 -0.270000 0.520000
v 0.280075 -0.270000 -0.520000
v 0.280075 -0.270000 -0.600000
v 0.350000 -0.270000 -0.520000
v -0.280000 -0.270000 0.520000
v -0.280000 -0.270000 0.600000
v 0.279925 -0.270000 0.600000
v 0.279925 -0.270000 0.520000
v 0.350000 -0.270000 0.520000
v -0.240000 0.230000 -0.480000
v -0.240000 0.230000 -0.560000
v -0.310000 0.230000 -0.480000
v -0.310000 0.230000 0.480000
v 0.240075 0.230000 -0.480000
v 0.240075 0.230000 -0.560000
v 0.310000 0.230000 -0.480000
v -0.240000 0.230000 0.480000
v -0.240000 0.230000 0.560000
v 0.239925 0.230000 0.560000
v 0.239925 0.230000 0.480000
v 0.310000 0.230000 0.480000
v -0.240000 -0.270000 -0.480000
v -0.240000 -0.270000 -0.560000
v -0.310000 -0.270000 -0.480000
v -0.310000 -0.270000 0.480000
v 0.240075 -0.270000 -0.480000
v 0.240075 -0.270000 -0.560000
v 0.310000 -0.270000 -0.480000
v -0.240000 -0.270000 0.480000
v -0.240000 -0.270000 0.560000
v 0.239925 -0.270000 0.560000
v 0.239925 -0.270000 0.480000
v 0.310000 -0.270000 0.480000
vn -0.0000 -0.3827 -0.9239
vn -0.0000 -0.9239 -0.3827
vn -0.0000 -0.9239 0.3827
vn -0.0000 -0.3827 0.9239
vn -0.0000 0.3827 0.9239
vn -0.0000 0.9239 0.3827
vn 1.0000 -0.0000 -0.0000
vn -0.0000 0.9239 -0.3827
vn -0.0000 0.3827 -0.9239
vn -1.0000 -0.0000 -0.0000
vn -0.6646 -0.3342 0.6683
vn 0.6646 -0.3342 -0.6683
vn -0.6646 -0.3342 -0.6683
vn -0.5773 0.5773 0.5774
vn -0.5774 0.5774 -0.5773
vn 0.5773 0.5773 0.5774
vn 0.5773 0.5773 -0.5774
vn -0.7071 -0.0000 0.7071
vn -0.7071 -0.0000 -0.7071
vn -0.0000 0.7071 -0.7071
vn 0.7071 -0.0000 -0.7071
vn 0.7071 -0.0000 0.7071
vn -0.0000 0.7071 0.7071
vn -0.0000 -0.7071 -0.7071
vn -0.0000 -0.7071 0.7071
vn 0.6687 -0.3325 -0.6650
vn -0.6687 -0.3325 -0.6650
vn -0.6687 -0.3325 0.6650
vn 0.6646 -0.3342 0.6683
vn 0.6687 -0.3325 0.6650
vn -0.0000 -0.0000 -1.0000
vn -0.0000 -1.0000 -0.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn 0.6000 0.8000 -0.0000
vn -0.0000 0.8000 0.6000
vn -0.6000 0.8000 -0.0000
vn -0.0000 0.8000 -0.6000
vt 0.015625 0.890625
vt 0.031250 0.890625
vt 0.031250 0.906250
vt 0.015625 0.906250
vt 0.031250 0.921875
vt 0.015625 0.921875
vt 0.031250 0.937500
vt 0.015625 0.937500
vt 0.031250 0.953125
vt 0.015625 0.953125
vt 0.031250 0.968750
vt 0.015625 0.968750
vt 0.031250 0.984375
vt 0.015625 0.984375
vt 0.078125 0.984375
vt 0.078125 0.968750
vt 0.085938 0.960938
vt 0.101562 0.960938
vt 0.109375 0.968750
vt 0.109375 0.984375
vt 0.101562 0.992188
vt 0.085938 0.992188
vt 0.015625 0.859375
vt 0.031250 0.859375
vt 0.031250 0.875000
vt 0.015625 0.875000
vt 0.078125 0.921875
vt 0.085938 0.914062
vt 0.101562 0.914062
vt 0.109375 0.921875
vt 0.109375 0.937500
vt 0.101562 0.945312
vt 0.085938 0.945312
vt 0.078125 0.937500
vt 0.015625 0.750000
vt 0.031250 0.750000
vt 0.031250 0.765625
vt 0.015625 0.765625
vt 0.031250 0.781250
vt 0.015625 0.781250
vt 0.031250 0.796875
vt 0.015625 0.796875
vt 0.031250 0.812500
vt 0.015625 0.812500
vt 0.031250 0.828125
vt 0.015625 0.828125
vt 0.031250 0.843750
vt 0.015625 0.843750
vt 0.109375 0.828125
vt 0.109375 0.843750
vt 0.101562 0.851562
vt 0.085938 0.851562
vt 0.078125 0.843750
vt 0.078125 0.828125
vt 0.085938 0.820312
vt 0.101562 0.820312
vt 0.015625 0.718750
vt 0.031250 0.718750
vt 0.031250 0.734375
vt 0.015625 0.734375
vt 0.156250 0.984375
vt 0.148438 0.992188
vt 0.132812 0.992188
vt 0.125000 0.984375
vt 0.125000 0.968750
vt 0.132812 0.960938
vt 0.148438 0.960938
vt 0.156250 0.968750
vt 0.046875 0.750000
vt 0.062500 0.750000
vt 0.062500 0.765625
vt 0.046875 0.765625
vt 0.062500 0.781250
vt 0.046875 0.781250
vt 0.062500 0.796875
vt 0.046875 0.796875
vt 0.062500 0.812500
vt 0.046875 0.812500
vt 0.062500 0.828125
vt 0.046875 0.828125
vt 0.062500 0.843750
vt 0.046875 0.843750
vt 0.132812 0.820312
vt 0.148438 0.820312
vt 0.156250 0.828125
vt 0.156250 0.843750
vt 0.148438 0.851562
vt 0.132812 0.851562
vt 0.125000 0.843750
vt 0.125000 0.828125
vt 0.046875 0.718750
vt 0.062500 0.718750
vt 0.062500 0.734375
vt 0.046875 0.734375
vt 0.078125 0.875000
vt 0.085938 0.867188
vt 0.101562 0.867188
vt 0.109375 0.875000
vt 0.109375 0.890625
vt 0.101562 0.898438
vt 0.085938 0.898438
vt 0.078125 0.890625
vt 0.062500 0.953125
vt 0.046875 0.953125
vt 0.046875 0.937500
vt 0.062500 0.937500
vt 0.046875 0.921875
vt 0.062500 0.921875
vt 0.046875 0.906250
vt 0.062500 0.906250
vt 0.046875 0.890625
vt 0.062500 0.890625
vt 0.046875 0.875000
vt 0.062500 0.875000
vt 0.046875 0.859375
vt 0.062500 0.859375
vt 0.156250 0.921875
vt 0.156250 0.937500
vt 0.148438 0.945312
vt 0.132812 0.945312
vt 0.125000 0.937500
vt 0.125000 0.921875
vt 0.132812 0.914062
vt 0.148438 0.914062
vt 0.062500 0.984375
vt 0.046875 0.984375
vt 0.046875 0.968750
vt 0.062500 0.968750
vt 0.156250 0.890625
vt 0.148438 0.898438
vt 0.132812 0.898438
vt 0.125000 0.890625
vt 0.125000 0.875000
vt 0.132812 0.867188
vt 0.148438 0.867188
vt 0.156250 0.875000
vt 0.429688 0.601562
vt 0.414062 0.601562
vt 0.421875 0.578125
vt 0.351562 0.601562
vt 0.335938 0.601562
vt 0.343750 0.578125
vt 0.507812 0.601562
vt 0.492188 0.601562
vt 0.500000 0.578125
vt 0.476562 0.601562
vt 0.460938 0.601562
vt 0.468750 0.578125
vt 0.296875 0.648438
vt 0.304688 0.664062
vt 0.289062 0.664062
vt 0.210938 0.664062
vt 0.195312 0.664062
vt 0.203125 0.648438
vt 0.289062 0.937500
vt 0.304688 0.937500
vt 0.296875 0.953125
vt 0.210938 0.937500
vt 0.203125 0.953125
vt 0.195312 0.937500
vt 0.281250 0.648438
vt 0.273438 0.664062
vt 0.218750 0.648438
vt 0.226562 0.664062
vt 0.218750 0.953125
vt 0.226562 0.937500
vt 0.281250 0.953125
vt 0.273438 0.937500
vt 0.539062 0.601562
vt 0.539062 0.992188
vt 0.523438 0.992188
vt 0.523438 0.601562
vt 0.351562 0.992188
vt 0.367188 0.601562
vt 0.367188 0.992188
vt 0.445312 0.992188
vt 0.445312 0.601562
vt 0.460938 0.992188
vt 0.585938 0.992188
vt 0.585938 0.601562
vt 0.601562 0.601562
vt 0.601562 0.992188
vt 0.429688 0.992188
vt 0.617188 0.601562
vt 0.617188 0.992188
vt 0.507812 0.992188
vt 0.382812 0.601562
vt 0.382812 0.992188
vt 0.476562 0.976562
vt 0.632812 0.601562
vt 0.632812 0.976562
vt 0.414062 0.976562
vt 0.570312 0.976562
vt 0.570312 0.601562
vt 0.335938 0.976562
vt 0.492188 0.976562
vt 0.179688 0.929688
vt 0.179688 0.671875
vt 0.242188 0.671875
vt 0.242188 0.929688
vt 0.257812 0.929688
vt 0.257812 0.671875
vt 0.320312 0.671875
vt 0.320312 0.929688
vt 0.398438 0.601562
vt 0.398438 0.976562
vt 0.554688 0.601562
vt 0.554688 0.976562
vt 0.453125 0.578125
vt 0.609375 0.578125
vt 0.515625 0.578125
vt 0.531250 0.578125
vt 0.546875 0.578125
vt 0.437500 0.578125
vt 0.578125 0.578125
vt 0.593750 0.578125
vt 0.390625 0.578125
vt 0.375000 0.578125
vt 0.625000 0.578125
vt 0.359375 0.578125
vt 0.937500 0.968750
vt 0.960938 0.968750
vt 0.960938 1.000000
vt 0.937500 1.000000
vt 0.046875 0.562500
vt 0.046875 0.539062
vt 0.281250 0.539062
vt 0.281250 0.562500
vt 0.046875 0.507812
vt 0.046875 0.531250
vt 0.015625 0.531250
vt 0.015625 0.507812
vt 0.968750 0.968750
vt 0.703125 1.000000
vt 0.703125 0.968750
vt 0.671875 0.968750
vt 0.671875 0.539062
vt 0.703125 0.539062
vt 0.703125 0.507812
vt 0.937500 0.507812
vt 0.937500 0.539062
vt 0.968750 0.539062
vt 0.648438 0.968750
vt 0.648438 0.539062
vt 0.281250 0.476562
vt 0.250000 0.476562
vt 0.250000 0.507812
vt 0.078125 0.507812
vt 0.078125 0.476562
vt 0.046875 0.476562
vt 0.046875 0.109375
vt 0.078125 0.109375
vt 0.078125 0.078125
vt 0.250000 0.078125
vt 0.250000 0.109375
vt 0.281250 0.109375
vt 0.281250 0.531250
vt 0.281250 0.507812
vt 0.312500 0.507812
vt 0.312500 0.531250
vt 0.679688 0.968750
vt 0.679688 1.000000
vt 0.960938 0.539062
vt 0.960938 0.507812
vt 0.992188 0.539062
vt 0.992188 0.968750
vt 0.046875 0.054688
vt 0.046875 0.078125
vt 0.015625 0.078125
vt 0.015625 0.054688
vt 0.281250 0.023438
vt 0.281250 0.046875
vt 0.046875 0.046875
vt 0.046875 0.023438
vt 0.679688 0.539062
vt 0.679688 0.507812
vt 0.281250 0.078125
vt 0.281250 0.054688
vt 0.312500 0.054688
vt 0.312500 0.078125
vt 0.937500 0.468750
vt 0.960938 0.468750
vt 0.960938 0.500000
vt 0.937500 0.500000
vt 0.601562 0.023438
vt 0.601562 0.046875
vt 0.367188 0.046875
vt 0.367188 0.023438
vt 0.601562 0.078125
vt 0.601562 0.054688
vt 0.632812 0.054688
vt 0.632812 0.078125
vt 0.968750 0.468750
vt 0.703125 0.500000
vt 0.703125 0.468750
vt 0.671875 0.468750
vt 0.671875 0.039062
vt 0.703125 0.039062
vt 0.703125 0.007812
vt 0.937500 0.007812
vt 0.937500 0.039062
vt 0.968750 0.039062
vt 0.648438 0.468750
vt 0.648438 0.039062
vt 0.367188 0.109375
vt 0.398438 0.109375
vt 0.398438 0.078125
vt 0.570312 0.078125
vt 0.570312 0.109375
vt 0.601562 0.109375
vt 0.601562 0.476562
vt 0.570312 0.476562
vt 0.570312 0.507812
vt 0.398438 0.507812
vt 0.398438 0.476562
vt 0.367188 0.476562
vt 0.367188 0.054688
vt 0.367188 0.078125
vt 0.335938 0.078125
vt 0.335938 0.054688
vt 0.679688 0.468750
vt 0.679688 0.500000
vt 0.960938 0.039062
vt 0.960938 0.007812
vt 0.992188 0.039062
vt 0.992188 0.468750
vt 0.601562 0.531250
vt 0.601562 0.507812
vt 0.632812 0.507812
vt 0.632812 0.531250
vt 0.367188 0.562500
vt 0.367188 0.539062
vt 0.601562 0.539062
vt 0.601562 0.562500
vt 0.679688 0.039062
vt 0.679688 0.007812
vt 0.367188 0.507812
vt 0.367188 0.531250
vt 0.335938 0.531250
vt 0.335938 0.507812
vt 0.062500 0.492188
vt 0.062500 0.523438
vt 0.031250 0.492188
vt 0.031250 0.093750
vt 0.265625 0.523438
vt 0.265625 0.492188
vt 0.296875 0.492188
vt 0.062500 0.062500
vt 0.062500 0.093750
vt 0.265625 0.062500
vt 0.296875 0.093750
vt 0.265625 0.093750
vt 0.585938 0.093750
vt 0.585938 0.062500
vt 0.617188 0.093750
vt 0.617188 0.492188
vt 0.382812 0.062500
vt 0.382812 0.093750
vt 0.351562 0.093750
vt 0.585938 0.523438
vt 0.585938 0.492188
vt 0.382812 0.523438
vt 0.351562 0.492188
vt 0.382812 0.492188
s 0
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/4/2 4/3/2 6/5/2 5/6/2
f 5/6/3 6/5/3 8/7/3 7/8/3
f 7/8/4 8/7/4 10/9/4 9/10/4
f 9/10/5 10/9/5 12/11/5 11/12/5
f 11/12/6 12/11/6 14/13/6 13/14/6
f 4/15/7 2/16/7 16/17/7 14/18/7 12/19/7 10/20/7 8/21/7 6/22/7
f 13/23/8 14/24/8 16/25/8 15/26/8
f 15/26/9 16/25/9 2/2/9 1/1/9
f 1/27/10 3/28/10 5/29/10 7/30/10 9/31/10 11/32/10 13/33/10 15/34/10
f 17/35/1 18/36/1 20/37/1 19/38/1
f 19/38/2 20/37/2 22/39/2 21/40/2
f 21/40/3 22/39/3 24/41/3 23/42/3
f 23/42/4 24/41/4 26/43/4 25/44/4
f 25/44/5 26/43/5 28/45/5 27/46/5
f 27/46/6 28/45/6 30/47/6 29/48/6
f 20/49/7 18/50/7 32/51/7 30/52/7 28/53/7 26/54/7 24/55/7 22/56/7
f 29/57/8 30/58/8 32/59/8 31/60/8
f 31/60/9 32/59/9 18/36/9 17/35/9
f 17/61/10 19/62/10 21/63/10 23/64/10 25/65/10 27/66/10 29/67/10 31/68/10
f 33/69/1 34/70/1 36/71/1 35/72/1
f 35/72/2 36/71/2 38/73/2 37/74/2
f 37/74/3 38/73/3 40/75/3 39/76/3
f 39/76/4 40/75/4 42/77/4 41/78/4
f 41/78/5 42/77/5 44/79/5 43/80/5
f 43/80/6 44/79/6 46/81/6 45/82/6
f 36/83/7 34/84/7 48/85/7 46/86/7 44/87/7 42/88/7 40/89/7 38/90/7
f 45/91/8 46/92/8 48/93/8 47/94/8
f 47/94/9 48/93/9 34/70/9 33/69/9
f 33/95/10 35/96/10 37/97/10 39/98/10 41/99/10 43/100/10 45/101/10 47/102/10
f 49/103/1 50/104/1 52/105/1 51/106/1
f 51/106/2 52/105/2 54/107/2 53/108/2
f 53/108/3 54/107/3 56/109/3 55/110/3
f 55/110/4 56/109/4 58/111/4 57/112/4
f 57/112/5 58/111/5 60/113/5 59/114/5
f 59/114/6 60/113/6 62/115/6 61/116/6
f 52/117/7 50/118/7 64/119/7 62/120/7 60/121/7 58/122/7 56/123/7 54/124/7
f 61/125/8 62/126/8 64/127/8 63/128/8
f 63/128/9 64/127/9 50/104/9 49/103/9
f 49/129/10 51/130/10 53/131/10 55/132/10 57/133/10 59/134/10 61/135/10 63/136/10
f 85/137/11 86/138/11 103/139/11
f 69/140/12 99/141/12 102/142/12
f 76/143/12 100/144/12 101/145/12
f 86/146/13 84/147/13 103/148/13
f 67/149/14 98/150/14 68/151/14
f 79/152/15 70/153/15 78/154/15
f 72/155/16 94/156/16 73/157/16
f 83/158/17 82/159/17 89/160/17
f 67/161/15 68/151/15 77/162/15
f 78/163/14 95/164/14 79/152/14
f 82/165/16 83/158/16 90/166/16
f 73/167/17 93/168/17 72/155/17
f 65/169/18 98/170/18 67/171/18 66/172/18
f 70/173/19 69/140/19 75/174/19 78/175/19
f 79/152/20 83/158/20 89/160/20 70/153/20
f 82/176/21 81/177/21 84/147/21 89/178/21
f 94/179/22 87/180/22 71/181/22 73/182/22
f 72/155/23 68/151/23 98/150/23 94/156/23
f 95/164/23 90/166/23 83/158/23 79/152/23
f 68/151/20 72/155/20 93/168/20 77/162/20
f 90/183/22 85/137/22 81/177/22 82/176/22
f 73/182/21 71/181/21 80/184/21 93/185/21
f 77/186/19 76/143/19 66/172/19 67/171/19
f 78/175/18 75/174/18 74/187/18 95/188/18
f 89/178/19 84/147/19 86/146/19 91/189/19
f 93/185/19 80/184/19 88/190/19 92/191/19
f 85/137/18 90/183/18 91/192/18 86/138/18
f 87/180/18 94/179/18 92/193/18 88/194/18
f 96/195/21 99/141/21 69/140/21 70/173/21
f 97/196/21 100/144/21 76/143/21 77/186/21
f 70/153/24 89/160/24 91/197/24 96/198/24
f 96/199/25 91/200/25 90/166/25 95/164/25
f 77/162/24 93/168/24 92/201/24 97/202/24
f 97/203/25 92/204/25 94/156/25 98/150/25
f 99/205/22 96/206/22 95/188/22 74/187/22
f 98/170/22 65/169/22 100/207/22 97/208/22
f 84/147/26 81/177/26 103/209/26
f 80/184/26 71/181/26 104/210/26
f 66/172/27 76/143/27 101/211/27
f 65/169/28 66/172/28 101/212/28
f 100/207/29 65/169/29 101/213/29
f 81/177/30 85/137/30 103/214/30
f 87/180/11 88/194/11 104/215/11
f 71/181/30 87/180/30 104/216/30
f 99/205/29 74/187/29 102/217/29
f 74/187/28 75/174/28 102/218/28
f 88/190/13 80/184/13 104/219/13
f 75/174/27 69/140/27 102/220/27
s 1
f 108/221/10 153/222/10 154/223/10 105/224/10
s 0
f 105/225/31 154/226/31 158/227/31 114/228/31
s 1
f 153/229/31 108/230/31 110/231/31 155/232/31
s 0
f 110/233/32 108/221/32 105/224/32 114/234/32 111/235/32 115/236/32 125/237/32 126/238/32 128/239/32 118/240/32 120/241/32 122/242/32
f 115/236/7 159/243/7 164/244/7 125/237/7
f 116/245/33 112/246/33 113/247/33 106/248/33 107/249/33 109/250/33 121/251/33 119/252/33 117/253/33 127/254/33 124/255/33 123/256/33
s 1
f 111/257/31 157/258/31 159/259/31 115/260/31
f 157/261/7 111/235/7 114/234/7 158/262/7
f 160/263/10 120/241/10 118/240/10 161/264/10
s 0
f 122/242/10 156/265/10 155/266/10 110/233/10
s 1
f 120/267/34 160/268/34 156/269/34 122/270/34
s 0
f 128/271/34 162/272/34 161/273/34 118/274/34
s 1
f 126/238/7 163/275/7 162/276/7 128/239/7
f 163/277/34 126/278/34 125/279/34 164/280/34
f 132/281/10 165/282/10 166/283/10 129/284/10
s 0
f 129/285/31 166/286/31 170/287/31 138/288/31
s 1
f 165/289/31 132/290/31 134/291/31 167/292/31
s 0
f 134/293/32 132/281/32 129/284/32 138/294/32 135/295/32 139/296/32 149/297/32 150/298/32 152/299/32 142/300/32 144/301/32 146/302/32
f 139/296/7 171/303/7 176/304/7 149/297/7
f 140/305/33 136/306/33 137/307/33 130/308/33 131/309/33 133/310/33 145/311/33 143/312/33 141/313/33 151/314/33 148/315/33 147/316/33
s 1
f 135/317/31 169/318/31 171/319/31 139/320/31
f 169/321/7 135/295/7 138/294/7 170/322/7
f 172/323/10 144/301/10 142/300/10 173/324/10
s 0
f 146/302/10 168/325/10 167/326/10 134/293/10
s 1
f 144/327/34 172/328/34 168/329/34 146/330/34
s 0
f 152/331/34 174/332/34 173/333/34 142/334/34
s 1
f 150/298/7 175/335/7 174/336/7 152/299/7
f 175/337/34 150/338/34 149/339/34 176/340/34
s 0
f 177/341/33 178/342/33 154/226/33 153/229/33
f 179/343/33 177/341/33 153/229/33 155/232/33
f 180/344/33 179/343/33 155/232/33 156/269/33
f 182/345/33 181/346/33 157/258/33 158/227/33
f 181/346/33 183/347/33 159/259/33 157/258/33
f 178/342/33 182/345/33 158/227/33 154/226/33
f 185/348/33 184/349/33 160/268/33 161/273/33
f 184/349/33 180/344/33 156/269/33 160/268/33
f 186/350/33 185/348/33 161/273/33 162/272/33
f 188/351/33 187/352/33 163/277/33 164/280/33
f 187/352/33 186/350/33 162/272/33 163/277/33
f 183/347/33 188/351/33 164/280/33 159/259/33
f 189/353/33 190/354/33 166/286/33 165/289/33
f 191/355/33 189/353/33 165/289/33 167/292/33
f 192/356/33 191/355/33 167/292/33 168/329/33
f 194/357/33 193/358/33 169/318/33 170/287/33
f 193/358/33 195/359/33 171/319/33 169/318/33
f 190/354/33 194/357/33 170/287/33 166/286/33
f 197/360/33 196/361/33 172/328/33 173/333/33
f 196/361/33 192/356/33 168/329/33 172/328/33
f 198/362/33 197/360/33 173/333/33 174/332/33
f 200/363/33 199/364/33 175/337/33 176/340/33
f 199/364/33 198/362/33 174/332/33 175/337/33
f 195/359/33 200/363/33 176/340/33 171/319/33
f 107/249/35 106/248/35 178/342/35 177/341/35
f 109/250/36 107/249/36 177/341/36 179/343/36
f 121/251/35 109/250/35 179/343/35 180/344/35
f 113/247/37 112/246/37 181/346/37 182/345/37
f 112/246/36 116/245/36 183/347/36 181/346/36
f 106/248/36 113/247/36 182/345/36 178/342/36
f 117/253/35 119/252/35 184/349/35 185/348/35
f 119/252/38 121/251/38 180/344/38 184/349/38
f 127/254/38 117/253/38 185/348/38 186/350/38
f 123/256/38 124/255/38 187/352/38 188/351/38
f 124/255/37 127/254/37 186/350/37 187/352/37
f 116/245/37 123/256/37 188/351/37 183/347/37
f 131/309/35 130/308/35 190/354/35 189/353/35
f 133/310/36 131/309/36 189/353/36 191/355/36
f 145/311/35 133/310/35 191/355/35 192/356/35
f 137/307/37 136/306/37 193/358/37 194/357/37
f 136/306/36 140/305/36 195/359/36 193/358/36
f 130/308/36 137/307/36 194/357/36 190/354/36
f 141/313/35 143/312/35 196/361/35 197/360/35
f 143/312/38 145/311/38 192/356/38 196/361/38
f 151/314/38 141/313/38 197/360/38 198/362/38
f 147/316/38 148/315/38 199/364/38 200/363/38
f 148/315/37 151/314/37 198/362/37 199/364/37
f 140/305/37 147/316/37 200/363/37 195/359/37

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://b3p2eh3b8jg4r"
path="res://.godot/imported/med_cart.obj-7ad44e1c3f3e90ca434ae9d93c899d4e.mesh"
[deps]
files=["res://.godot/imported/med_cart.obj-7ad44e1c3f3e90ca434ae9d93c899d4e.mesh"]
source_file="res://assets/props/med_cart/med_cart.obj"
dest_files=["res://.godot/imported/med_cart.obj-7ad44e1c3f3e90ca434ae9d93c899d4e.mesh", "res://.godot/imported/med_cart.obj-7ad44e1c3f3e90ca434ae9d93c899d4e.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

BIN
assets/props/med_cart/med_cart_C.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://biqh5uq67dl55"
path="res://.godot/imported/med_cart_C.png-5741d041ac6b7984b9393b7010dc6aa3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/med_cart/med_cart_C.png"
dest_files=["res://.godot/imported/med_cart_C.png-5741d041ac6b7984b9393b7010dc6aa3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/med_cart/med_cart_M.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bds4qx6kqhplb"
path="res://.godot/imported/med_cart_M.png-66ba43229adbc3c89e56fde3fb6e0796.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/med_cart/med_cart_M.png"
dest_files=["res://.godot/imported/med_cart_M.png-66ba43229adbc3c89e56fde3fb6e0796.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/med_cart/med_cart_N.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://v4j34fh4vm06"
path="res://.godot/imported/med_cart_N.png-9df1b51f34cad0fb417ca02f67c86b9a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/med_cart/med_cart_N.png"
dest_files=["res://.godot/imported/med_cart_N.png-9df1b51f34cad0fb417ca02f67c86b9a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/props/med_cart/med_cart_N.png"
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/props/med_cart/med_cart_R.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcnsofhrfxyjk"
path="res://.godot/imported/med_cart_R.png-3bacad08ef5e8185c2f24583dd8969a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/med_cart/med_cart_R.png"
dest_files=["res://.godot/imported/med_cart_R.png-3bacad08ef5e8185c2f24583dd8969a8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/red.png (Stored with Git LFS) Normal file

Binary file not shown.

34
assets/red.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clofvb76pv6g"
path="res://.godot/imported/red.png-d5f39e261e8585dfbc0a32aa9fd1a167.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/red.png"
dest_files=["res://.godot/imported/red.png-d5f39e261e8585dfbc0a32aa9fd1a167.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
extends Node3D
@onready var grunk_beast: GrunkBeast = %GrunkBeast
func _process(_delta: float) -> void:
# Control grunkbeast movement
grunk_beast.move(
Input.get_axis("move_back", "move_forward"), Input.get_axis("move_right", "move_left")
)

View File

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

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=11 format=3 uid="uid://cbxlfnlmgdvsq"]
[gd_scene load_steps=12 format=3 uid="uid://cbxlfnlmgdvsq"]
[ext_resource type="PackedScene" uid="uid://d2664rpg4losx" path="res://src/world/grunk_beast/grunk_beast.tscn" id="1_6yv42"]
[ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="1_eco5q"]
[ext_resource type="Script" uid="uid://b1tbovuphat7d" path="res://levels/grunkbeast_test/grunkbeast_test.gd" id="1_ovhaj"]
[ext_resource type="Script" uid="uid://cpt8dy0csa3eu" path="res://levels/grunkbeast_test/fixed_camera.gd" id="2_77sam"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_goufh"]
@ -28,6 +29,7 @@ height = 1.0
radius = 2.0
[node name="GrunkbeastTest" type="Node3D"]
script = ExtResource("1_ovhaj")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
@ -58,6 +60,7 @@ script = ExtResource("1_eco5q")
frame_skip = 3
[node name="GrunkBeast" parent="FrameSkipper" instance=ExtResource("1_6yv42")]
unique_name_in_owner = true
move_speed = 8.0
step_time = 0.06

View File

@ -0,0 +1,18 @@
[gd_scene load_steps=4 format=3 uid="uid://8m6kh4f6pily"]
[ext_resource type="Script" uid="uid://1trqaximxxmx" path="res://src/world/meet_spook/meet_spook_mob.gd" id="1_545xt"]
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="2_2vvgf"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_k8gi4"]
material = ExtResource("2_2vvgf")
[node name="DebugMob" type="Node3D"]
script = ExtResource("1_545xt")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("CapsuleMesh_k8gi4")
[node name="Label3D" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
billboard = 2
text = "SPOOKY!"

View File

@ -0,0 +1,98 @@
[gd_scene load_steps=15 format=3 uid="uid://1kreuo8tc4jv"]
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_f3l4i"]
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="2_eywuc"]
[ext_resource type="Script" uid="uid://cvx514gdjd5ev" path="res://src/world/meet_spook/meet_spook.gd" id="4_b6st5"]
[ext_resource type="PackedScene" uid="uid://8m6kh4f6pily" path="res://levels/meet_spook_test/debug_mob.tscn" id="5_cr4pm"]
[ext_resource type="Script" uid="uid://cisuvlqvqfqgo" path="res://src/world/meet_spook/meet_spook_spawner.gd" id="5_tak24"]
[ext_resource type="Script" uid="uid://c1gy2b2wcq127" path="res://levels/meet_spook_test/tween_debug.gd" id="6_cr4pm"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eywuc"]
[sub_resource type="Sky" id="Sky_pka60"]
sky_material = SubResource("ProceduralSkyMaterial_eywuc")
[sub_resource type="Environment" id="Environment_nynr7"]
background_mode = 2
sky = SubResource("Sky_pka60")
[sub_resource type="PlaneMesh" id="PlaneMesh_b6st5"]
size = Vector2(50, 50)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_tak24"]
[sub_resource type="BoxMesh" id="BoxMesh_nynr7"]
size = Vector3(0.5, 2, 0.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_b6st5"]
data = PackedVector3Array(-0.25, 1, 0.25, 0.25, 1, 0.25, -0.25, -1, 0.25, 0.25, 1, 0.25, 0.25, -1, 0.25, -0.25, -1, 0.25, 0.25, 1, -0.25, -0.25, 1, -0.25, 0.25, -1, -0.25, -0.25, 1, -0.25, -0.25, -1, -0.25, 0.25, -1, -0.25, 0.25, 1, 0.25, 0.25, 1, -0.25, 0.25, -1, 0.25, 0.25, 1, -0.25, 0.25, -1, -0.25, 0.25, -1, 0.25, -0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, -1, -0.25, -0.25, 1, 0.25, -0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, 1, 0.25, -0.25, 1, 0.25, 0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, 1, -0.25, 0.25, 1, -0.25, -0.25, -1, 0.25, 0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, -1, 0.25, 0.25, -1, -0.25, -0.25, -1, -0.25)
[sub_resource type="SphereMesh" id="SphereMesh_tak24"]
[node name="MeetSpookTest" type="Node3D"]
[node name="Player" parent="." instance=ExtResource("1_f3l4i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_nynr7")
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
mesh = SubResource("PlaneMesh_b6st5")
skeleton = NodePath("../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
shape = SubResource("WorldBoundaryShape3D_tak24")
[node name="TriggerPodium" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
[node name="MeshInstance3D" type="MeshInstance3D" parent="TriggerPodium"]
mesh = SubResource("BoxMesh_nynr7")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TriggerPodium"]
shape = SubResource("ConcavePolygonShape3D_b6st5")
[node name="TriggerSwitch" parent="TriggerPodium" instance=ExtResource("2_eywuc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
clean = true
[node name="Label3D" type="Label3D" parent="TriggerPodium"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
text = "GET SCARED"
[node name="MeetSpook" type="Marker3D" parent="." node_paths=PackedStringArray("spawners")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, 0)
script = ExtResource("4_b6st5")
mob_scene = ExtResource("5_cr4pm")
spawners = [NodePath("../MeetSpookSpawner"), NodePath("../MeetSpookSpawner2")]
metadata/_custom_type_script = "uid://cvx514gdjd5ev"
[node name="MeetSpookSpawner" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 6)
script = ExtResource("5_tak24")
metadata/_custom_type_script = "uid://cisuvlqvqfqgo"
[node name="Target" type="Marker3D" parent="MeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
[node name="MeetSpookSpawner2" type="Marker3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 9, 1.5, 0)
script = ExtResource("5_tak24")
metadata/_custom_type_script = "uid://cisuvlqvqfqgo"
[node name="Target" type="Marker3D" parent="MeetSpookSpawner2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
[node name="TweenDebug" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -4.5)
mesh = SubResource("SphereMesh_tak24")
script = ExtResource("6_cr4pm")
[connection signal="activated" from="TriggerPodium/TriggerSwitch" to="MeetSpook" method="prepare"]
[connection signal="activated" from="TriggerPodium/TriggerSwitch" to="TweenDebug" method="activate"]

View File

@ -0,0 +1,19 @@
extends MeshInstance3D
@export var movement := Vector3(3, 0, 0)
@export var duration := 2.0
@export var transition_type := Tween.TRANS_SINE
@export var ease_type := Tween.EASE_IN
@onready var start_position := position
func activate() -> void:
var end_position := start_position + movement
position = start_position
(
create_tween()
. tween_property(self, "position", end_position, duration)
. set_trans(transition_type)
. set_ease(ease_type)
)

View File

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

View File

@ -59,7 +59,10 @@ enabled=PackedStringArray("res://addons/format_on_save/plugin.cfg", "res://addon
folder_colors={
"res://assets/": "red",
"res://levels/": "blue",
"res://src/": "green"
"res://levels/ghost_ship/": "purple",
"res://src/": "green",
"res://src/ui/": "yellow",
"res://src/world/": "teal"
}
[game]
@ -77,6 +80,7 @@ config/input/hold_to_sneak=true
MetalMaterial="This surface is made of metal."
PlasticMaterial="This surface is made of plastic."
MeetSpookSource="meet-spook event sources"
[importer_defaults]

View File

@ -1,6 +1,8 @@
class_name GameManagerType extends Node
## Autoloaded singleton encapsulating game state.
# TODO a lot of this should really be a property of the world.
## Emitted just after `delta` is added to the player's grunk tank.
signal grunk_collected(delta: float)
@ -27,6 +29,10 @@ const MAX_ALERT := 6
## Grunk collection milestones
@export var vault_milestones: Dictionary[int, Milestone]
var debug_emit_alert_signal: int:
set(value):
alert_raised.emit(value)
## Amount of grunk the player is currently carrying.
var grunk_tank := 0.0

View File

@ -102,7 +102,7 @@ tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.125, 0.05, 0.05, -0.125, 0, 0.25, 0, -0.05, -0.25, 0, 0.125, 0, 0, -0.125, -0.05, 0.25, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.125, 0.05, 0.1, -0.125, 0, 0.25, 0, -0.1, -0.25, 0, 0.125, 0, 0, -0.125, -0.05, 0.25, 0),
"times": PackedFloat32Array(0, 0.25, 0.75, 1)
}
tracks/1/type = "bezier"
@ -113,7 +113,7 @@ tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.031, 0.04, 0.081, -0.062, 0, 0.125, 0, -0.081, -0.125, 0, 0.125, 0, 0.081, -0.125, 0, 0.125, 0, -0.081, -0.125, 0, 0.063, 0, 0.00176717, -0.031, -0.04, 0.125, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.031, 0.04, 0.081, -0.062, 0, 0.02, 0, -0.081, -0.125, 0, 0.125, 0, 0.081, -0.125, 0, 0.02, 0, -0.081, -0.125, 0, 0.063, 0, 0.00176717, -0.031, -0.04, 0.125, 0),
"times": PackedFloat32Array(0, 0.13, 0.375, 0.625, 0.875, 1)
}
tracks/2/type = "bezier"

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,11 @@
[gd_scene load_steps=16 format=4 uid="uid://cppd3scvxf3eg"]
[gd_scene load_steps=11 format=4 uid="uid://cppd3scvxf3eg"]
[ext_resource type="Texture2D" uid="uid://cd0w8eqpount3" path="res://assets/props/crate_long/crate_long_C.png" id="2_oy2vn"]
[ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="3_c6a2t"]
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="4_d06p6"]
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="5_cmp6v"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_d06p6"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_cmp6v"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_qmc2t"]
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_c6a2t"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5pe4w"]
resource_local_to_scene = true
@ -53,48 +52,6 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_oy2vn")
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_rp2qp"]
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_if0c2"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_qmc2t")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2pd8h"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_qmc2t")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_sawbt"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("6_cmp6v")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(4, 4)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = SubResource("CompressedTexture2D_rp2qp")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_if0c2")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_2pd8h")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_d06p6"]
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)
@ -103,7 +60,7 @@ mesh = SubResource("ArrayMesh_c6a2t")
[node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_d06p6")]
mask_dim = 32
source_gunk_material = SubResource("ShaderMaterial_sawbt")
source_gunk_material = ExtResource("6_c6a2t")
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
shape = SubResource("ConcavePolygonShape3D_d06p6")

View File

@ -0,0 +1,58 @@
[gd_scene load_steps=10 format=4 uid="uid://c8pkhw0b47xdd"]
[ext_resource type="Texture2D" uid="uid://dg4odum5vfc2r" path="res://assets/props/cupboard/cupboard_C.png" id="1_00yk4"]
[ext_resource type="Texture2D" uid="uid://dkx0128lukxme" path="res://assets/props/cupboard/cupboard_M.png" id="2_w0nd8"]
[ext_resource type="Texture2D" uid="uid://c0qid1gqplbly" path="res://assets/props/cupboard/cupboard_N.png" id="3_ssqwt"]
[ext_resource type="Texture2D" uid="uid://cdmgbmje8ub3y" path="res://assets/props/cupboard/cupboard_R.png" id="4_q3cl1"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_q3cl1"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wyuua"]
albedo_texture = ExtResource("1_00yk4")
metallic = 1.0
metallic_texture = ExtResource("2_w0nd8")
roughness_texture = ExtResource("4_q3cl1")
normal_enabled = true
normal_texture = ExtResource("3_ssqwt")
texture_filter = 2
[sub_resource type="ArrayMesh" id="ArrayMesh_rgfsf"]
_surfaces = [{
"aabb": AABB(-0.5, -0.5, -2, 1, 1, 4),
"format": 34896613377,
"index_count": 84,
"index_data": PackedByteArray("AAABAAIAAgADAAAAAAADAAQAAgAFAAMAAgABAAUAAwAGAAQAAwAFAAYABAAHAAAAAAAHAAEABAAGAAcAAQAIAAUABQAJAAYACAAJAAUABgAKAAcACQAKAAYABwALAAEACwAIAAEACgALAAcACQAIAAwACwAKAA0ACgAJAA4ADgAJAAwADQAKAA4ADAAIAA8ACAALAA8ADAAPAA4ADwALAA0ADgAPAA0A"),
"name": "Material",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 16,
"vertex_data": PackedByteArray("AAD/////AAAAAAAA//8AAAAA//8AAAAA/////wAAAAD///////8AAAAAAAAAAAAA//8AAAAAAAD//wAA//8AAMwMAAAzAwAAMvMAADMDAAAy8wAAy/wAAMwMAADL/AAAMvPMDDMDAADMDMwMy/wAADLzzAzL/AAAzAzMDDMDAAA=")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_8b8wy"]
_surfaces = [{
"aabb": AABB(-0.5, -0.5, -2, 1, 1, 4),
"attribute_data": PackedByteArray("/6//0/+D/9P/r/8r/4P/K/8rAAD/VwAA/yv/K/9X/yv/K/8r/1f/K/8r/9P/V//T/yv/0/9X/9P/K////1f///9Z/9H/Wf8t/1v/z/9b/y8AAP8r/yv/KwAA/9P/K//T/4H/0f+B/y3/g//T/4P/K/9X/9P/Wf8t/1n/0f9X/yv/W/8v/3//L/9b/8//f//P/4H/Lf+B/9H/f/8v/3//z/+B/9H/Wf/R/3//z/9b/8//Wf8t/4H/Lf9b/y//f/8v"),
"format": 34896613399,
"index_count": 84,
"index_data": PackedByteArray("AAABAAIAAgABAAMABAAFAAYABgAFAAcACAAJAAoACgAJAAsADAANAA4ADgANAA8AEAARABIAEgARABMAFAAVABYAFgAVABcAGAAZABoAGgAZABsAHAAYABoAGQAdABsAHgAYABwAGwAdAB8AHQAeAB8AHwAeABwAIAAhACIAIgAhACMAJAAlACYAJgAlACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
"material": SubResource("StandardMaterial3D_wyuua"),
"name": "Material",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 48,
"vertex_data": PackedByteArray("AAD/////VNUAAAAA//9U1QAA//8AAFTVAAAAAAAAVNUAAP//AAD//wAAAAAAAP///////wAA/////wAAAAD///////8AAFTV//8AAAAAVNX///////9U1f//AAD//1TV/////////7///wAA////vwAA//////+/AAAAAP///78y8wAAy/xaxjLzAAAzAxfpMvPMDMv8esYy88wMMwNR6QAA//8AAP+//////wAA/78AAP//////v/////////+/zAwAAMv8S//MDAAAMwNR/wAAAAD//1H/AAAAAAAAT////wAA//9P/zLzAAAzA0v/MvMAAMv8Uf///wAAAABR/zLzzAwzA///zAzMDDMD//8y88wMy/z//8wMzAzL/P//zAwAADMD+ujMDAAAy/xLxswMzAwzA8DozAzMDMv8K8bMDAAAy/z//zLzAADL/P//zAzMDMv8//8y88wMy/z//zLzAAAzA///zAwAADMD//8y88wMMwP//8wMzAwzA///VNVU1VTVVNVU1VTVVNVU1f8//7//P/+//z//v/8//7+qqlRVqqpUVaqqVFWqqlRV/3//f/9//3//f/9//3//fxq7ceJ/6T/LdrtD4rXpJMv///9/////f////3////9/nD84/0B/X0CfPz//Pn9gQD5/YECcPzj/QH9fQJ8/P///f/8//3//P/9//z//f/8/sbRkaXWd7DqWtC5pR52POv9/////f////3////9/////f/9//3//f/9//3//f/9/")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_rgfsf")
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_tv0mb"]
data = PackedVector3Array(-0.5, 0.5, 2, -0.5, -0.5, 2, -0.5, 0.5, -2, -0.5, 0.5, -2, -0.5, -0.5, 2, -0.5, -0.5, -2, -0.5, 0.5, -2, -0.5, -0.5, -2, 0.5, 0.5, -2, 0.5, 0.5, -2, -0.5, -0.5, -2, 0.5, -0.5, -2, 0.5, 0.5, -2, 0.5, -0.5, -2, 0.5, 0.5, 2, 0.5, 0.5, 2, 0.5, -0.5, -2, 0.5, -0.5, 2, 0.5, 0.5, 2, 0.5, -0.5, 2, -0.5, 0.5, 2, -0.5, 0.5, 2, 0.5, -0.5, 2, -0.5, -0.5, 2, 0.45, -0.5, 1.95, 0.45, -0.5, -1.95, 0.45, -0.45, 1.95, 0.45, -0.45, 1.95, 0.45, -0.5, -1.95, 0.45, -0.45, -1.95, -0.5, 0.5, -2, 0.5, 0.5, -2, -0.5, 0.5, 2, -0.5, 0.5, 2, 0.5, 0.5, -2, 0.5, 0.5, 2, -0.45, -0.5, 1.95, -0.45, -0.5, -1.95, -0.5, -0.5, 2, -0.5, -0.5, 2, -0.45, -0.5, -1.95, -0.5, -0.5, -2, 0.5, -0.5, 2, -0.45, -0.5, 1.95, -0.5, -0.5, 2, -0.45, -0.5, -1.95, 0.45, -0.5, -1.95, -0.5, -0.5, -2, 0.45, -0.5, 1.95, -0.45, -0.5, 1.95, 0.5, -0.5, 2, -0.5, -0.5, -2, 0.45, -0.5, -1.95, 0.5, -0.5, -2, 0.45, -0.5, -1.95, 0.45, -0.5, 1.95, 0.5, -0.5, -2, 0.5, -0.5, -2, 0.45, -0.5, 1.95, 0.5, -0.5, 2, 0.45, -0.45, -1.95, -0.45, -0.45, -1.95, 0.45, -0.45, 1.95, 0.45, -0.45, 1.95, -0.45, -0.45, -1.95, -0.45, -0.45, 1.95, -0.45, -0.5, -1.95, -0.45, -0.5, 1.95, -0.45, -0.45, -1.95, -0.45, -0.45, -1.95, -0.45, -0.5, 1.95, -0.45, -0.45, 1.95, -0.45, -0.5, 1.95, 0.45, -0.5, 1.95, -0.45, -0.45, 1.95, -0.45, -0.45, 1.95, 0.45, -0.5, 1.95, 0.45, -0.45, 1.95, 0.45, -0.5, -1.95, -0.45, -0.5, -1.95, 0.45, -0.45, -1.95, 0.45, -0.45, -1.95, -0.45, -0.5, -1.95, -0.45, -0.45, -1.95)
[node name="Cupboard" type="MeshInstance3D"]
mesh = SubResource("ArrayMesh_8b8wy")
[node name="GunkBody" parent="." groups=["MetalMaterial"] instance=ExtResource("5_q3cl1")]
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
shape = SubResource("ConcavePolygonShape3D_tv0mb")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,11 @@
[gd_scene load_steps=16 format=4 uid="uid://rykf34p8n8x6"]
[gd_scene load_steps=11 format=4 uid="uid://rykf34p8n8x6"]
[ext_resource type="Texture2D" uid="uid://brdnb2dfgauaa" path="res://assets/props/overhead_light/overhead_light_burnout_C.png" id="1_1oo6x"]
[ext_resource type="Texture2D" uid="uid://c3pfufk3r4611" path="res://assets/props/overhead_light/overhead_light_burnout_M.png" id="2_esawx"]
[ext_resource type="Texture2D" uid="uid://buxuntbbfwvfg" path="res://assets/props/overhead_light/overhead_light_burnout_N.png" id="3_vg5ej"]
[ext_resource type="Texture2D" uid="uid://c40m0iq5tot1a" path="res://assets/props/overhead_light/overhead_light_burnout_R.png" id="4_0f8x7"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_qcusd"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_ta57f"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_730md"]
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_8nypc"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_niury"]
albedo_texture = ExtResource("1_1oo6x")
@ -50,48 +49,6 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_3fgwl")
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_gim1e"]
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_6giaa"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_730md")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_otfxe"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_730md")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dbxke"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("6_ta57f")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(4, 4)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = SubResource("CompressedTexture2D_gim1e")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_6giaa")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_otfxe")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_jad1v"]
data = PackedVector3Array(0.4, -0.1, 0.75, 0.3, -0.2, 0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, 0.75, 0.4, 0, -0.75, 0.4, -0.1, -0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.3, -0.2, -0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, 0, -0.75, 0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, -0.75, -0.4, 0, 0.75, -0.4, -0.1, 0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.4, 0, -0.75, 0.4, 0, -0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.4, 0, -0.75, 0.4, 0, 0.75, -0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, -0.75, 0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, 0.75, 0.3, -0.2, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.3, -0.2, 0.75)
@ -102,7 +59,7 @@ mesh = SubResource("ArrayMesh_c4xm1")
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("5_qcusd")]
mask_dim = 32
source_gunk_material = SubResource("ShaderMaterial_dbxke")
source_gunk_material = ExtResource("6_8nypc")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_jad1v")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=4 uid="uid://d2feet02a603e"]
[gd_scene load_steps=16 format=4 uid="uid://d2feet02a603e"]
[ext_resource type="Script" uid="uid://gg4c132d2xwj" path="res://src/props/overhead_light/overhead_light.gd" id="1_210ch"]
[ext_resource type="Texture2D" uid="uid://bne1d0r5a8nn6" path="res://assets/props/overhead_light/overhead_light_C.png" id="1_whqf3"]
@ -7,9 +7,7 @@
[ext_resource type="Texture2D" uid="uid://no4s7dsg8tih" path="res://assets/props/overhead_light/overhead_light_N.png" id="4_3gl0p"]
[ext_resource type="Texture2D" uid="uid://cr5e4hk33wmwf" path="res://assets/props/overhead_light/overhead_light_R.png" id="5_210ch"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_3gl0p"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_ljcul"]
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_cmugl"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_jdrpd"]
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="8_3gl0p"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ljcul"]
albedo_texture = ExtResource("1_whqf3")
@ -119,45 +117,6 @@ _data = {
&"flicker": SubResource("Animation_whqf3")
}
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("10_jdrpd")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("10_jdrpd")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rve3b"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("8_ljcul")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.66, 0.943333, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.04
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("9_cmugl")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_jdrpd"]
data = PackedVector3Array(0.4, -0.1, 0.75, 0.3, -0.2, 0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.3, -0.2, 0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, 0.75, 0.4, 0, -0.75, 0.4, -0.1, -0.75, 0.4, 0, 0.75, 0.4, 0, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.3, -0.2, -0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, 0, -0.75, 0.4, 0, -0.75, -0.3, -0.2, -0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, -0.75, -0.4, 0, 0.75, -0.4, -0.1, 0.75, -0.4, 0, -0.75, -0.4, 0, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, -0.75, -0.4, 0, -0.75, 0.4, 0, -0.75, -0.4, 0, 0.75, -0.4, 0, 0.75, 0.4, 0, -0.75, 0.4, 0, 0.75, -0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, 0.75, -0.4, -0.1, 0.75, -0.3, -0.2, -0.75, -0.4, -0.1, -0.75, 0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, -0.75, 0.4, -0.1, -0.75, 0.3, -0.2, 0.75, 0.4, -0.1, 0.75, 0.3, -0.2, -0.75, -0.3, -0.2, -0.75, 0.3, -0.2, 0.75, 0.3, -0.2, 0.75, -0.3, -0.2, -0.75, -0.3, -0.2, 0.75)
@ -187,7 +146,7 @@ autoplay = "flicker"
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("6_3gl0p")]
mask_dim = 32
source_gunk_material = SubResource("ShaderMaterial_rve3b")
source_gunk_material = ExtResource("8_3gl0p")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_jdrpd")

View File

@ -1,13 +1,11 @@
[gd_scene load_steps=16 format=4 uid="uid://bpsiwx1517pk1"]
[gd_scene load_steps=11 format=4 uid="uid://bpsiwx1517pk1"]
[ext_resource type="Texture2D" uid="uid://duuudxsof71hh" path="res://assets/props/tarp_crate/tarp_crate_C.png" id="1_chgpa"]
[ext_resource type="Texture2D" uid="uid://boqywmqew0f1i" path="res://assets/props/tarp_crate/tarp_crate_M.png" id="2_4lu2x"]
[ext_resource type="Texture2D" uid="uid://2eg8lmfp1r45" path="res://assets/props/tarp_crate/tarp_crate_N.png" id="3_vis60"]
[ext_resource type="Texture2D" uid="uid://i031i4c162sf" path="res://assets/props/tarp_crate/tarp_crate_R.png" id="4_p1cm3"]
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_p1cm3"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_qbm60"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_od7ht"]
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="7_qbm60"]
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_vis60"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qbm60"]
transparency = 2
@ -54,45 +52,6 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_qbm60")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_od7ht")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("7_od7ht")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_od7ht"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("6_qbm60")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("7_qbm60")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_v6rol"]
data = PackedVector3Array(-0.5, 0.7, 0.5, -0.5, -0.7, 0.5, -0.5, 0.7, -0.5, -0.5, 0.7, -0.5, -0.5, -0.7, 0.5, -0.5, -0.7, -0.5, -0.5, 0.7, -0.5, -0.5, -0.7, -0.5, 0.5, 0.7, -0.5, 0.5, 0.7, -0.5, -0.5, -0.7, -0.5, 0.5, -0.7, -0.5, 0.5, 0.7, -0.5, 0.5, -0.7, -0.5, 0.5, 0.7, 0.5, 0.5, 0.7, 0.5, 0.5, -0.7, -0.5, 0.5, -0.7, 0.5, 0.5, 0.7, 0.5, 0.5, -0.7, 0.5, -0.5, 0.7, 0.5, -0.5, 0.7, 0.5, 0.5, -0.7, 0.5, -0.5, -0.7, 0.5, -0.5, 0.7, -0.5, 0.5, 0.7, -0.5, -0.5, 0.7, 0.5, -0.5, 0.7, 0.5, 0.5, 0.7, -0.5, 0.5, 0.7, 0.5, 0.5, -0.7, 1.118, 0.5, -0.7, 0.5, 0.5, -0.8, 1.118, 0.5, -0.8, 1.118, 0.5, -0.7, 0.5, 0.5, -0.8, -0.5, 0.5, -0.8, -0.5, 0.5, -0.7, 0.5, 0.5, -0.7, -0.5, 0.5, -0.7, -0.5, -0.5, -0.7, -0.5, 0.5, -0.8, -0.5, 0.5, -0.8, -0.5, -0.5, -0.7, -0.5, -0.5, -0.8, -0.5, 0.5, -0.8, -0.5, -0.5, -0.8, -0.5, 0.5, -0.8, 1.118, 0.5, -0.8, 1.118, -0.5, -0.8, -0.5, -0.5, -0.8, 1.118, -0.5, -0.7, 1.118, 0.5, -0.7, 1.118, -0.5, -0.8, 1.118, -0.5, -0.8, 1.118, 0.5, -0.7, 1.118, 0.5, -0.8, 1.118, -0.5, -0.7, 0.5, 0.5, -0.7, 0.5, -0.5, -0.7, 1.118, -0.5, -0.7, 1.118, 0.5, -0.7, 0.5, 0.5, -0.7, 1.118, -0.5, 0.7, 0.5, 0.5, 0.7, 0.5, -0.5, -0.7, 1.118, -0.5, -0.7, 1.118, 0.5, 0.7, 0.5, 0.5, -0.7, 1.118, -0.5, -0.7, -0.5, -0.5, -0.7, 0.5, -0.5, -0.8, -0.5, -0.5, -0.8, -0.5, -0.5, -0.7, 0.5, -0.5, -0.8, 1.118, -0.5, -0.8, 1.118, -0.5, -0.7, 0.5, -0.5, -0.7, 1.118, 0.5, -0.7, 1.118, 0.5, 0.7, 0.5, -0.5, -0.7, 1.118, -0.5, -0.7, 1.118, 0.5, 0.7, 0.5, -0.5, 0.7, 0.5)
@ -101,7 +60,7 @@ mesh = SubResource("ArrayMesh_od7ht")
[node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_p1cm3")]
mask_dim = 128
source_gunk_material = SubResource("ShaderMaterial_od7ht")
source_gunk_material = ExtResource("6_vis60")
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
shape = SubResource("ConcavePolygonShape3D_v6rol")

View File

@ -1,13 +1,10 @@
[gd_scene load_steps=15 format=4 uid="uid://cjqayfrj2oxyr"]
[gd_scene load_steps=9 format=4 uid="uid://cjqayfrj2oxyr"]
[ext_resource type="PackedScene" uid="uid://bpsiwx1517pk1" path="res://src/props/tarp_crate/tarp_crate.tscn" id="1_l13nj"]
[ext_resource type="Texture2D" uid="uid://bn8jtn1sbfved" path="res://assets/props/tarp_crate/tarp_crate_logo_C.png" id="2_l13nj"]
[ext_resource type="Texture2D" uid="uid://c7txl2h0vpp6n" path="res://assets/props/tarp_crate/tarp_crate_logo_M.png" id="3_5yd1v"]
[ext_resource type="Texture2D" uid="uid://b30kaqo2dlgtu" path="res://assets/props/tarp_crate/tarp_crate_logo_N.png" id="4_af120"]
[ext_resource type="Texture2D" uid="uid://cv2kg5mgildw6" path="res://assets/props/tarp_crate/tarp_crate_logo_R.png" id="5_eybpw"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_x8kh1"]
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="7_a1gko"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="8_31hib"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yu7td"]
transparency = 2
@ -54,47 +51,5 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_l13nj")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("8_31hib")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("8_31hib")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vcd1x"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("6_x8kh1")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.02
shader_parameter/uv_scale = Vector2(2, 2)
shader_parameter/time_scale = 0.2
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("7_a1gko")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
shader_parameter/jitter_magnitude = 0.0
shader_parameter/jitter_time_scale = 0.1
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[node name="TarpCrateLogo" instance=ExtResource("1_l13nj")]
mesh = SubResource("ArrayMesh_5yd1v")
[node name="GunkBody" parent="." index="0" groups=["PlasticMaterial"]]
source_gunk_material = SubResource("ShaderMaterial_vcd1x")

View File

@ -64,4 +64,5 @@ mask_dim = 128
source_gunk_material = ExtResource("8_b7lht")
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
visible = false
shape = SubResource("ConcavePolygonShape3D_1s701")

File diff suppressed because one or more lines are too long

17
src/util/scene_tools.gd Normal file
View File

@ -0,0 +1,17 @@
class_name SceneTools extends Object
## Tools for specialized operations in a scene
## Get the Node3D in the given group which is spatially closest to the target node.
##
## If there is no such node, e.g. if the group is empty, the result will be null.
static func closest_in_group(target: Node3D, group_name: String) -> Node3D:
var closest: Node3D
var min_dist_sq := INF
for n: Node in target.get_tree().get_nodes_in_group(group_name):
if n is Node3D:
var dist_sq := (n as Node3D).global_position.distance_squared_to(target.global_position)
if dist_sq < min_dist_sq:
min_dist_sq = dist_sq
closest = n
return closest

View File

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

View File

@ -1,6 +1,7 @@
class_name GrunkBeast extends Node3D
## The nefarious grunkbeest!
##
## Uses tank controls.
## Procedural animation adapted from https://github.com/CBerry22/Godot-4.0-Procedural-Animation
@export var move_speed := 6.0
@ -13,12 +14,20 @@ class_name GrunkBeast extends Node3D
@export var step_distance := 1.0
@export var step_target_offset := 10.0
var _forward := 0.0
var _theta := 0.0
@onready var target_fl: BeastIKTarget = $Armature/TargetFL
@onready var target_fr: BeastIKTarget = $Armature/TargetFR
@onready var target_bl: BeastIKTarget = $Armature/TargetBL
@onready var target_br: BeastIKTarget = $Armature/TargetBR
func move(forward: float, theta: float) -> void:
_forward = forward
_theta = theta
func _process(delta: float) -> void:
# Reorient based on relative leg position
var p1 := Plane(target_bl.global_position, target_fl.global_position, target_fr.global_position)
@ -38,8 +47,7 @@ func _process(delta: float) -> void:
position = position.lerp(position + basis.y * distance, move_speed * delta)
# Movement
var direction := Input.get_axis("ui_down", "ui_up")
translate(Vector3(0, 0, direction) * move_speed * delta)
var a_direction := Input.get_axis("ui_right", "ui_left")
rotate_object_local(Vector3.UP, a_direction * turn_speed * delta)
translate(Vector3.BACK * _forward * move_speed * delta)
rotate_object_local(Vector3.UP, _theta * turn_speed * delta)
_forward = 0.0
_theta = 0.0

View File

@ -0,0 +1,29 @@
class_name MeetSpook extends Marker3D
## Source for a "meet-spook" event.
##
## When the event conditions are met, the MeetSpook closest to the player prepares contextual
## resources for the event.
const GROUP := "MeetSpookSource"
@export var mob_scene: PackedScene
@export var spawners: Array[MeetSpookSpawner] = []
var event_prepared := false
func prepare() -> void:
if event_prepared:
return
for spawner: MeetSpookSpawner in spawners:
var instance: MeetSpookMob = mob_scene.instantiate()
instance.source = self
spawner.spawn(instance)
event_prepared = true
func resolve() -> void:
for spawner: MeetSpookSpawner in spawners:
spawner.resolve()
event_prepared = false

View File

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

View File

@ -0,0 +1,62 @@
class_name MeetSpookMob extends Node3D
## Mob spawned and controlled by a meet-spook event
enum State { WAITING, FREEZE, MOVING }
const RAY_MASK := 0b00000101
const BASE_SPEED := 6.0
@export var source: MeetSpook
@export var target: Node3D
@export var freeze_time: float
@export var lifespan: float
var state := State.WAITING
@onready var camera := get_viewport().get_camera_3d()
func activate() -> void:
print_debug(self, " spotted!")
state = State.FREEZE
get_tree().create_timer(freeze_time).timeout.connect(_unfreeze)
get_tree().create_timer(lifespan).timeout.connect(destroy)
source.resolve()
func is_active() -> bool:
return state != State.WAITING
func move_toward_target(delta: float) -> void:
# Should probably be overridden by implementations
global_position = global_position.move_toward(target.global_position, BASE_SPEED * delta)
func _unfreeze() -> void:
state = State.MOVING
func _physics_process(delta: float) -> void:
match state:
State.WAITING:
# Not yet seen by the player
if camera.is_position_in_frustum(global_position):
var query := PhysicsRayQueryParameters3D.create(
camera.global_position, global_position, RAY_MASK
)
# TODO exceptions should include this mob's collision body
var raycast := get_world_3d().direct_space_state.intersect_ray(query)
if not raycast:
# Player has line-of-sight!
activate()
State.FREEZE:
# Just stand there for a sec
pass
State.MOVING:
move_toward_target(delta)
func destroy() -> void:
print_debug("Destroying ", self)
queue_free()

View File

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

View File

@ -0,0 +1,34 @@
class_name MeetSpookSpawner extends Marker3D
## Spawner which is part of a MeetSpook event
## Time to freeze the mob before moving after being spotted, in seconds.
@export var freeze_time := 0.4
## Time after which the mob will despawn after being spotted, in seconds.
@export var mob_lifespan := 1.0
var _instance: MeetSpookMob
func get_target() -> Marker3D:
for c: Node in get_children():
if c is Marker3D:
return c
return null
func spawn(instance: MeetSpookMob) -> void:
if is_instance_valid(_instance):
_instance.queue_free()
_instance = instance
_instance.target = get_target()
_instance.freeze_time = freeze_time
_instance.lifespan = mob_lifespan
add_child(_instance)
_instance.global_transform = global_transform
func resolve() -> void:
## Despawn if instance is not active
if is_instance_valid(_instance) and not _instance.is_active():
_instance.queue_free()

View File

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

View File

@ -0,0 +1,46 @@
class_name SpookManager extends Resource
## A strategy for handling horror elements through the level.
var debug_set_alert_level: int:
set = _on_alert_raised
func _init() -> void:
Game.manager.alert_raised.connect(_on_alert_raised)
Game.manager.alert_cleared.connect(_on_alert_cleared)
func _on_alert_raised(new_level: int) -> void:
match new_level:
0:
# LEVEL 0: UNAWARE
pass
1:
# LEVEL 1: PASSIVE
# Beast avoids the player.
# Set up meet-spook.
print_debug("Preparing meet-spook...")
# Get closest MeetSpook point to player.
if Player.instance:
var closest := SceneTools.closest_in_group(Player.instance, MeetSpook.GROUP)
(closest as MeetSpook).prepare()
2:
# LEVEL 2: AGGRESSIVE
# Beast pursues player on sight.
pass # TODO
3:
# LEVEL 3: PREDATORY
# Beast pursues player relentlessly.
pass # TODO
4:
# LEVEL 4: SWARMING
# Many beasts spawn, overwhelming the player.
pass # TODO
5:
# LEVEL 5: FUN
# Just kill that fool!
pass # TODO
func _on_alert_cleared() -> void:
pass # TODO

View File

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

View File

@ -1,6 +1,9 @@
class_name World extends Node
## Access and flow control for the game world.
@export var spook_manager: SpookManager
@export_category("Game Scenes")
@export var initial_level: PackedScene
@export var pause_scene: PackedScene

View File

@ -1,11 +1,17 @@
[gd_scene load_steps=4 format=3 uid="uid://884jqafhtrv0"]
[gd_scene load_steps=6 format=3 uid="uid://884jqafhtrv0"]
[ext_resource type="Script" uid="uid://cgqmhtemibxc5" path="res://src/world/world.gd" id="1_1k4gi"]
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
[ext_resource type="Script" uid="uid://bsn026pxqwkbc" path="res://src/world/spook_manager/spook_manager.gd" id="2_bsf3i"]
[ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="2_jte2u"]
[sub_resource type="Resource" id="Resource_43c6p"]
script = ExtResource("2_bsf3i")
metadata/_custom_type_script = "uid://bsn026pxqwkbc"
[node name="World" type="Node"]
script = ExtResource("1_1k4gi")
spook_manager = SubResource("Resource_43c6p")
initial_level = ExtResource("2_jte2u")
pause_scene = ExtResource("2_6fy3g")

View File

@ -119,11 +119,11 @@
- [x] space suit (2m tall, radius 0.4m)
- [ ] [[mess hall]] props:
- [x] trash bin (1m tall, radius 0.4m)
- [ ] cafeteria table (3.0x0.8x6.0)
- [x] cafeteria table (3.0x0.8x6.0)
- [x] vending machine (1.4x3.0x2.2)
- [ ] freezer (1.4x2.6x2.2)
- [ ] kitchen counter (1.0x1.0x6.0)
- [ ] cupboards (1.0x1.0x4.0)
- [x] cupboards (1.0x1.0x4.0)
- [ ] [[crew quarters]] props:
- [ ] sofa (2.6x1.0x1.2)
- [ ] coffee table (0.6m tall, radius 1m)
@ -131,7 +131,7 @@
- [ ] [[medbay]] props:
- [ ] operating table (4.0x2.0x1.0)
- [ ] wraparound desk
- [ ] OR cart (0.7x1.2x1.0)
- [x] OR cart (0.7x1.2x1.0)
- [ ] OR monitor cart (0.7x1.7x1.0)
- [ ] OR overhead light (0.6m tall, radius 2.5m)
- [ ] [[ops center]] props

View File

@ -7,4 +7,24 @@ Summoned when the [[grunk alert]] maxes out. Hunts down the player and grunkifie
Concept: No head, tall spindly legs.
Visually, I imagine it straining to pull itself out of the grunk.
### Behavior
Behavior changes based on [[grunk alert]]
##### LEVEL 0 - Unaware
Inactive. No spooky until the player fucks up.
##### LEVEL 1 - Passive
The beast spawns somewhere the player can't see. It will avoid the player.
Can we orchestrate a spooky sighting? ([[meet spook]]?)
##### LEVEL 2 - Aggressive
Beast will pursue the player on sight.
##### LEVEL 3 - Predatory
Beast will pursue player automatically and relentlessly.
##### LEVEL 4 - Swarming
Beasts spawn at every spawn point, all pursuing the player.
##### LEVEL 5 - He's right behind me, isn't he?
Unavoidable death. Show cutscene with player grabbed by beast.
The player can reset the alert level to 2 by returning to the safe zone.
tags: #mechanics #lore

View File

@ -0,0 +1 @@
After hitting [[grunk alert]] level 1, trigger a "meet spook" event. Mark all sightline boundaries (corners etc) for each area of the level, and spawn a passive [[grunk beast]] at each. When the player has line of sight to the beast, immediately scurry out of sight ( #maybe play a sting sfx?) and despawn.