diff --git a/assets/materials/gunk.material b/assets/materials/gunk.material index 4ec5adc..6b3a99a 100644 Binary files a/assets/materials/gunk.material and b/assets/materials/gunk.material differ diff --git a/assets/materials/gunk_bright.material b/assets/materials/gunk_bright.material index a1a260e..2677ef0 100644 Binary files a/assets/materials/gunk_bright.material and b/assets/materials/gunk_bright.material differ diff --git a/levels/ghost_ship/ghost_ship_level.tscn b/levels/ghost_ship/ghost_ship_level.tscn index cf6fcb2..bbd4315 100644 --- a/levels/ghost_ship/ghost_ship_level.tscn +++ b/levels/ghost_ship/ghost_ship_level.tscn @@ -250,7 +250,7 @@ turbulence_influence_min = 0.0 [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"] data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5ac7v"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wms8g"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -276,7 +276,37 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_isly2"] +[sub_resource type="ArrayMesh" id="ArrayMesh_mcskc"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_wms8g"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_2ybo5") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5ac7v"] +resource_local_to_scene = true +albedo_texture = ExtResource("27_lfacn") +metallic = 1.0 +metallic_texture = ExtResource("28_f0xh4") +roughness_texture = ExtResource("30_u2hqf") +normal_enabled = true +normal_texture = ExtResource("29_nmnkj") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_drp1h"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -295,7 +325,7 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_2ybo5") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o1vcx"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dwjsf"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -306,7 +336,7 @@ normal_texture = ExtResource("29_nmnkj") ao_enabled = true texture_filter = 2 -[sub_resource type="ArrayMesh" id="ArrayMesh_lhj8x"] +[sub_resource type="ArrayMesh" id="ArrayMesh_isly2"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -315,37 +345,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_o1vcx"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_2ybo5") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qvi5w"] -resource_local_to_scene = true -albedo_texture = ExtResource("27_lfacn") -metallic = 1.0 -metallic_texture = ExtResource("28_f0xh4") -roughness_texture = ExtResource("30_u2hqf") -normal_enabled = true -normal_texture = ExtResource("29_nmnkj") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_qjnm6"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_qvi5w"), +"material": SubResource("StandardMaterial3D_dwjsf"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -430,7 +430,7 @@ data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_if0c2"] data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uk6v3"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o1vcx"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -456,7 +456,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_cuyy3"] +[sub_resource type="ArrayMesh" id="ArrayMesh_lhj8x"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -465,7 +465,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_uk6v3"), +"material": SubResource("StandardMaterial3D_o1vcx"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -621,7 +621,7 @@ shadow_mesh = SubResource("ArrayMesh_fkhf3") [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_7ctwk"] data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, -0.28, 0, 0.7, -0.28, 0, 0.7, 0, -0.14, 0.7, -0.28, 0, 0.7, 0, 0.14, 0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, -0.28, 0, -0.7, -0.28, 0, -0.7, 0, -0.14, 0.7, 0, -0.14, -0.7, 0, 0.14, -0.7, 0, 0.14, 0.7, 0, -0.14, 0.7, 0, 0.14) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tu4tq"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qvi5w"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -647,7 +647,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_xofqg"] +[sub_resource type="ArrayMesh" id="ArrayMesh_qjnm6"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -656,7 +656,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_tu4tq"), +"material": SubResource("StandardMaterial3D_qvi5w"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -666,7 +666,7 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_f0xh4") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_erd4w"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uk6v3"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -677,7 +677,7 @@ normal_texture = ExtResource("29_nmnkj") ao_enabled = true texture_filter = 2 -[sub_resource type="ArrayMesh" id="ArrayMesh_hsrl3"] +[sub_resource type="ArrayMesh" id="ArrayMesh_cuyy3"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -686,7 +686,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_erd4w"), +"material": SubResource("StandardMaterial3D_uk6v3"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -762,7 +762,7 @@ size = Vector3(3, 0.2, 1.4) [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_f0xh4"] data = PackedVector3Array(-1.5, 0.1, 0.7, 1.5, 0.1, 0.7, -1.5, -0.1, 0.7, 1.5, 0.1, 0.7, 1.5, -0.1, 0.7, -1.5, -0.1, 0.7, 1.5, 0.1, -0.7, -1.5, 0.1, -0.7, 1.5, -0.1, -0.7, -1.5, 0.1, -0.7, -1.5, -0.1, -0.7, 1.5, -0.1, -0.7, 1.5, 0.1, 0.7, 1.5, 0.1, -0.7, 1.5, -0.1, 0.7, 1.5, 0.1, -0.7, 1.5, -0.1, -0.7, 1.5, -0.1, 0.7, -1.5, 0.1, -0.7, -1.5, 0.1, 0.7, -1.5, -0.1, -0.7, -1.5, 0.1, 0.7, -1.5, -0.1, 0.7, -1.5, -0.1, -0.7, 1.5, 0.1, 0.7, -1.5, 0.1, 0.7, 1.5, 0.1, -0.7, -1.5, 0.1, 0.7, -1.5, 0.1, -0.7, 1.5, 0.1, -0.7, -1.5, -0.1, 0.7, 1.5, -0.1, 0.7, -1.5, -0.1, -0.7, 1.5, -0.1, 0.7, 1.5, -0.1, -0.7, -1.5, -0.1, -0.7) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vved0"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tu4tq"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") metallic = 1.0 @@ -788,7 +788,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_f8ygr"] +[sub_resource type="ArrayMesh" id="ArrayMesh_xofqg"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -797,7 +797,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_vved0"), +"material": SubResource("StandardMaterial3D_tu4tq"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -992,6 +992,66 @@ data = PackedVector3Array(0.35, 0.25, 0.5, 0.35, -0.25, 0.5, -0.35, -0.25, 0.5, left_to_right = 1.0 size = Vector3(0.7, 0.5, 1) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_erd4w"] +resource_local_to_scene = true +albedo_texture = ExtResource("27_lfacn") +metallic = 1.0 +metallic_texture = ExtResource("28_f0xh4") +roughness_texture = ExtResource("30_u2hqf") +normal_enabled = true +normal_texture = ExtResource("29_nmnkj") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_hsrl3"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_erd4w"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_u2hqf") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vved0"] +resource_local_to_scene = true +albedo_texture = ExtResource("27_lfacn") +metallic = 1.0 +metallic_texture = ExtResource("28_f0xh4") +roughness_texture = ExtResource("30_u2hqf") +normal_enabled = true +normal_texture = ExtResource("29_nmnkj") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_f8ygr"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_vved0"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_u2hqf") + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1a336"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") @@ -1262,66 +1322,6 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_u2hqf") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ffr5l"] -resource_local_to_scene = true -albedo_texture = ExtResource("27_lfacn") -metallic = 1.0 -metallic_texture = ExtResource("28_f0xh4") -roughness_texture = ExtResource("30_u2hqf") -normal_enabled = true -normal_texture = ExtResource("29_nmnkj") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_wlbox"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_ffr5l"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_u2hqf") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1jmu7"] -resource_local_to_scene = true -albedo_texture = ExtResource("27_lfacn") -metallic = 1.0 -metallic_texture = ExtResource("28_f0xh4") -roughness_texture = ExtResource("30_u2hqf") -normal_enabled = true -normal_texture = ExtResource("29_nmnkj") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_c6n8b"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_1jmu7"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_u2hqf") - [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wvfch"] resource_local_to_scene = true albedo_texture = ExtResource("47_1h5r5") @@ -1387,6 +1387,66 @@ size = Vector3(0.7, 1.2, 2.2) left_to_right = 1.0 size = Vector3(0.7, 0.5, 2.2) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ffr5l"] +resource_local_to_scene = true +albedo_texture = ExtResource("27_lfacn") +metallic = 1.0 +metallic_texture = ExtResource("28_f0xh4") +roughness_texture = ExtResource("30_u2hqf") +normal_enabled = true +normal_texture = ExtResource("29_nmnkj") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_wlbox"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_ffr5l"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_u2hqf") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1jmu7"] +resource_local_to_scene = true +albedo_texture = ExtResource("27_lfacn") +metallic = 1.0 +metallic_texture = ExtResource("28_f0xh4") +roughness_texture = ExtResource("30_u2hqf") +normal_enabled = true +normal_texture = ExtResource("29_nmnkj") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_c6n8b"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_1jmu7"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_u2hqf") + [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wnuyc"] resource_local_to_scene = true albedo_texture = ExtResource("27_lfacn") @@ -1417,66 +1477,6 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_u2hqf") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fqp5s"] -resource_local_to_scene = true -albedo_texture = ExtResource("27_lfacn") -metallic = 1.0 -metallic_texture = ExtResource("28_f0xh4") -roughness_texture = ExtResource("30_u2hqf") -normal_enabled = true -normal_texture = ExtResource("29_nmnkj") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_714ux"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_fqp5s"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_u2hqf") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_38po5"] -resource_local_to_scene = true -albedo_texture = ExtResource("27_lfacn") -metallic = 1.0 -metallic_texture = ExtResource("28_f0xh4") -roughness_texture = ExtResource("30_u2hqf") -normal_enabled = true -normal_texture = ExtResource("29_nmnkj") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_t3aww"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_38po5"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_u2hqf") - [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1h5r5"] emission_shape = 3 emission_box_extents = Vector3(9, 3, 4.5) @@ -1759,17 +1759,17 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj") [node name="CrateLong" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9) -mesh = SubResource("ArrayMesh_isly2") +mesh = SubResource("ArrayMesh_mcskc") skeleton = NodePath("../Hallway1") [node name="CrateLong3" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("26_otfxe")] transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9) -mesh = SubResource("ArrayMesh_lhj8x") +mesh = SubResource("ArrayMesh_drp1h") skeleton = NodePath("../Hallway1") [node name="CrateLong2" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9) -mesh = SubResource("ArrayMesh_qjnm6") +mesh = SubResource("ArrayMesh_isly2") skeleton = NodePath("../Hallway1") [node name="FloatingDust" parent="BeastNav/Corridor1/Hallway1" instance=ExtResource("25_6giaa")] @@ -1877,7 +1877,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) [node name="CrateLong" parent="BeastNav/Corridor1/Hallway3" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6) -mesh = SubResource("ArrayMesh_cuyy3") +mesh = SubResource("ArrayMesh_lhj8x") skeleton = NodePath("../..") [node name="T-Junction2" type="MeshInstance3D" parent="BeastNav/Corridor1"] @@ -2506,11 +2506,11 @@ shape = SubResource("ConcavePolygonShape3D_if0c2") [node name="CrateLong" parent="BeastNav/Corridor2/T-Junction1" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.6, 0.25, 1) -mesh = SubResource("ArrayMesh_xofqg") +mesh = SubResource("ArrayMesh_qjnm6") [node name="CrateLong2" parent="BeastNav/Corridor2/T-Junction1" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.599998, 0.75, 1) -mesh = SubResource("ArrayMesh_hsrl3") +mesh = SubResource("ArrayMesh_cuyy3") [node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) @@ -3007,7 +3007,7 @@ shape = SubResource("ConcavePolygonShape3D_f0xh4") [node name="CrateLong" parent="BeastNav/CrewQuarters/Room1/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(0.0871557, 0, -0.996195, 0, 1, 0, 0.996195, 0, 0.0871557, -5.7, 0.25, 0.900002) -mesh = SubResource("ArrayMesh_f8ygr") +mesh = SubResource("ArrayMesh_xofqg") [node name="FloatingDust" parent="BeastNav/CrewQuarters/Room1" instance=ExtResource("25_6giaa")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -1.5) @@ -4329,47 +4329,47 @@ skeleton = NodePath("") [node name="CrateLong" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.25, 4.05009) -mesh = SubResource("ArrayMesh_at7tl") +mesh = SubResource("ArrayMesh_hsrl3") [node name="CrateLong4" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.25, -3.6) -mesh = SubResource("ArrayMesh_oihux") +mesh = SubResource("ArrayMesh_f8ygr") [node name="CrateLong2" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.749907, 0.75, 4.05009) -mesh = SubResource("ArrayMesh_mdg07") +mesh = SubResource("ArrayMesh_at7tl") [node name="CrateLong3" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(-4.37114e-08, 0.707107, -0.707107, 0, 0.707107, 0.707107, 1, 3.09086e-08, -3.09086e-08, 0.599813, 0.75, 4.05009) -mesh = SubResource("ArrayMesh_5ys7s") +mesh = SubResource("ArrayMesh_oihux") [node name="CrateLong5" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, 0.450092) -mesh = SubResource("ArrayMesh_2c02v") +mesh = SubResource("ArrayMesh_mdg07") [node name="CrateLong10" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -7.45058e-08, 0, 1, 0, 7.45058e-08, 0, 1, 3.93256, 0.25, -1.04991) -mesh = SubResource("ArrayMesh_08djo") +mesh = SubResource("ArrayMesh_5ys7s") [node name="CrateLong6" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, 0.450092) -mesh = SubResource("ArrayMesh_8rwkc") +mesh = SubResource("ArrayMesh_2c02v") [node name="CrateLong11" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 0.75, -1.04991) -mesh = SubResource("ArrayMesh_lnif7") +mesh = SubResource("ArrayMesh_08djo") [node name="CrateLong7" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.25, 0.450092) -mesh = SubResource("ArrayMesh_08dfj") +mesh = SubResource("ArrayMesh_8rwkc") [node name="CrateLong8" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 1.75, 0.450092) -mesh = SubResource("ArrayMesh_wlbox") +mesh = SubResource("ArrayMesh_lnif7") [node name="CrateLong9" parent="BeastNav/Medbay/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(1, 0, -1.19209e-07, 0, 1, 0, 1.19209e-07, 0, 1, 3.93256, 2.25, 0.450092) -mesh = SubResource("ArrayMesh_c6n8b") +mesh = SubResource("ArrayMesh_08dfj") [node name="FloatingDust" parent="BeastNav/Medbay" instance=ExtResource("25_6giaa")] transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 1.5, -4.5) @@ -5584,17 +5584,17 @@ mesh = SubResource("PrismMesh_ii88q") [node name="CrateLong" parent="BeastNav/OpsCenter/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 3.50191, -2.75, -12.4451) -mesh = SubResource("ArrayMesh_8au2u") +mesh = SubResource("ArrayMesh_wlbox") skeleton = NodePath("../..") [node name="CrateLong2" parent="BeastNav/OpsCenter/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 3.50191, -2.25, -12.4451) -mesh = SubResource("ArrayMesh_714ux") +mesh = SubResource("ArrayMesh_c6n8b") skeleton = NodePath("../..") [node name="CrateLong3" parent="BeastNav/OpsCenter/Props" instance=ExtResource("26_otfxe")] transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 2.42044, -2.75, -12.1553) -mesh = SubResource("ArrayMesh_t3aww") +mesh = SubResource("ArrayMesh_8au2u") skeleton = NodePath("../..") [node name="SwitchF2" parent="BeastNav/OpsCenter" instance=ExtResource("17_0idgf")] diff --git a/src/ui/quaker.gd b/src/ui/quaker.gd new file mode 100644 index 0000000..44f255d --- /dev/null +++ b/src/ui/quaker.gd @@ -0,0 +1,33 @@ +@tool +class_name Quaker extends Node3D +## Screws with the scale of children. + +## Scale all axes equally. Overrides `correlated`. +@export var uniform := false + +## Correlate axis scale. +@export var correlated := false + +@export var intensity := 0.0 + +var _buffer := Vector3.ONE + + +func rand_exp() -> float: + return exp(randfn(0, intensity)) + + +func rand_scale() -> Vector3: + if uniform: + return Vector3.ONE * rand_exp() + if correlated: + var v := Vector3(rand_exp(), _buffer.x, _buffer.y) + _buffer.x = _buffer.y + _buffer.y = _buffer.z + _buffer.z = v.x + return v + return Vector3(rand_exp(), rand_exp(), rand_exp()) + + +func _process(_delta: float) -> void: + scale = rand_scale() diff --git a/src/ui/quaker.gd.uid b/src/ui/quaker.gd.uid new file mode 100644 index 0000000..580f663 --- /dev/null +++ b/src/ui/quaker.gd.uid @@ -0,0 +1 @@ +uid://ccs67guidw4w4 diff --git a/src/world/grunk_beast/slutch_beast/face_nodule.material b/src/world/grunk_beast/slutch_beast/face_nodule.material index 8de322a..d46f4fb 100644 Binary files a/src/world/grunk_beast/slutch_beast/face_nodule.material and b/src/world/grunk_beast/slutch_beast/face_nodule.material differ diff --git a/src/world/grunk_beast/slutch_beast/slutch.material b/src/world/grunk_beast/slutch_beast/slutch.material index 8fc2631..ffd7165 100644 Binary files a/src/world/grunk_beast/slutch_beast/slutch.material and b/src/world/grunk_beast/slutch_beast/slutch.material differ diff --git a/src/world/grunk_beast/slutch_beast/slutch_nodule.material b/src/world/grunk_beast/slutch_beast/slutch_nodule.material index 4f4af01..aa635fa 100644 Binary files a/src/world/grunk_beast/slutch_beast/slutch_nodule.material and b/src/world/grunk_beast/slutch_beast/slutch_nodule.material differ diff --git a/src/world/mechanics/alarm/gunk_alarm.tscn b/src/world/mechanics/alarm/gunk_alarm.tscn index 1da2c0d..9d5d0f9 100644 --- a/src/world/mechanics/alarm/gunk_alarm.tscn +++ b/src/world/mechanics/alarm/gunk_alarm.tscn @@ -69,6 +69,78 @@ _data = { &"trigger": SubResource("Animation_6vdvf") } +[sub_resource type="Animation" id="Animation_bknln"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission_energy_multiplier") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.02] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.25098, 0.878431, 1, 1)] +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Rumbler3D/AlarmMesh:scale:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Rumbler3D/AlarmMesh:scale:y") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Rumbler3D/AlarmMesh:scale:z") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Rumbler3D:intensity") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + [sub_resource type="Animation" id="Animation_vokcn"] resource_name = "pulse" length = 9.0 @@ -156,78 +228,6 @@ tracks/6/keys = { "values": [0.0, 0.002, 0.0] } -[sub_resource type="Animation" id="Animation_bknln"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission_energy_multiplier") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.02] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Rumbler3D/AlarmMesh/Armature/Skeleton3D/Bud:surface_material_override/1:emission") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(0.25098, 0.878431, 1, 1)] -} -tracks/2/type = "bezier" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Rumbler3D/AlarmMesh:scale:x") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/3/type = "bezier" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Rumbler3D/AlarmMesh:scale:y") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/4/type = "bezier" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Rumbler3D/AlarmMesh:scale:z") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"handle_modes": PackedInt32Array(0), -"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0), -"times": PackedFloat32Array(0) -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Rumbler3D:intensity") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_bknln"] _data = { &"RESET": SubResource("Animation_bknln"), diff --git a/src/world/mechanics/relay/gunk_relay.gd b/src/world/mechanics/relay/gunk_relay.gd index b8d0302..1918fec 100644 --- a/src/world/mechanics/relay/gunk_relay.gd +++ b/src/world/mechanics/relay/gunk_relay.gd @@ -8,6 +8,9 @@ signal triggered ## Emitted when `pulse` is called, after a short delay. signal pulsed +const MAX_RUMBLE := 0.01 +const MAX_QUAKE := 0.2 + @export_category("Editor Tools") @export var quick_connect_to: SignalNode: set = _editor_connect @@ -19,6 +22,9 @@ var _busy := false var _editor_arrows: Dictionary[SignalNode, EditorArrow] = {} +@onready var rumbler_3d: Rumbler3D = %Rumbler3D +@onready var quaker: Quaker = %Quaker + @onready var animation_player: AnimationPlayer = %AnimationPlayer @onready var trigger_delay: Timer = %TriggerDelay @onready var pulse_delay: Timer = %PulseDelay @@ -83,6 +89,9 @@ func _editor_connect(node: SignalNode) -> void: func _process(delta: float) -> void: super._process(delta) if not Engine.is_editor_hint(): + # Non-editor process logic + rumbler_3d.intensity = pct_damage() * MAX_RUMBLE + quaker.intensity = pct_damage() * MAX_QUAKE return # Check connections diff --git a/src/world/mechanics/relay/gunk_relay.tscn b/src/world/mechanics/relay/gunk_relay.tscn index aca8bb4..7fab607 100644 --- a/src/world/mechanics/relay/gunk_relay.tscn +++ b/src/world/mechanics/relay/gunk_relay.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=11 format=3 uid="uid://bttust5ohud8e"] +[gd_scene load_steps=13 format=3 uid="uid://bttust5ohud8e"] [ext_resource type="Script" uid="uid://1oup50bp0pwd" path="res://src/world/mechanics/relay/gunk_relay.gd" id="1_rdv5j"] [ext_resource type="Script" uid="uid://bukihqt1lybnx" path="res://src/util/frame_skipper.gd" id="2_ipm58"] [ext_resource type="PackedScene" uid="uid://ghdsr1b4hpr8" path="res://src/util/editor_arrow/editor_arrow.tscn" id="2_nfkbq"] +[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_mb114"] +[ext_resource type="Script" uid="uid://ccs67guidw4w4" path="res://src/ui/quaker.gd" id="5_peqs8"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gk1l0"] resource_local_to_scene = true @@ -25,7 +27,7 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("MeshInstance3D:mesh:material:emission_energy_multiplier") +tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -37,7 +39,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("MeshInstance3D:mesh:material:emission") +tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -53,7 +55,7 @@ step = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("MeshInstance3D:mesh:material:emission_energy_multiplier") +tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { @@ -65,7 +67,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("MeshInstance3D:mesh:material:emission") +tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -80,7 +82,7 @@ resource_name = "trigger" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("MeshInstance3D:mesh:material:emission_energy_multiplier") +tracks/0/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission_energy_multiplier") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { @@ -92,7 +94,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("MeshInstance3D:mesh:material:emission") +tracks/1/path = NodePath("Rumbler3D/Quaker/MeshInstance3D:mesh:material:emission") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -117,9 +119,20 @@ editor_arrow_scene = ExtResource("2_nfkbq") value = 800.0 splatter_scale = 0.2 -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +[node name="Rumbler3D" type="Node3D" parent="."] +unique_name_in_owner = true +script = ExtResource("3_mb114") +metadata/_custom_type_script = "uid://b274q7uvn0cvp" + +[node name="Quaker" type="Node3D" parent="Rumbler3D"] +unique_name_in_owner = true +script = ExtResource("5_peqs8") +metadata/_custom_type_script = "uid://ccs67guidw4w4" + +[node name="MeshInstance3D" type="MeshInstance3D" parent="Rumbler3D/Quaker"] gi_mode = 2 mesh = SubResource("SphereMesh_hsruj") +skeleton = NodePath("../../..") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("SphereShape3D_gk1l0")