diff --git a/asset_dev/level/bulkhead/bulkhead.blend b/asset_dev/level/bulkhead/bulkhead.blend new file mode 100644 index 0000000..2c2ec5f Binary files /dev/null and b/asset_dev/level/bulkhead/bulkhead.blend differ diff --git a/asset_dev/level/bulkhead/bulkhead.blend1 b/asset_dev/level/bulkhead/bulkhead.blend1 new file mode 100644 index 0000000..5204e9f Binary files /dev/null and b/asset_dev/level/bulkhead/bulkhead.blend1 differ diff --git a/asset_dev/level/bulkhead/bulkhead.mtl b/asset_dev/level/bulkhead/bulkhead.mtl new file mode 100644 index 0000000..f6add1b --- /dev/null +++ b/asset_dev/level/bulkhead/bulkhead.mtl @@ -0,0 +1,2 @@ +# Blender 4.3.2 MTL File: 'bulkhead.blend' +# www.blender.org diff --git a/asset_dev/level/bulkhead/bulkhead.obj b/asset_dev/level/bulkhead/bulkhead.obj new file mode 100644 index 0000000..dbeedae --- /dev/null +++ b/asset_dev/level/bulkhead/bulkhead.obj @@ -0,0 +1,148 @@ +# Blender 4.3.2 +# www.blender.org +mtllib bulkhead.mtl +o Frame +v -1.500000 0.000000 0.022500 +v -1.500000 3.000000 0.022500 +v -1.500000 0.000000 -0.022500 +v -1.500000 3.000000 -0.022500 +v 1.500000 0.000000 0.022500 +v 1.500000 3.000000 0.022500 +v 1.500000 0.000000 -0.022500 +v 1.500000 3.000000 -0.022500 +v -1.312500 2.562500 -0.022500 +v -1.312500 0.437500 -0.022500 +v 1.187500 2.687500 -0.022500 +v 1.062500 2.812500 -0.022500 +v -1.187500 0.312500 -0.022500 +v -1.062500 2.812500 -0.022500 +v -1.062500 0.187500 -0.022500 +v 1.312500 2.562500 -0.022500 +v 1.312500 0.437500 -0.022500 +v 1.062500 0.187500 -0.022500 +v -1.187500 2.687500 0.022500 +v -1.062500 2.812500 0.022500 +v 1.312500 2.562500 0.022500 +v 1.312500 0.437500 0.022500 +v 1.187500 0.312500 0.022500 +v 1.062500 2.812500 0.022500 +v -1.312500 0.437500 0.022500 +v -1.312500 2.562500 0.022500 +v 1.062500 0.187500 0.022500 +v -1.062500 0.187500 0.022500 +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 +vn 0.7071 0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vt 0.507812 0.835938 +vt 0.890625 0.835938 +vt 0.890625 0.890625 +vt 0.507812 0.890625 +vt 0.562500 0.023438 +vt 0.546875 0.039062 +vt 0.507812 -0.000000 +vt 0.890625 -0.000000 +vt 0.890625 0.390625 +vt 0.851562 0.351562 +vt 0.867188 0.328125 +vt 0.867188 0.054688 +vt 0.835938 0.023438 +vt 0.835938 0.367188 +vt 0.507812 0.390625 +vt 0.531250 0.054688 +vt 0.531250 0.328125 +vt 0.562500 0.367188 +vt 0.890625 0.445312 +vt 0.507812 0.445312 +vt 0.562500 0.468750 +vt 0.546875 0.484375 +vt 0.851562 0.796875 +vt 0.867188 0.773438 +vt 0.867188 0.500000 +vt 0.835938 0.468750 +vt 0.531250 0.500000 +vt 0.531250 0.773438 +vt 0.562500 0.812500 +vt 0.835938 0.812500 +vt 1.000000 0.617188 +vt 1.000000 0.992188 +vt 0.945312 0.992188 +vt 0.945312 0.617188 +vt 0.890625 0.992188 +vt 0.890625 0.617188 +vt 0.945312 0.000000 +vt 0.945312 0.265625 +vt 0.890625 0.265625 +vt 0.945312 0.312500 +vt 0.945312 0.046875 +vt 1.000000 0.046875 +vt 1.000000 0.312500 +vt 0.945312 0.351562 +vt 1.000000 0.351562 +vt 0.890625 0.578125 +vt 0.945312 0.578125 +vt 0.945312 0.593750 +vt 1.000000 0.328125 +vt 0.890625 0.312500 +vt 0.890625 0.289062 +vt 0.945312 0.023438 +vt 1.000000 0.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 +f 10/5/2 13/6/2 3/7/2 4/8/2 8/9/2 11/10/2 12/11/2 14/12/2 9/13/2 +f 16/14/2 11/10/2 8/9/2 7/15/2 3/7/2 13/6/2 15/16/2 18/17/2 17/18/2 +f 7/15/3 8/9/3 6/19/3 5/20/3 +f 22/21/4 23/22/4 5/20/4 6/19/4 2/2/4 19/23/4 20/24/4 24/25/4 21/26/4 +f 2/2/4 1/1/4 5/20/4 23/22/4 27/27/4 28/28/4 25/29/4 26/30/4 19/23/4 +f 3/31/5 7/32/5 5/33/5 1/34/5 +f 8/35/6 4/36/6 2/34/6 6/33/6 +f 21/8/1 16/37/1 17/38/1 22/39/1 +f 14/40/5 12/41/5 24/42/5 20/43/5 +f 25/31/3 10/34/3 9/44/3 26/45/3 +f 28/46/7 15/47/7 13/48/7 10/34/7 25/36/7 +f 9/44/8 14/40/8 20/43/8 19/49/8 26/45/8 +f 22/39/9 17/38/9 18/40/9 27/50/9 23/51/9 +f 12/41/10 11/52/10 16/37/10 21/53/10 24/42/10 +f 27/50/6 18/40/6 15/47/6 28/46/6 +o Door +v -1.400000 0.100000 0.014000 +v -1.400000 2.900000 0.014000 +v -1.400000 0.100000 -0.014000 +v -1.400000 2.900000 -0.014000 +v 1.400000 0.100000 0.014000 +v 1.400000 2.900000 0.014000 +v 1.400000 0.100000 -0.014000 +v 1.400000 2.900000 -0.014000 +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.039062 0.468750 +vt 0.039062 0.898438 +vt 0.000000 0.898438 +vt 0.000000 0.468750 +vt 0.039062 0.429688 +vt 0.039062 0.000000 +vt 0.468750 0.000000 +vt 0.468750 0.429688 +vt 0.507812 0.468750 +vt 0.507812 0.898438 +vt 0.468750 0.898438 +vt 0.468750 0.468750 +vt 0.468750 0.937500 +vt 0.039062 0.937500 +s 0 +f 29/54/11 30/55/11 32/56/11 31/57/11 +f 31/58/12 32/59/12 36/60/12 35/61/12 +f 35/62/13 36/63/13 34/64/13 33/65/13 +f 33/65/14 34/64/14 30/55/14 29/54/14 +f 31/58/15 35/61/15 33/65/15 29/54/15 +f 36/66/16 32/67/16 30/55/16 34/64/16 diff --git a/assets/props/bulkhead/bulkhead.bin b/assets/props/bulkhead/bulkhead.bin new file mode 100644 index 0000000..48e4ab7 Binary files /dev/null and b/assets/props/bulkhead/bulkhead.bin differ diff --git a/assets/props/bulkhead/bulkhead.gltf b/assets/props/bulkhead/bulkhead.gltf new file mode 100644 index 0000000..c9d4402 --- /dev/null +++ b/assets/props/bulkhead/bulkhead.gltf @@ -0,0 +1,461 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.3.47", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0, + 1 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Frame" + }, + { + "mesh":1, + "name":"Door" + } + ], + "animations":[ + { + "channels":[ + { + "sampler":0, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":0, + "path":"scale" + } + } + ], + "name":"RESET", + "samplers":[ + { + "input":8, + "interpolation":"LINEAR", + "output":9 + }, + { + "input":8, + "interpolation":"LINEAR", + "output":10 + }, + { + "input":8, + "interpolation":"LINEAR", + "output":11 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":1, + "path":"scale" + } + } + ], + "name":"open", + "samplers":[ + { + "input":12, + "interpolation":"LINEAR", + "output":13 + }, + { + "input":14, + "interpolation":"STEP", + "output":15 + }, + { + "input":14, + "interpolation":"STEP", + "output":16 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":1, + "path":"scale" + } + } + ], + "name":"RESET", + "samplers":[ + { + "input":8, + "interpolation":"LINEAR", + "output":17 + }, + { + "input":8, + "interpolation":"LINEAR", + "output":18 + }, + { + "input":8, + "interpolation":"LINEAR", + "output":19 + } + ] + } + ], + "meshes":[ + { + "name":"Cube.001", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2 + }, + "indices":3 + } + ] + }, + { + "name":"Cube.003", + "primitives":[ + { + "attributes":{ + "POSITION":4, + "NORMAL":5, + "TEXCOORD_0":6 + }, + "indices":7 + } + ] + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":80, + "max":[ + 1.5, + 3, + 0.22499999403953552 + ], + "min":[ + -1.5, + 0, + -0.22499999403953552 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":80, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":80, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5123, + "count":168, + "type":"SCALAR" + }, + { + "bufferView":4, + "componentType":5126, + "count":24, + "max":[ + 1.399999976158142, + 2.9000000953674316, + 0.14000003039836884 + ], + "min":[ + -1.399999976158142, + 0.10000002384185791, + -0.14000003039836884 + ], + "type":"VEC3" + }, + { + "bufferView":5, + "componentType":5126, + "count":24, + "type":"VEC3" + }, + { + "bufferView":6, + "componentType":5126, + "count":24, + "type":"VEC2" + }, + { + "bufferView":7, + "componentType":5123, + "count":36, + "type":"SCALAR" + }, + { + "bufferView":8, + "componentType":5126, + "count":1, + "max":[ + 0.041666666666666664 + ], + "min":[ + 0.041666666666666664 + ], + "type":"SCALAR" + }, + { + "bufferView":9, + "componentType":5126, + "count":1, + "type":"VEC3" + }, + { + "bufferView":10, + "componentType":5126, + "count":1, + "type":"VEC4" + }, + { + "bufferView":11, + "componentType":5126, + "count":1, + "type":"VEC3" + }, + { + "bufferView":12, + "componentType":5126, + "count":160, + "max":[ + 6.666666666666667 + ], + "min":[ + 0.041666666666666664 + ], + "type":"SCALAR" + }, + { + "bufferView":13, + "componentType":5126, + "count":160, + "type":"VEC3" + }, + { + "bufferView":14, + "componentType":5126, + "count":2, + "max":[ + 6.666666666666667 + ], + "min":[ + 0.041666666666666664 + ], + "type":"SCALAR" + }, + { + "bufferView":15, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":16, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":17, + "componentType":5126, + "count":1, + "type":"VEC3" + }, + { + "bufferView":18, + "componentType":5126, + "count":1, + "type":"VEC4" + }, + { + "bufferView":19, + "componentType":5126, + "count":1, + "type":"VEC3" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":960, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":960, + "target":34962 + }, + { + "buffer":0, + "byteLength":640, + "byteOffset":1920, + "target":34962 + }, + { + "buffer":0, + "byteLength":336, + "byteOffset":2560, + "target":34963 + }, + { + "buffer":0, + "byteLength":288, + "byteOffset":2896, + "target":34962 + }, + { + "buffer":0, + "byteLength":288, + "byteOffset":3184, + "target":34962 + }, + { + "buffer":0, + "byteLength":192, + "byteOffset":3472, + "target":34962 + }, + { + "buffer":0, + "byteLength":72, + "byteOffset":3664, + "target":34963 + }, + { + "buffer":0, + "byteLength":4, + "byteOffset":3736 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":3740 + }, + { + "buffer":0, + "byteLength":16, + "byteOffset":3752 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":3768 + }, + { + "buffer":0, + "byteLength":640, + "byteOffset":3780 + }, + { + "buffer":0, + "byteLength":1920, + "byteOffset":4420 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":6340 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":6348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":6380 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":6404 + }, + { + "buffer":0, + "byteLength":16, + "byteOffset":6416 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":6432 + } + ], + "buffers":[ + { + "byteLength":6444, + "uri":"bulkhead.bin" + } + ] +} diff --git a/assets/props/bulkhead/bulkhead.gltf.import b/assets/props/bulkhead/bulkhead.gltf.import new file mode 100644 index 0000000..42658c9 --- /dev/null +++ b/assets/props/bulkhead/bulkhead.gltf.import @@ -0,0 +1,37 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bopvgd18a1dl0" +path="res://.godot/imported/bulkhead.gltf-0b1343ef1731bb312f97ce941e1c0cec.scn" + +[deps] + +source_file="res://assets/props/bulkhead/bulkhead.gltf" +dest_files=["res://.godot/imported/bulkhead.gltf-0b1343ef1731bb312f97ce941e1c0cec.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={} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/levels/ghost_ship/ghost_ship_level.tscn b/levels/ghost_ship/ghost_ship_level.tscn index 113a460..8c8a98a 100644 --- a/levels/ghost_ship/ghost_ship_level.tscn +++ b/levels/ghost_ship/ghost_ship_level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=106 format=4 uid="uid://crydi5cjgfwe5"] +[gd_scene load_steps=110 format=4 uid="uid://crydi5cjgfwe5"] [ext_resource type="PackedScene" uid="uid://oowut88kr2ox" path="res://levels/ghost_ship/player_ship/player_ship.tscn" id="1_2pyr1"] [ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_2egij"] @@ -17,6 +17,7 @@ [ext_resource type="Texture2D" uid="uid://cpdrvdu3qt62t" path="res://assets/level/wall/wall_2_N.png" id="15_rp2qp"] [ext_resource type="Texture2D" uid="uid://ba5vvrx730go8" path="res://assets/level/wall/wall_2_R.png" id="16_if0c2"] [ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="17_0idgf"] +[ext_resource type="PackedScene" uid="uid://dvma1hufsl6mc" path="res://src/props/bulkhead/bulkhead.tscn" id="18_17ivy"] [ext_resource type="Texture2D" uid="uid://ckgmc6j7r0rh1" path="res://assets/level/t-junction/t-junction_2_C.png" id="18_qu6vm"] [ext_resource type="Texture2D" uid="uid://cjbem2fg50idh" path="res://assets/level/t-junction/t-junction_1_C.png" id="18_sqa4l"] [ext_resource type="Texture2D" uid="uid://cgsvlb8qc5yml" path="res://assets/level/t-junction/t-junction_1_M.png" id="19_17ivy"] @@ -29,7 +30,6 @@ [ext_resource type="Texture2D" uid="uid://cwqr6plpp3aov" path="res://assets/level/wall/wall_3_M.png" id="23_17ivy"] [ext_resource type="Texture2D" uid="uid://qw6yjgadiv5f" path="res://assets/level/wall/wall_3_N.png" id="24_ji5cn"] [ext_resource type="Texture2D" uid="uid://dqkarguq5m5hn" path="res://assets/level/wall/wall_3_R.png" id="25_35kna"] -[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="26_17ivy"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_rp2qp"] load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex" @@ -650,6 +650,44 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_ncghj") +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ji5cn"] +load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex" + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_35kna"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("6_3kphg") + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_4a0u4"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("6_3kphg") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_6giaa"] +resource_local_to_scene = true +render_priority = 0 +shader = ExtResource("5_1njh5") +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 = SubResource("CompressedTexture2D_ji5cn") +shader_parameter/gunk_noise = SubResource("NoiseTexture3D_35kna") +shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_4a0u4") + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sqa4l"] resource_local_to_scene = true albedo_texture = ExtResource("22_sqa4l") @@ -883,6 +921,8 @@ shape = SubResource("ConcavePolygonShape3D_p11ap") [node name="WallSwitch" parent="Airlock/FarWall" instance=ExtResource("17_0idgf")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 1.5, 0.1) +[node name="Bulkhead" parent="Airlock/FarWall" instance=ExtResource("18_17ivy")] + [node name="Corridor1" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -22.5) @@ -906,6 +946,9 @@ mesh = SubResource("ArrayMesh_otfxe") [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/T-Junction1"] shape = SubResource("ConcavePolygonShape3D_if0c2") +[node name="Bulkhead1" parent="Corridor1" instance=ExtResource("18_17ivy")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.5, 0, -7.5) + [node name="Hallway2" parent="Corridor1" instance=ExtResource("2_2egij")] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5, 0, -7.5) source_gunk_material = SubResource("ShaderMaterial_okeuk") @@ -940,7 +983,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2") [node name="EndCap" parent="Corridor1" instance=ExtResource("2_2egij")] transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -28.5, 1.5, -7.5) mask_dim = 64 -source_gunk_material = ExtResource("26_17ivy") +source_gunk_material = SubResource("ShaderMaterial_6giaa") [node name="MeshInstance3D" type="MeshInstance3D" parent="Corridor1/EndCap"] mesh = SubResource("ArrayMesh_ji5cn") @@ -957,3 +1000,6 @@ mesh = SubResource("ArrayMesh_6nvhk") [node name="CollisionShape3D" type="CollisionShape3D" parent="Corridor1/Hallway4"] shape = SubResource("ConcavePolygonShape3D_ruwlj") + +[connection signal="activated" from="Airlock/FarWall/WallSwitch" to="Airlock/FarWall/WallSwitch" method="disable"] +[connection signal="activated" from="Airlock/FarWall/WallSwitch" to="Airlock/FarWall/Bulkhead" method="open"] diff --git a/src/props/bulkhead/bulkhead.gd b/src/props/bulkhead/bulkhead.gd new file mode 100644 index 0000000..db54c9c --- /dev/null +++ b/src/props/bulkhead/bulkhead.gd @@ -0,0 +1,7 @@ +extends Node3D + +@onready var animation: AnimationPlayer = $AnimationPlayer + + +func open() -> void: + animation.play("open") diff --git a/src/props/bulkhead/bulkhead.gd.uid b/src/props/bulkhead/bulkhead.gd.uid new file mode 100644 index 0000000..064422f --- /dev/null +++ b/src/props/bulkhead/bulkhead.gd.uid @@ -0,0 +1 @@ +uid://rjygr6ybnl30 diff --git a/src/props/bulkhead/bulkhead.tscn b/src/props/bulkhead/bulkhead.tscn new file mode 100644 index 0000000..5d1256a --- /dev/null +++ b/src/props/bulkhead/bulkhead.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=3 uid="uid://dvma1hufsl6mc"] + +[ext_resource type="PackedScene" uid="uid://bopvgd18a1dl0" path="res://assets/props/bulkhead/bulkhead.gltf" id="1_77udb"] +[ext_resource type="Script" uid="uid://rjygr6ybnl30" path="res://src/props/bulkhead/bulkhead.gd" id="2_hknvo"] + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_hknvo"] +data = PackedVector3Array(-1.5, 0, 0.225, -1.5, 3, -0.225, -1.5, 3, 0.225, -1.5, 0, 0.225, -1.5, 0, -0.225, -1.5, 3, -0.225, -1.3125, 0.4375, -0.225, -1.5, 0, -0.225, -1.1875, 0.3125, -0.225, -1.5, 0, -0.225, -1.0625, 0.1875, -0.225, -1.1875, 0.3125, -0.225, -1.5, 0, -0.225, 1.0625, 0.1875, -0.225, -1.0625, 0.1875, -0.225, -1.3125, 0.4375, -0.225, -1.5, 3, -0.225, -1.5, 0, -0.225, 1.5, 0, -0.225, 1.0625, 0.1875, -0.225, -1.5, 0, -0.225, -1.3125, 2.5625, -0.225, -1.5, 3, -0.225, -1.3125, 0.4375, -0.225, 1.5, 0, -0.225, 1.3125, 0.4375, -0.225, 1.0625, 0.1875, -0.225, -1.5, 3, -0.225, -1.3125, 2.5625, -0.225, -1.0625, 2.8125, -0.225, 1.3125, 0.4375, -0.225, 1.5, 0, -0.225, 1.3125, 2.5625, -0.225, -1.5, 3, -0.225, -1.0625, 2.8125, -0.225, 1.5, 3, -0.225, 1.3125, 2.5625, -0.225, 1.5, 0, -0.225, 1.5, 3, -0.225, 1.5, 3, -0.225, -1.0625, 2.8125, -0.225, 1.0625, 2.8125, -0.225, 1.3125, 2.5625, -0.225, 1.5, 3, -0.225, 1.1875, 2.6875, -0.225, 1.5, 3, -0.225, 1.0625, 2.8125, -0.225, 1.1875, 2.6875, -0.225, 1.5, 0, -0.225, 1.5, 3, 0.225, 1.5, 3, -0.225, 1.5, 0, -0.225, 1.5, 0, 0.225, 1.5, 3, 0.225, 1.3125, 0.4375, 0.225, 1.5, 0, 0.225, 1.1875, 0.3125, 0.225, 1.5, 0, 0.225, 1.0625, 0.1875, 0.225, 1.1875, 0.3125, 0.225, 1.5, 0, 0.225, -1.0625, 0.1875, 0.225, 1.0625, 0.1875, 0.225, 1.3125, 0.4375, 0.225, 1.5, 3, 0.225, 1.5, 0, 0.225, -1.5, 0, 0.225, -1.0625, 0.1875, 0.225, 1.5, 0, 0.225, 1.3125, 2.5625, 0.225, 1.5, 3, 0.225, 1.3125, 0.4375, 0.225, -1.5, 0, 0.225, -1.3125, 0.4375, 0.225, -1.0625, 0.1875, 0.225, 1.5, 3, 0.225, 1.3125, 2.5625, 0.225, 1.0625, 2.8125, 0.225, -1.3125, 0.4375, 0.225, -1.5, 0, 0.225, -1.5, 3, 0.225, 1.5, 3, 0.225, 1.0625, 2.8125, 0.225, -1.5, 3, 0.225, -1.3125, 0.4375, 0.225, -1.5, 3, 0.225, -1.3125, 2.5625, 0.225, -1.5, 3, 0.225, 1.0625, 2.8125, 0.225, -1.0625, 2.8125, 0.225, -1.3125, 2.5625, 0.225, -1.5, 3, 0.225, -1.1875, 2.6875, 0.225, -1.5, 3, 0.225, -1.0625, 2.8125, 0.225, -1.1875, 2.6875, 0.225, -1.5, 0, -0.225, 1.5, 0, 0.225, 1.5, 0, -0.225, -1.5, 0, -0.225, -1.5, 0, 0.225, 1.5, 0, 0.225, 1.5, 3, -0.225, -1.5, 3, 0.225, -1.5, 3, -0.225, 1.5, 3, -0.225, 1.5, 3, 0.225, -1.5, 3, 0.225, 1.3125, 2.5625, 0.225, 1.3125, 0.4375, -0.225, 1.3125, 2.5625, -0.225, 1.3125, 2.5625, 0.225, 1.3125, 0.4375, 0.225, 1.3125, 0.4375, -0.225, -1.0625, 2.8125, -0.225, 1.0625, 2.8125, 0.225, 1.0625, 2.8125, -0.225, -1.0625, 2.8125, -0.225, -1.0625, 2.8125, 0.225, 1.0625, 2.8125, 0.225, -1.3125, 0.4375, 0.225, -1.3125, 2.5625, -0.225, -1.3125, 0.4375, -0.225, -1.3125, 0.4375, 0.225, -1.3125, 2.5625, 0.225, -1.3125, 2.5625, -0.225, -1.3125, 0.4375, 0.225, -1.0625, 0.1875, -0.225, -1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225, -1.3125, 0.4375, 0.225, -1.1875, 0.3125, -0.225, -1.1875, 0.3125, -0.225, -1.3125, 0.4375, 0.225, -1.3125, 0.4375, -0.225, -1.3125, 2.5625, 0.225, -1.0625, 2.8125, -0.225, -1.3125, 2.5625, -0.225, -1.0625, 2.8125, -0.225, -1.3125, 2.5625, 0.225, -1.1875, 2.6875, 0.225, -1.0625, 2.8125, -0.225, -1.1875, 2.6875, 0.225, -1.0625, 2.8125, 0.225, 1.1875, 0.3125, 0.225, 1.3125, 0.4375, -0.225, 1.3125, 0.4375, 0.225, 1.3125, 0.4375, -0.225, 1.1875, 0.3125, 0.225, 1.0625, 0.1875, 0.225, 1.3125, 0.4375, -0.225, 1.0625, 0.1875, 0.225, 1.0625, 0.1875, -0.225, 1.0625, 2.8125, 0.225, 1.1875, 2.6875, -0.225, 1.0625, 2.8125, -0.225, 1.1875, 2.6875, -0.225, 1.0625, 2.8125, 0.225, 1.3125, 2.5625, 0.225, 1.1875, 2.6875, -0.225, 1.3125, 2.5625, 0.225, 1.3125, 2.5625, -0.225, 1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225, 1.0625, 0.1875, -0.225, 1.0625, 0.1875, 0.225, -1.0625, 0.1875, 0.225, -1.0625, 0.1875, -0.225) + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_88qrs"] +data = PackedVector3Array(-1.4, 0.1, 0.14, -1.4, 2.9, -0.14, -1.4, 2.9, 0.14, -1.4, 0.1, 0.14, -1.4, 0.1, -0.14, -1.4, 2.9, -0.14, -1.4, 0.1, -0.14, 1.4, 2.9, -0.14, -1.4, 2.9, -0.14, -1.4, 0.1, -0.14, 1.4, 0.1, -0.14, 1.4, 2.9, -0.14, 1.4, 0.1, -0.14, 1.4, 2.9, 0.14, 1.4, 2.9, -0.14, 1.4, 0.1, -0.14, 1.4, 0.1, 0.14, 1.4, 2.9, 0.14, 1.4, 0.1, 0.14, -1.4, 2.9, 0.14, 1.4, 2.9, 0.14, 1.4, 0.1, 0.14, -1.4, 0.1, 0.14, -1.4, 2.9, 0.14, -1.4, 0.1, -0.14, 1.4, 0.1, 0.14, 1.4, 0.1, -0.14, -1.4, 0.1, -0.14, -1.4, 0.1, 0.14, 1.4, 0.1, 0.14, 1.4, 2.9, -0.14, -1.4, 2.9, 0.14, -1.4, 2.9, -0.14, 1.4, 2.9, -0.14, 1.4, 2.9, 0.14, -1.4, 2.9, 0.14) + +[node name="Bulkhead" instance=ExtResource("1_77udb")] +script = ExtResource("2_hknvo") + +[node name="StaticBody3D" type="StaticBody3D" parent="Frame" index="0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame/StaticBody3D" index="0"] +shape = SubResource("ConcavePolygonShape3D_hknvo") + +[node name="StaticBody3D" type="StaticBody3D" parent="Door" index="0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Door/StaticBody3D" index="0"] +shape = SubResource("ConcavePolygonShape3D_88qrs") diff --git a/src/props/wall_switch/wall_switch.gd b/src/props/wall_switch/wall_switch.gd index 324ad46..8608d34 100644 --- a/src/props/wall_switch/wall_switch.gd +++ b/src/props/wall_switch/wall_switch.gd @@ -18,6 +18,7 @@ func _ready() -> void: enable() +## Called once all gunk is cleared. Enables interaction & plays animations func enable() -> void: enabled = true @@ -27,6 +28,15 @@ func enable() -> void: interactive.enabled = true +## Called once the switch is no longer usable. Disables interaction & plays animations +func disable() -> void: + if enabled: + light_animation.queue("disable") + + enabled = false + interactive.enabled = false + + func _activate() -> void: animation_player.play("activate") activated.emit() @@ -34,8 +44,9 @@ func _activate() -> void: interactive.enabled = false -func _animation_finished(_anim_name: StringName) -> void: - interactive.enabled = true +func _animation_finished(anim_name: StringName) -> void: + if anim_name == "activate": + interactive.enabled = enabled func _on_gunk_body_clear_total_updated(clear_total: float) -> void: diff --git a/src/props/wall_switch/wall_switch.tscn b/src/props/wall_switch/wall_switch.tscn index 326f4ed..b659f8c 100644 --- a/src/props/wall_switch/wall_switch.tscn +++ b/src/props/wall_switch/wall_switch.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=22 format=4 uid="uid://b6eg8t04rkh0c"] +[gd_scene load_steps=28 format=4 uid="uid://b6eg8t04rkh0c"] [ext_resource type="Script" uid="uid://bkmn5m47mt1gh" path="res://src/props/wall_switch/wall_switch.gd" id="2_kfvqd"] [ext_resource type="Texture2D" uid="uid://1wjcyqynwlb6" path="res://assets/props/wall_switch/wall_switch_C.png" id="2_vufqs"] @@ -7,7 +7,8 @@ [ext_resource type="Texture2D" uid="uid://ddve6jcfcuthx" path="res://assets/props/wall_switch/wall_switch_N.png" id="4_pg3hp"] [ext_resource type="Texture2D" uid="uid://rq5e0a3sco88" path="res://assets/props/wall_switch/wall_switch_R.png" id="5_555wb"] [ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="7_3ib1l"] -[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="8_exmrm"] +[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="8_6aabu"] +[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="9_7shuc"] [ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jtkkw"] @@ -37,6 +38,44 @@ _surfaces = [{ }] blend_shape_mode = 0 +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_ji5cn"] +load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex" + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_35kna"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("9_7shuc") + +[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_4a0u4"] +width = 256 +height = 256 +depth = 32 +seamless = true +seamless_blend_skirt = 0.5 +noise = ExtResource("9_7shuc") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_2qpft"] +resource_local_to_scene = true +render_priority = 0 +shader = ExtResource("8_6aabu") +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 = SubResource("CompressedTexture2D_ji5cn") +shader_parameter/gunk_noise = SubResource("NoiseTexture3D_35kna") +shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_4a0u4") + [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_1xqlp"] data = PackedVector3Array(-0.24, -0.32, 0.1, -0.3, 0.4, -0.1, -0.24, 0.32, 0.1, -0.24, -0.32, 0.1, -0.3, -0.4, -0.1, -0.3, 0.4, -0.1, -0.3, -0.4, -0.1, 0.3, 0.4, -0.1, -0.3, 0.4, -0.1, -0.3, -0.4, -0.1, 0.3, -0.4, -0.1, 0.3, 0.4, -0.1, 0.3, -0.4, -0.1, 0.24, 0.32, 0.1, 0.3, 0.4, -0.1, 0.3, -0.4, -0.1, 0.24, -0.32, 0.1, 0.24, 0.32, 0.1, -0.24, -0.32, 0.1, 0.3, -0.4, -0.1, -0.3, -0.4, -0.1, 0.3, -0.4, -0.1, 0.1, -0.32, 0.1, 0.24, -0.32, 0.1, 0.3, -0.4, -0.1, -0.24, -0.32, 0.1, 0.1, -0.32, 0.1, 0.24, 0.32, 0.1, -0.3, 0.4, -0.1, 0.3, 0.4, -0.1, -0.3, 0.4, -0.1, 0.1, 0.32, 0.1, -0.24, 0.32, 0.1, -0.3, 0.4, -0.1, 0.24, 0.32, 0.1, 0.1, 0.32, 0.1, 0.24, -0.32, 0.1, 0.1, 0.32, 0.1, 0.24, 0.32, 0.1, 0.24, -0.32, 0.1, 0.1, -0.32, 0.1, 0.1, 0.32, 0.1, -0.19, 0.27, 0.1, -0.19, -0.27, 0.05, -0.19, -0.27, 0.1, -0.19, 0.27, 0.1, -0.19, 0.27, 0.05, -0.19, -0.27, 0.05, -0.19, 0.27, 0.1, 0.1, 0.32, 0.1, 0.05, 0.27, 0.1, -0.19, 0.27, 0.1, -0.24, 0.32, 0.1, 0.1, 0.32, 0.1, -0.19, -0.27, 0.1, -0.24, 0.32, 0.1, -0.19, 0.27, 0.1, -0.19, -0.27, 0.1, -0.24, -0.32, 0.1, -0.24, 0.32, 0.1, 0.05, -0.27, 0.1, -0.24, -0.32, 0.1, -0.19, -0.27, 0.1, 0.05, -0.27, 0.1, 0.1, -0.32, 0.1, -0.24, -0.32, 0.1, 0.05, 0.27, 0.1, 0.1, -0.32, 0.1, 0.05, -0.27, 0.1, 0.05, 0.27, 0.1, 0.1, 0.32, 0.1, 0.1, -0.32, 0.1, 0.05, -0.27, 0.05, -0.19, 0.27, 0.05, 0.05, 0.27, 0.05, 0.05, -0.27, 0.05, -0.19, -0.27, 0.05, -0.19, 0.27, 0.05, -0.19, -0.27, 0.1, 0.05, -0.27, 0.05, 0.05, -0.27, 0.1, -0.19, -0.27, 0.1, -0.19, -0.27, 0.05, 0.05, -0.27, 0.05, 0.05, 0.27, 0.1, -0.19, 0.27, 0.05, -0.19, 0.27, 0.1, 0.05, 0.27, 0.1, 0.05, 0.27, 0.05, -0.19, 0.27, 0.05, 0.05, -0.27, 0.1, 0.05, 0.27, 0.05, 0.05, 0.27, 0.1, 0.05, -0.27, 0.1, 0.05, -0.27, 0.05, 0.05, 0.27, 0.05, -0.175, 0.195, 0.075, -0.175, 0.245, 0.025, -0.175, 0.245, 0.075, -0.175, 0.195, 0.075, -0.175, 0.195, 0.025, -0.175, 0.245, 0.025, 0.0175, 0.195, 0.025, 0.035, 0.245, 0.025, 0.0175, 0.245, 0.025, 0.0175, 0.195, 0.025, 0.035, 0.195, 0.025, 0.035, 0.245, 0.025, 0.035, 0.195, 0.025, 0.035, 0.245, 0.075, 0.035, 0.245, 0.025, 0.035, 0.195, 0.025, 0.035, 0.195, 0.075, 0.035, 0.245, 0.075, -0.1575, 0.195, 0.075, -0.175, 0.245, 0.075, -0.1575, 0.245, 0.075, -0.1575, 0.195, 0.075, -0.175, 0.195, 0.075, -0.175, 0.245, 0.075, 0.0175, -0.225, 0.075, 0.0175, -0.25, 0.05, 0.0175, -0.225, 0.025, -0.1575, 0.245, 0.025, -0.175, 0.245, 0.075, -0.175, 0.245, 0.025, -0.1575, 0.245, 0.025, -0.1575, 0.245, 0.075, -0.175, 0.245, 0.075, 0.035, 0.245, 0.025, 0.0175, 0.245, 0.075, 0.0175, 0.245, 0.025, 0.035, 0.245, 0.025, 0.035, 0.245, 0.075, 0.0175, 0.245, 0.075, 0.0175, 0.245, 0.025, -0.1575, 0.245, 0.075, -0.1575, 0.245, 0.025, 0.0175, 0.245, 0.025, 0.0175, 0.245, 0.075, -0.1575, 0.245, 0.075, -0.175, 0.195, 0.075, -0.175, -0.225, 0.025, -0.175, 0.195, 0.025, -0.175, 0.195, 0.075, -0.175, -0.225, 0.075, -0.175, -0.225, 0.025, -0.1575, 0.195, 0.025, 0.0175, 0.195, 0.075, 0.0175, 0.195, 0.025, -0.1575, 0.195, 0.025, -0.1575, 0.195, 0.075, 0.0175, 0.195, 0.075, 0.035, 0.195, 0.075, 0.0175, 0.245, 0.075, 0.035, 0.245, 0.075, 0.035, 0.195, 0.075, 0.0175, 0.195, 0.075, 0.0175, 0.245, 0.075, 0.0175, 0.195, 0.075, -0.1575, 0.245, 0.075, 0.0175, 0.245, 0.075, 0.0175, 0.195, 0.075, -0.1575, 0.195, 0.075, -0.1575, 0.245, 0.075, -0.175, 0.195, 0.025, -0.1575, 0.245, 0.025, -0.175, 0.245, 0.025, -0.175, 0.195, 0.025, -0.1575, 0.195, 0.025, -0.1575, 0.245, 0.025, -0.1575, 0.195, 0.025, 0.0175, 0.245, 0.025, -0.1575, 0.245, 0.025, -0.1575, 0.195, 0.025, 0.0175, 0.195, 0.025, 0.0175, 0.245, 0.025, 0.035, 0.195, 0.075, 0.0175, -0.225, 0.075, 0.0175, 0.195, 0.075, 0.035, 0.195, 0.075, 0.035, -0.225, 0.075, 0.0175, -0.225, 0.075, -0.175, 0.195, 0.025, -0.1575, -0.225, 0.025, -0.1575, 0.195, 0.025, -0.175, 0.195, 0.025, -0.175, -0.225, 0.025, -0.1575, -0.225, 0.025, 0.0175, 0.195, 0.025, 0.035, -0.225, 0.025, 0.035, 0.195, 0.025, 0.0175, 0.195, 0.025, 0.0175, -0.225, 0.025, 0.035, -0.225, 0.025, -0.1575, 0.195, 0.075, -0.175, -0.225, 0.075, -0.175, 0.195, 0.075, -0.1575, 0.195, 0.075, -0.1575, -0.225, 0.075, -0.175, -0.225, 0.075, 0.035, -0.225, 0.025, 0.035, -0.25, 0.05, 0.035, -0.225, 0.075, -0.1575, -0.225, 0.025, -0.1575, -0.25, 0.05, -0.1575, -0.225, 0.075, -0.1575, -0.25, 0.05, -0.175, -0.225, 0.025, -0.175, -0.25, 0.05, -0.1575, -0.25, 0.05, -0.1575, -0.225, 0.025, -0.175, -0.225, 0.025, 0.0175, -0.25, 0.05, 0.035, -0.225, 0.075, 0.035, -0.25, 0.05, 0.0175, -0.25, 0.05, 0.0175, -0.225, 0.075, 0.035, -0.225, 0.075, 0.035, -0.25, 0.05, 0.0175, -0.225, 0.025, 0.0175, -0.25, 0.05, 0.035, -0.25, 0.05, 0.035, -0.225, 0.025, 0.0175, -0.225, 0.025, -0.175, -0.25, 0.05, -0.1575, -0.225, 0.075, -0.1575, -0.25, 0.05, -0.175, -0.25, 0.05, -0.175, -0.225, 0.075, -0.1575, -0.225, 0.075, -0.175, -0.225, 0.075, -0.175, -0.25, 0.05, -0.175, -0.225, 0.025, -0.1575, 0.195, 0.025, -0.1575, -0.225, 0.075, -0.1575, 0.195, 0.075, -0.1575, 0.195, 0.025, -0.1575, -0.225, 0.025, -0.1575, -0.225, 0.075, 0.0175, 0.195, 0.075, 0.0175, -0.225, 0.025, 0.0175, 0.195, 0.025, 0.0175, 0.195, 0.075, 0.0175, -0.225, 0.075, 0.0175, -0.225, 0.025, 0.035, 0.195, 0.025, 0.035, -0.225, 0.075, 0.035, 0.195, 0.075, 0.035, 0.195, 0.025, 0.035, -0.225, 0.025, 0.035, -0.225, 0.075) @@ -145,9 +184,27 @@ tracks/1/keys = { "values": [0.0] } +[sub_resource type="Animation" id="Animation_6aabu"] +resource_name = "disable" +length = 2.0 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Lights/SuccessLight:mesh:material:emission_energy_multiplier") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(0.618, 1), +"update": 0, +"values": [2.0, 0.0] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_6ueib"] _data = { &"RESET": SubResource("Animation_ugm6b"), +&"disable": SubResource("Animation_6aabu"), &"error_blink": SubResource("Animation_pea1n"), &"success": SubResource("Animation_njbf4") } @@ -168,7 +225,7 @@ unique_name_in_owner = true unique_name_in_owner = true mask_dim = 48 mesh_instance = NodePath("../Armature/Skeleton3D/WallSwitch_2") -source_gunk_material = ExtResource("8_exmrm") +source_gunk_material = SubResource("ShaderMaterial_2qpft") [node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody" index="1"] shape = SubResource("ConcavePolygonShape3D_1xqlp")