Level building

This commit is contained in:
Rob Kelly 2025-03-28 14:16:43 -06:00
parent e2ca0cb1a2
commit 53884a8232
47 changed files with 4055 additions and 151 deletions

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,22 @@
# Blender 4.3.2 MTL File: 'alarm.blend'
# www.blender.org
newmtl Core
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.450000
d 1.000000
illum 2
newmtl Grunk
Ns 250.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.500000
d 1.000000
illum 2

View File

@ -0,0 +1,122 @@
# Blender 4.3.2
# www.blender.org
mtllib alarm_core.mtl
o Bud
v -0.000305 0.016706 -0.051647
v 0.050954 0.014567 0.011255
v 0.022972 0.014608 0.046766
v -0.050603 0.015038 0.012086
v -0.040807 0.015834 -0.031792
v 0.040527 0.015162 -0.032510
v -0.022175 0.014879 0.047141
v 0.051567 -0.011899 0.012115
v 0.022745 -0.011851 0.048014
v -0.051874 -0.011492 0.011470
v -0.041395 -0.010593 -0.033626
v 0.000226 -0.009570 -0.053399
v 0.041727 -0.011352 -0.033066
v -0.023350 -0.011543 0.047648
v 0.044800 0.033472 0.009364
v 0.020567 0.033466 0.040625
v -0.043997 0.033887 0.011183
v -0.035801 0.034555 -0.026860
v -0.000656 0.035393 -0.044528
v 0.035126 0.033982 -0.028449
v -0.018818 0.033746 0.041491
v 0.026218 0.047100 0.004813
v 0.012481 0.046946 0.023154
v -0.025113 0.047307 0.007217
v -0.020829 0.047612 -0.014315
v -0.000851 0.048334 -0.024889
v 0.019920 0.047291 -0.016447
v -0.010151 0.047252 0.024324
vn 0.7823 0.0305 0.6222
vn -0.9742 0.0444 -0.2212
vn -0.4349 0.0616 -0.8984
vn 0.4334 0.0535 -0.8996
vn 0.9746 0.0321 -0.2216
vn 0.0003 0.0332 0.9994
vn -0.7805 0.0348 0.6241
vn -0.9301 0.3088 -0.1988
vn 0.4061 0.3177 -0.8568
vn 0.0159 0.2979 0.9545
vn 0.7526 0.2957 0.5884
vn -0.4261 0.3250 -0.8443
vn 0.9280 0.2972 -0.2246
vn -0.7369 0.2999 0.6058
vn -0.4665 0.7898 0.3982
vn 0.0073 0.9998 0.0178
vn 0.5955 0.7889 -0.1516
vn -0.2883 0.8053 -0.5181
vn 0.4888 0.7869 0.3767
vn 0.0276 0.7883 0.6147
vn 0.2668 0.8015 -0.5351
vn -0.5945 0.7963 -0.1115
vt 0.164062 0.210938
vt 0.164062 0.484375
vt 0.000000 0.500000
vt 0.000000 0.195312
vt 0.507812 0.687500
vt 0.554688 0.960938
vt 0.390625 1.000000
vt 0.343750 0.695312
vt 0.882812 0.507812
vt 0.835938 0.687500
vt 0.671875 0.695312
vt 0.718750 0.492188
vt 0.882812 0.960938
vt 0.718750 1.000000
vt 0.234375 0.039062
vt 0.078125 -0.000000
vt 0.234375 0.656250
vt 0.078125 0.695312
vt 0.554688 0.507812
vt 0.390625 0.492188
vt 0.640625 0.695312
vt 0.671875 0.914062
vt 0.960938 0.695312
vt 1.000000 0.914062
vt 0.289062 0.453125
vt 0.343750 0.593750
vt 0.289062 0.234375
vt 1.000000 0.546875
vt 0.343750 0.101562
vt 0.671875 0.546875
vt 0.437500 0.445312
vt 0.343750 0.250000
vt 0.484375 0.250000
vt 0.523438 0.335938
vt 0.703125 0.296875
vt 0.625000 0.359375
vt 0.523438 0.156250
vt 0.625000 0.132812
vt 0.703125 0.195312
vt 0.656250 -0.000000
vt 0.828125 0.140625
vt 0.828125 0.359375
vt 0.656250 0.492188
vt 0.437500 0.046875
s 0
usemtl Core
f 2/1/1 3/2/1 9/3/1 8/4/1
f 4/5/2 5/6/2 11/7/2 10/8/2
f 5/9/3 1/10/3 12/11/3 11/12/3
f 1/10/4 6/13/4 13/14/4 12/11/4
f 6/15/5 2/1/5 8/4/5 13/16/5
f 3/2/6 7/17/6 14/18/6 9/3/6
f 7/19/7 4/5/7 10/8/7 14/20/7
f 5/6/8 4/5/8 17/21/8 18/22/8
f 6/13/9 1/10/9 19/23/9 20/24/9
f 7/17/10 3/2/10 16/25/10 21/26/10
f 3/2/11 2/1/11 15/27/11 16/25/11
f 1/10/12 5/9/12 18/28/12 19/23/12
f 2/1/13 6/15/13 20/29/13 15/27/13
f 4/5/14 7/19/14 21/30/14 17/21/14
f 17/31/15 21/32/15 28/33/15 24/34/15
f 26/35/16 25/36/16 24/34/16 28/33/16 23/37/16 22/38/16 27/39/16
f 15/40/17 20/41/17 27/39/17 22/38/17
f 19/42/18 18/43/18 25/36/18 26/35/18
f 16/44/19 15/40/19 22/38/19 23/37/19
f 21/32/20 16/44/20 23/37/20 28/33/20
f 20/41/21 19/42/21 26/35/21 27/39/21
f 18/43/22 17/31/22 24/34/22 25/36/22

Binary file not shown.

Binary file not shown.

BIN
asset_dev/grunk_nodes/alarm/alarm_core_uv_layout.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.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,48 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://60ks4l42qxia"
path="res://.godot/imported/alarm.gltf-ea2bfae4f9486e264df32529eb23ab63.scn"
[deps]
source_file="res://assets/grunk/alarm/alarm.gltf"
dest_files=["res://.godot/imported/alarm.gltf-ea2bfae4f9486e264df32529eb23ab63.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"materials": {
"Core": {
"use_external/enabled": true,
"use_external/path": "uid://cdpvcruywnp4x"
},
"Grunk": {
"use_external/enabled": true,
"use_external/path": "uid://bmab6i16v748m"
}
}
}
gltf/naming_version=1
gltf/embedded_image_handling=1

BIN
assets/grunk/alarm/alarm_core_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://d30fv8koa7l76"
path="res://.godot/imported/alarm_core_C.png-6c19be146ce7f3b1082c3b4a14ec6e5e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/grunk/alarm/alarm_core_C.png"
dest_files=["res://.godot/imported/alarm_core_C.png-6c19be146ce7f3b1082c3b4a14ec6e5e.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=true
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/grunk/alarm/alarm_core_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://b60qme57nn45u"
path="res://.godot/imported/alarm_core_N.png-bf83d4de4dda39cecd12ded93e8065ae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/grunk/alarm/alarm_core_N.png"
dest_files=["res://.godot/imported/alarm_core_N.png-bf83d4de4dda39cecd12ded93e8065ae.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=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/grunk/alarm/alarm_core_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/grunk/alarm/alarm_core_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://c3310lmvwfp7g"
path="res://.godot/imported/alarm_core_R.png-3ece2da6b8a3ee0dce1c204c687f2929.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/grunk/alarm/alarm_core_R.png"
dest_files=["res://.godot/imported/alarm_core_R.png-3ece2da6b8a3ee0dce1c204c687f2929.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=true
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

Binary file not shown.

View File

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

View File

@ -0,0 +1,107 @@
# Blender 4.3.2
# www.blender.org
mtllib trash_can.mtl
o Cylinder
v 0.000000 -0.500000 -0.400000
v 0.282843 -0.500000 -0.282843
v 0.400000 -0.500000 0.000000
v 0.282843 -0.500000 0.282843
v 0.000000 -0.500000 0.400000
v -0.282843 -0.500000 0.282843
v -0.400000 -0.500000 0.000000
v -0.282843 -0.500000 -0.282843
v -0.000000 0.500000 -0.350113
v 0.000000 0.400000 -0.400000
v 0.247567 0.500000 -0.247567
v 0.282843 0.400000 -0.282843
v 0.350113 0.500000 -0.000000
v 0.400000 0.400000 0.000000
v 0.247567 0.500000 0.247567
v 0.282843 0.400000 0.282843
v 0.000000 0.500000 0.350113
v 0.000000 0.400000 0.400000
v -0.247567 0.500000 0.247567
v -0.282843 0.400000 0.282843
v -0.350113 0.500000 0.000000
v -0.400000 0.400000 0.000000
v -0.247567 0.500000 -0.247567
v -0.282843 0.400000 -0.282843
vn -0.3827 -0.0000 -0.9239
vn 0.9239 -0.0000 0.3827
vn 0.3827 -0.0000 0.9239
vn -0.3827 -0.0000 0.9239
vn -0.9239 -0.0000 0.3827
vn -0.9239 -0.0000 -0.3827
vn 0.3827 -0.0000 -0.9239
vn 0.9239 -0.0000 -0.3827
vn -0.0000 -1.0000 -0.0000
vn 0.3475 0.4186 -0.8391
vn 0.8390 0.4186 -0.3475
vn 0.8390 0.4186 0.3475
vn 0.3475 0.4186 0.8390
vn -0.3475 0.4186 0.8391
vn -0.8390 0.4186 0.3475
vn -0.8391 0.4186 -0.3475
vn -0.3475 0.4186 -0.8390
vn -0.0000 1.0000 -0.0000
vt 0.125000 0.500000
vt 0.125000 0.953125
vt 0.000000 0.953125
vt 0.000000 0.500000
vt 0.750000 0.500000
vt 0.750000 0.953125
vt 0.625000 0.953125
vt 0.625000 0.500000
vt 0.500000 0.953125
vt 0.500000 0.500000
vt 0.375000 0.953125
vt 0.375000 0.500000
vt 0.250000 0.953125
vt 0.250000 0.500000
vt 1.000000 0.500000
vt 1.000000 0.953125
vt 0.875000 0.953125
vt 0.875000 0.500000
vt 0.843750 0.468750
vt 0.968750 0.343750
vt 0.968750 0.156250
vt 0.843750 0.031250
vt 0.656250 0.031250
vt 0.531250 0.156250
vt 0.531250 0.343750
vt 0.656250 0.468750
vt 0.468750 0.343750
vt 0.343750 0.468750
vt 0.312500 0.406250
vt 0.406250 0.312500
vt 0.468750 0.156250
vt 0.406250 0.187500
vt 0.343750 0.031250
vt 0.312500 0.093750
vt 0.156250 0.031250
vt 0.187500 0.093750
vt 0.031250 0.156250
vt 0.093750 0.187500
vt 0.031250 0.343750
vt 0.093750 0.312500
vt 0.156250 0.468750
vt 0.187500 0.406250
s 0
f 8/1/1 24/2/1 10/3/1 1/4/1
f 3/5/2 14/6/2 16/7/2 4/8/2
f 4/8/3 16/7/3 18/9/3 5/10/3
f 5/10/4 18/9/4 20/11/4 6/12/4
f 6/12/5 20/11/5 22/13/5 7/14/5
f 7/14/6 22/13/6 24/2/6 8/1/6
f 1/15/7 10/16/7 12/17/7 2/18/7
f 2/18/8 12/17/8 14/6/8 3/5/8
f 1/19/9 2/20/9 3/21/9 4/22/9 5/23/9 6/24/9 7/25/9 8/26/9
f 12/27/10 10/28/10 9/29/10 11/30/10
f 14/31/11 12/27/11 11/30/11 13/32/11
f 16/33/12 14/31/12 13/32/12 15/34/12
f 18/35/13 16/33/13 15/34/13 17/36/13
f 20/37/14 18/35/14 17/36/14 19/38/14
f 22/39/15 20/37/15 19/38/15 21/40/15
f 24/41/16 22/39/16 21/40/16 23/42/16
f 10/28/17 24/41/17 23/42/17 9/29/17
f 11/30/18 9/29/18 23/42/18 21/40/18 19/38/18 17/36/18 15/34/18 13/32/18

View File

@ -0,0 +1,25 @@
[remap]
importer="wavefront_obj"
importer_version=1
type="Mesh"
uid="uid://c1npli5k7cmt1"
path="res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh"
[deps]
files=["res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh"]
source_file="res://assets/props/trash_can/trash_can.obj"
dest_files=["res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.mesh", "res://.godot/imported/trash_can.obj-daca2c883ec044fd1a69cd27cd4a3490.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/trash_can/trash_can_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://dg01fg62km4fq"
path="res://.godot/imported/trash_can_C.png-a513828346c1391ee7f543c9bc5b98e7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/trash_can/trash_can_C.png"
dest_files=["res://.godot/imported/trash_can_C.png-a513828346c1391ee7f543c9bc5b98e7.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=true
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/trash_can/trash_can_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://dhj3w5ujnikf6"
path="res://.godot/imported/trash_can_M.png-7d498cc43ffebcd3f67598f6f4d903c1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/trash_can/trash_can_M.png"
dest_files=["res://.godot/imported/trash_can_M.png-7d498cc43ffebcd3f67598f6f4d903c1.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=true
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/trash_can/trash_can_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://c1ksjm73dg0jy"
path="res://.godot/imported/trash_can_N.png-0c251a62a2ee8a3c06fe8fc4bc763ee2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/trash_can/trash_can_N.png"
dest_files=["res://.godot/imported/trash_can_N.png-0c251a62a2ee8a3c06fe8fc4bc763ee2.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=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://assets/props/trash_can/trash_can_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/trash_can/trash_can_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://b8wb1tr3lpdap"
path="res://.godot/imported/trash_can_R.png-de97399a2f6bce07f3860d2832d8e1ae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/props/trash_can/trash_can_R.png"
dest_files=["res://.godot/imported/trash_can_R.png-de97399a2f6bce07f3860d2832d8e1ae.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=true
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

@ -29,7 +29,7 @@ ssao_intensity = 2.5
ssil_enabled = true
ssil_radius = 0.4
sdfgi_enabled = true
sdfgi_use_occlusion = true
sdfgi_cascades = 7
glow_enabled = true
glow_strength = 0.7
glow_blend_mode = 0

File diff suppressed because one or more lines are too long

View File

@ -186,6 +186,9 @@ transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107,
[node name="GunkRelay" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.45, -2.62268e-08, -0.6)
[node name="GunkRelay5" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.05, -4.80825e-08, -1.1)
[node name="GunkRelay2" parent="TriggerNetWall/Puzzle" instance=ExtResource("9_d4a3d")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.15, -1.09278e-08, -0.25)
@ -196,7 +199,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.2, -
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.2, 2.18558e-09, 0.05)
[node name="GunkAlarm" parent="TriggerNetWall/Puzzle" instance=ExtResource("10_l8xa5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, -1.09278e-08, -0.25)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 0, -0.25)
[node name="PulseNetWall" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3.5, 1.5, 0)
@ -238,6 +241,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.37114e-08, -1)
[connection signal="destroyed" from="TriggerNetWall/Puzzle/GunkTrigger" to="TriggerNetWall/Puzzle/GunkRelay" method="trigger"]
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay5" to="TriggerNetWall/Puzzle/GunkRelay2" method="trigger"]
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay2" to="TriggerNetWall/Puzzle/GunkRelay3" method="trigger"]
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay2" to="TriggerNetWall/Puzzle/GunkRelay4" method="trigger"]
[connection signal="triggered" from="TriggerNetWall/Puzzle/GunkRelay3" to="TriggerNetWall/Puzzle/GunkAlarm" method="trigger"]

View File

@ -12,7 +12,7 @@
[ext_resource type="ArrayMesh" uid="uid://5jt7xxr05lw3" path="res://assets/level/hallway/hallway_2.mesh" id="8_hrvvi"]
[ext_resource type="ArrayMesh" uid="uid://o6k7ebet848p" path="res://assets/level/hallway/hallway_3.mesh" id="9_2roq2"]
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="9_p27ol"]
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="10_2roq2"]
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/mechanics/alarm/grunk_nodule.tscn" id="10_2roq2"]
[ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="11_6fwow"]
[sub_resource type="PlaneMesh" id="PlaneMesh_4afx3"]

View File

@ -175,7 +175,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
3d_render/layer_2="HUD"
3d_physics/layer_1="Physics"
3d_physics/layer_2="Interactive"
3d_physics/layer_3="Grunkable"
3d_physics/layer_3="Sprayable"
[rendering]

View File

@ -45,14 +45,19 @@ unique_name_in_owner = true
target_position = Vector3(0, 0, -1.5)
collision_mask = 2
[node name="OmniLight3D" type="OmniLight3D" parent="CameraPivot/Camera3D"]
[node name="FarLight" type="OmniLight3D" parent="CameraPivot/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
light_energy = 0.08
light_indirect_energy = 4.0
light_energy = 0.05
light_specular = 0.01
light_cull_mask = 4294967293
omni_range = 60.0
omni_attenuation = 0.2
omni_range = 50.0
omni_attenuation = 0.0
[node name="NearLight" type="OmniLight3D" parent="CameraPivot/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
light_specular = 0.01
light_cull_mask = 4294967293
omni_range = 2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=16 format=4 uid="uid://d2feet02a603e"]
[gd_scene load_steps=21 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,7 +7,9 @@
[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="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="8_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"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ljcul"]
albedo_texture = ExtResource("1_whqf3")
@ -117,6 +119,45 @@ _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)
@ -132,7 +173,7 @@ light_energy = 2.0
light_specular = 1.0
spot_range = 16.0
spot_attenuation = 0.5
spot_angle = 80.0
spot_angle = 98.0
spot_angle_attenuation = 1.55871
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
@ -146,7 +187,7 @@ autoplay = "flicker"
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("6_3gl0p")]
mask_dim = 32
source_gunk_material = ExtResource("8_3gl0p")
source_gunk_material = SubResource("ShaderMaterial_rve3b")
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
shape = SubResource("ConcavePolygonShape3D_jdrpd")

Binary file not shown.

View File

@ -1,8 +1,8 @@
[gd_scene load_steps=7 format=4 uid="uid://2yqi5u5eo025"]
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_m8r0a"]
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="2_530fq"]
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_iyr82"]
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_smghl"]
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_3aedv"]
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_w5rj3"]
[sub_resource type="ArrayMesh" id="ArrayMesh_24j8i"]
_surfaces = [{
@ -26,7 +26,7 @@ _surfaces = [{
"format": 34896613399,
"index_count": 60,
"index_data": PackedByteArray("AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsA"),
"material": ExtResource("2_530fq"),
"material": ExtResource("3_w5rj3"),
"name": "Icosphere",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
@ -41,8 +41,8 @@ data = PackedVector3Array(0.7236, -0.4472, 0.5257, 0, -1, 0, -0.2764, -0.4472, 0
[node name="GrunkNodule" type="StaticBody3D"]
collision_layer = 5
script = ExtResource("1_m8r0a")
splatter_scene = ExtResource("2_iyr82")
script = ExtResource("1_smghl")
splatter_scene = ExtResource("2_3aedv")
durability = 3.0
metadata/_custom_type_script = "uid://bypgxi0gy56yk"

View File

@ -1,16 +1,20 @@
@tool
class_name GunkAlarm extends SignalNode
## Raises the grunk alert when triggered.
const ALERT_DELTA := 1
const JITTER_SCALE_FACTOR := 0.15
const JITTER_INFLATION_FACTOR := 1.5
## Time to wait for a pulse signal before triggering.
@export var pulse_timeout := 6.0
var _busy := false
@onready var mesh_instance_3d: MeshInstance3D = %MeshInstance3D
@onready var animation_player: AnimationPlayer = %AnimationPlayer
@onready var pulse_listener_timer: Timer = %PulseListenerTimer
@onready var animation_player: AnimationPlayer = $FrameSkipper/AlarmMesh/AnimationPlayer
@onready var bud: MeshInstance3D = $FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud
## Trigger this alarm.
@ -32,12 +36,15 @@ func pulse() -> void:
func _process(delta: float) -> void:
if Engine.is_editor_hint():
return
super._process(delta)
# TODO actual model & animation
var material: StandardMaterial3D = mesh_instance_3d.mesh.surface_get_material(0)
var value := 1.0 - pct_damage()
material.albedo_color = Color(value, value, value)
var shader: ShaderMaterial = bud.mesh.surface_get_material(0)
var damage := pct_damage()
shader.set_shader_parameter("jitter_time_scale", pow(damage * JITTER_SCALE_FACTOR, 1.2))
shader.set_shader_parameter("vertex_inflation", pow(damage * JITTER_INFLATION_FACTOR, 3))
# TODO pulse animation

File diff suppressed because one or more lines are too long

View File

@ -67,6 +67,6 @@ static func find_path(
func _editor_connect(node: SignalNode) -> void:
self.connect("triggered", node.trigger, CONNECT_PERSIST)
self.connect("pulsed", node.pulse, CONNECT_PERSIST)
self.triggered.connect(node.trigger, CONNECT_PERSIST)
self.pulsed.connect(node.trigger, CONNECT_PERSIST)
self.notify_property_list_changed()

View File

@ -111,7 +111,6 @@ _data = {
[node name="GunkRelay" type="StaticBody3D"]
collision_layer = 5
script = ExtResource("1_rdv5j")
durability = 0.8
value = 800.0
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]

View File

@ -1,11 +1,23 @@
@tool
extends GunkNode
## Triggers other components when destroyed.
@export var quick_connect_to: SignalNode:
set = _editor_connect
@onready var mesh_instance_3d: MeshInstance3D = %MeshInstance3D
func _process(delta: float) -> void:
if Engine.is_editor_hint():
return
super._process(delta)
# TODO proper animation
var mat: StandardMaterial3D = mesh_instance_3d.mesh.surface_get_material(0)
mat.emission_energy_multiplier = pct_damage()
func _editor_connect(node: SignalNode) -> void:
self.connect("destroyed", node.trigger, CONNECT_PERSIST)
self.notify_property_list_changed()

View File

@ -3,6 +3,8 @@
[ext_resource type="Script" uid="uid://pfob2ntqm0xw" path="res://src/world/mechanics/trigger/gunk_trigger.gd" id="1_t1c4j"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t1c4j"]
resource_local_to_scene = true
albedo_color = Color(0, 0.0313726, 0.101961, 1)
emission_enabled = true
emission = Color(1, 0, 0, 1)
emission_energy_multiplier = 0.0
@ -22,6 +24,7 @@ _surfaces = [{
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_ulsff"]
resource_local_to_scene = true
_surfaces = [{
"aabb": AABB(-0.894425, -1, -0.85064, 1.78885, 2, 1.70128),
"attribute_data": PackedByteArray("0UWv14su//9FF6/XFl3//9FFr9dcdK/X//+v17no//9z0a/Xc9Gv1y26///ooq/X6KKv16KL//9cdK/XXHSv19FFr9cWXWCv0UWv10UXr9eLLmCv//+v13PRr9e56GCvc9Gv1+iir9ctumCv6KKv11x0r9eii2CvFl1gr9FFr9eLLmCviy5gr0UXr9cAAGCvuehgr3PRr9ctumCvLbpgr+iir9eii2Cvootgr1x0r9cWXWCvFl1gr4suYK/RRRGHiy5grwAAYK9FFxGHuehgry26YK9z0RGHLbpgr6KLYK/oohGHootgrxZdYK9cdBGH"),

View File

@ -66,30 +66,33 @@
- [ ] [[player ship]] props:
- [ ] ship
- [ ] bunk
- [ ] tank terminal
- [x] tank terminal
- [x] tank animations
- [ ] control console & launch button
- [ ] door
- [ ] counters
- [ ] coffee machine
- [ ] [[airlock]] props:
- [ ] space suit
- [ ] space suit (2m tall, radius 0.4m)
- [ ] [[mess hall]] props:
- [ ] trash bin
- [ ] cafeteria table
- [ ] vending machine
- [ ] freezer
- [ ] kitchen counter
- [ ] cupboards
- [ ] trash bin (1m tall, radius 0.4m)
- [ ] cafeteria table (3.0x0.8x6.0)
- [ ] vending machine (1.4x3.0x2.2)
- [ ] freezer (1.4x2.6x2.2)
- [ ] kitchen counter (1.0x1.0x6.0)
- [ ] cupboards (1.0x1.0x4.0)
- [ ] [[crew quarters]] props:
- [ ] sofa
- [ ] coffee table
- [ ] bed
- [ ] sofa (2.6x1.0x1.2)
- [ ] coffee table (0.6m tall, radius 1m)
- [ ] bed (3.0x0.2x1.4)
- [ ] [[medbay]] props:
- [ ] operating table
- [ ] operating table (4.0x2.0x1.0)
- [ ] wraparound desk
- [ ] OR cart
- [ ] OR monitor cart
- [ ] 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
- [ ] railing
- [ ]
- [ ] railing (0.1x1.0x3.0)
- [ ] monitor desk (0.7x1.7x4.0)
- [ ] regular desk (0.7x1.2x4.0)
- [ ] wraparound desk