Autocannon hitscans from the weapon itself, not from the camera

This commit is contained in:
Rob Kelly 2024-07-25 17:26:07 -06:00
parent deb6158290
commit a12e5adccb
10 changed files with 213 additions and 117 deletions

View File

@ -1434,64 +1434,64 @@ bones/126/rotation = Quaternion(0.993232, 0.00676712, -0.0811637, -0.0828125)
bones/126/scale = Vector3(1, 1, 0.999988)
[node name="Plane_009_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="0"]
transform = Transform3D(0.999992, 0.000212088, 0.00411365, -0.000399038, 0.998965, 0.0455033, -0.00409974, -0.0455047, 0.998956, -0.0143216, -0.0209411, 0.057822)
transform = Transform3D(0.999992, 0.000212654, 0.00411356, -0.000399575, 0.998965, 0.0455022, -0.00409944, -0.0455037, 0.998956, -0.0143213, -0.0209339, 0.0578216)
[node name="Plane_012_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="1"]
transform = Transform3D(0.999989, 0.00100459, 0.004495, -0.0012096, 0.998948, 0.0458429, -0.00444423, -0.0458479, 0.998938, -0.0154314, -0.0195971, 0.0576622)
transform = Transform3D(0.999989, 0.00100544, 0.00449461, -0.00121042, 0.998948, 0.045842, -0.00444363, -0.0458472, 0.998938, -0.0154314, -0.0195891, 0.0576616)
[node name="Cube_016_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="2"]
transform = Transform3D(0.999998, -0.000593495, 0.00191472, 0.000593495, 1, 1.36048e-05, -0.00191475, -1.25617e-05, 0.999998, -0.011692, 0.0127543, 0.00379598)
transform = Transform3D(0.999998, -0.000592936, 0.00191464, 0.000592953, 1, 1.24425e-05, -0.00191447, -1.14292e-05, 0.999998, -0.0116918, 0.012762, 0.00379586)
[node name="Plane_004_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="3"]
transform = Transform3D(0.999993, -0.00169116, 0.00308003, 0.00151005, 0.998323, 0.0578669, -0.0031727, -0.057862, 0.99832, -0.0117967, -0.0558776, 0.019339)
transform = Transform3D(0.999993, -0.0016899, 0.00307968, 0.00150892, 0.998323, 0.0578658, -0.00317211, -0.0578608, 0.99832, -0.0117965, -0.055868, 0.0193377)
[node name="Cube_013_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="4"]
transform = Transform3D(0.999995, -0.000562638, 0.00310816, 0.000525132, 0.999928, 0.0120666, -0.00311474, -0.0120649, 0.999922, -0.0121355, 0.00831187, 0.00515246)
transform = Transform3D(0.999995, -0.000562087, 0.00310817, 0.00052458, 0.999928, 0.0120655, -0.00311453, -0.0120639, 0.999922, -0.0121355, 0.00831962, 0.00515246)
[node name="Plane_011_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="5"]
transform = Transform3D(0.999998, -0.0018505, -0.000770778, 0.00190312, 0.997191, 0.0748818, 0.000630029, -0.074883, 0.997192, 0.00745058, -0.447659, -0.0120988)
transform = Transform3D(0.999998, -0.00185052, -0.000771184, 0.0019031, 0.997191, 0.0748795, 0.000630645, -0.0748807, 0.997192, 0.00745201, -0.447649, -0.0121031)
[node name="Plane_002_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="6"]
transform = Transform3D(0.999994, 0.00112568, 0.0033417, -0.00127017, 0.999051, 0.0435573, -0.00328945, -0.0435612, 0.999045, -0.0152912, -0.00381947, 0.0920873)
transform = Transform3D(0.999994, 0.00112599, 0.00334246, -0.0012705, 0.999051, 0.0435556, -0.00329005, -0.0435596, 0.999046, -0.0152929, -0.00381112, 0.0920889)
[node name="Plane_013_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="7"]
transform = Transform3D(0.999994, 0.00112568, 0.0033417, -0.00127017, 0.999051, 0.0435573, -0.00328945, -0.0435612, 0.999045, -0.0152912, -0.00381947, 0.0920873)
transform = Transform3D(0.999994, 0.00112599, 0.00334246, -0.0012705, 0.999051, 0.0435556, -0.00329005, -0.0435596, 0.999046, -0.0152929, -0.00381112, 0.0920889)
[node name="Cube_007_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="8"]
transform = Transform3D(0.999996, -0.000944234, 0.00278151, 0.000786632, 0.998423, 0.0561441, -0.00283008, -0.0561417, 0.998419, -0.0115902, -0.0499364, 0.0197642)
transform = Transform3D(0.999996, -0.000943512, 0.00278079, 0.000785924, 0.998423, 0.0561427, -0.00282919, -0.0561403, 0.998419, -0.0115888, -0.0499271, 0.0197608)
[node name="Plane_015_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="9"]
transform = Transform3D(0.999992, -0.000180684, 0.00397385, 0.000488974, 0.996976, -0.0777095, -0.00394778, 0.0777108, 0.996968, -0.0147536, 0.244844, -0.0727139)
transform = Transform3D(0.999992, -0.00018011, 0.00397366, 0.0004884, 0.996976, -0.077711, -0.00394747, 0.0777123, 0.996968, -0.0147531, 0.244853, -0.0727143)
[node name="Cube_010_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="10"]
transform = Transform3D(1, -0.000165071, -0.00101964, 0.000241917, 0.997121, 0.075824, 0.00100419, -0.075824, 0.997121, 0.00654006, -0.454019, -0.180427)
transform = Transform3D(1, -0.000164622, -0.00101974, 0.000241531, 0.997122, 0.075823, 0.0010045, -0.0758232, 0.997121, 0.0065403, -0.454012, -0.18043)
[node name="Cube_012_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="11"]
transform = Transform3D(1, -0.000417421, -0.000725111, 0.000444777, 0.999273, 0.0381292, 0.000708672, -0.0381295, 0.999273, 0.00502491, -0.246607, -0.208979)
transform = Transform3D(1, -0.000416992, -0.000725152, 0.000444401, 0.999273, 0.0381286, 0.000708899, -0.0381289, 0.999273, 0.00502467, -0.246602, -0.208982)
[node name="Cylinder_002_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="12"]
transform = Transform3D(1, -1.77636e-15, 0, -1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.243319)
[node name="Cube_006_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="13"]
transform = Transform3D(1, 7.18899e-10, -2.01781e-08, -7.60139e-10, 1, -1.49128e-07, 2.01603e-08, 1.78756e-07, 1, -1.19209e-07, -1.43051e-06, -0.24332)
transform = Transform3D(1, 7.18785e-10, -2.03527e-08, -7.31035e-10, 1, -1.49128e-07, 2.02767e-08, 1.78756e-07, 1, -1.19209e-07, -1.43051e-06, -0.24332)
[node name="Cube_017_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="14"]
transform = Transform3D(1, 3.15225e-10, 2.16325e-08, -3.11474e-10, 1, -1.19326e-07, -2.16737e-08, 1.78814e-07, 1, 1.19209e-07, -1.90735e-06, -0.24332)
transform = Transform3D(1, 3.1531e-10, 2.16907e-08, -3.26025e-10, 1, -1.19326e-07, -2.17319e-08, 1.78814e-07, 1, 1.19209e-07, -1.90735e-06, -0.243321)
[node name="Cube_005_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="15"]
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.24332)
transform = Transform3D(1, -1.42109e-13, -3.41061e-13, 2.27374e-13, 1, -9.23872e-07, 3.97904e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.243321)
[node name="Cube_005_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D/Cube_005_Material_0" index="0"]
surface_material_override/0 = ExtResource("8_dt6e4")
[node name="Cube_005_Inside_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="16"]
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.24332)
transform = Transform3D(1, -1.42109e-13, -3.41061e-13, 2.27374e-13, 1, -9.23872e-07, 3.97904e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.243321)
[node name="Plane_003_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="17"]
transform = Transform3D(1, 1.08827e-10, -1.00637e-08, -1.10077e-10, 1, -2.82656e-07, 1.00761e-08, 2.82598e-07, 1, -2.38419e-07, 0, -0.243319)
transform = Transform3D(1, 1.0877e-10, -1.02383e-08, -1.10134e-10, 1, -2.82831e-07, 1.02508e-08, 2.82773e-07, 1, -2.38419e-07, 0, -0.243319)
[node name="Plane_016_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="18"]
transform = Transform3D(1, -1.08827e-10, 1.00637e-08, 1.10077e-10, 1, -2.82656e-07, -1.00761e-08, 2.82598e-07, 1, 2.38419e-07, 0, -0.243319)
transform = Transform3D(1, -1.0877e-10, 1.02383e-08, 1.10134e-10, 1, -2.82831e-07, -1.02508e-08, 2.82773e-07, 1, 2.38419e-07, 0, -0.243319)
[node name="Cube_008_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="19"]
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.243319)
@ -1544,40 +1544,40 @@ skeleton = NodePath("../..")
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.243319)
[node name="Plane_006_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="21"]
transform = Transform3D(0.999992, -0.000243187, -0.00393772, 0.000421882, 0.998967, 0.0454597, 0.00392263, -0.0454612, 0.998959, 0.0142083, -0.0208257, 0.0571546)
transform = Transform3D(0.999992, -0.000243962, -0.00393721, 0.000422657, 0.998967, 0.0454589, 0.00392184, -0.0454604, 0.998959, 0.0142076, -0.0208176, 0.0571525)
[node name="Plane_008_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="22"]
transform = Transform3D(0.99999, -0.00100473, -0.00449514, 0.00120972, 0.998949, 0.0458429, 0.00444442, -0.0458479, 0.998939, 0.0154326, -0.0195967, 0.0576625)
transform = Transform3D(0.99999, -0.00100565, -0.00449483, 0.00121064, 0.998949, 0.0458405, 0.00444385, -0.0458454, 0.998939, 0.0154328, -0.0195872, 0.0576596)
[node name="Cube_004_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="23"]
transform = Transform3D(0.999998, 0.000593346, -0.00191483, -0.000593329, 1, 1.35452e-05, 0.0019149, -1.24723e-05, 0.999999, 0.0116918, 0.012755, 0.00379652)
transform = Transform3D(0.999998, 0.000592817, -0.00191478, -0.000592818, 1, 1.25021e-05, 0.00191462, -1.13994e-05, 0.999998, 0.0116918, 0.0127624, 0.00379586)
[node name="Plane_005_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="24"]
transform = Transform3D(0.999994, 0.00169057, -0.0030785, -0.00150916, 0.998324, 0.0578669, 0.00317086, -0.0578623, 0.99832, 0.0118003, -0.0558759, 0.0193362)
transform = Transform3D(0.999994, 0.00169002, -0.00307842, -0.00150859, 0.998324, 0.057866, 0.00317053, -0.0578612, 0.99832, 0.0118001, -0.0558684, 0.0193352)
[node name="Cube_003_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="25"]
transform = Transform3D(0.999995, 0.00056266, -0.00310814, -0.000525124, 0.999927, 0.0120666, 0.00311473, -0.0120649, 0.999922, 0.0121348, 0.00831246, 0.00515246)
transform = Transform3D(0.999995, 0.000562131, -0.00310815, -0.000524625, 0.999927, 0.0120656, 0.00311453, -0.0120638, 0.999922, 0.012135, 0.00831985, 0.00515223)
[node name="Plane_007_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="26"]
transform = Transform3D(0.999998, 0.00185053, 0.00077059, -0.00190301, 0.997191, 0.0748818, -0.000629876, -0.0748831, 0.997192, -0.0074482, -0.447659, -0.0120983)
transform = Transform3D(0.999998, 0.00185046, 0.00077097, -0.00190306, 0.997191, 0.0748795, -0.000630434, -0.0748807, 0.997193, -0.00744939, -0.447649, -0.0121021)
[node name="Plane_014_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="27"]
transform = Transform3D(0.999994, -0.00112587, -0.00334179, 0.00127038, 0.99905, 0.0435568, 0.00328954, -0.0435607, 0.999045, 0.0152922, -0.00381756, 0.0920875)
transform = Transform3D(0.999994, -0.00112623, -0.00334232, 0.00127071, 0.99905, 0.0435542, 0.00328988, -0.0435582, 0.999046, 0.0152934, -0.00380766, 0.0920863)
[node name="Plane_010_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="28"]
transform = Transform3D(0.999992, -0.00193824, -0.00356965, 0.00209311, 0.999034, 0.0439021, 0.00348112, -0.0439093, 0.99903, 0.0168588, -0.00387859, 0.0909228)
transform = Transform3D(0.999992, -0.00193878, -0.00356964, 0.00209358, 0.999034, 0.0439004, 0.00348089, -0.0439075, 0.99903, 0.0168588, -0.00386977, 0.0909214)
[node name="Cube_014_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="29"]
transform = Transform3D(0.999996, 0.0009441, -0.00278173, -0.000786409, 0.998422, 0.0561447, 0.00283035, -0.0561422, 0.998419, 0.011591, -0.0499364, 0.0197651)
transform = Transform3D(0.999996, 0.000943378, -0.002781, -0.000785768, 0.998422, 0.056143, 0.0028294, -0.0561406, 0.998419, 0.0115895, -0.0499266, 0.0197616)
[node name="Plane_001_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="30"]
transform = Transform3D(0.999992, 0.000180654, -0.0039737, -0.0004889, 0.996976, -0.0777096, 0.00394764, 0.077711, 0.996968, 0.0147536, 0.244845, -0.0727139)
transform = Transform3D(0.999992, 0.000180095, -0.00397351, -0.000488386, 0.996976, -0.0777112, 0.00394733, 0.0777125, 0.996968, 0.0147533, 0.244854, -0.0727148)
[node name="Cube_015_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="31"]
transform = Transform3D(1, 0.000164827, 0.00101945, -0.00024163, 0.997121, 0.0758239, -0.001004, -0.075824, 0.997121, -0.00653887, -0.454017, -0.180427)
transform = Transform3D(1, 0.000164399, 0.00101951, -0.000241293, 0.997122, 0.075823, -0.00100429, -0.0758232, 0.997121, -0.00653887, -0.454011, -0.180429)
[node name="Cube_001_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="32"]
transform = Transform3D(1, 0.000417389, 0.000725149, -0.000444711, 0.999273, 0.0381292, -0.000708692, -0.0381294, 0.999273, -0.00502539, -0.246606, -0.20898)
transform = Transform3D(1, 0.000416983, 0.000725171, -0.000444393, 0.999273, 0.0381286, -0.000708919, -0.0381289, 0.999273, -0.00502515, -0.246602, -0.208982)
[node name="Cylinder_001_Material_0" parent="Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="33"]
transform = Transform3D(1, 1.77636e-15, 0, 1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.243319)

View File

@ -31,6 +31,21 @@ sections = 3
section_length = 0.1
curve = SubResource("Curve_sr0ug")
[sub_resource type="Animation" id="Animation_wcl8c"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_1yygg"]
resource_name = "play"
tracks/0/type = "value"
@ -60,21 +75,6 @@ tracks/1/keys = {
}]
}
[sub_resource type="Animation" id="Animation_wcl8c"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:emitting")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3glsu"]
_data = {
"RESET": SubResource("Animation_wcl8c"),

View File

@ -45,6 +45,7 @@ section_length = 0.5
curve = SubResource("Curve_qsag0")
[node name="SparkShower" type="GPUParticles3D"]
emitting = false
amount = 36
lifetime = 5.0
one_shot = true

View File

@ -1,25 +1,49 @@
extends Weapon
const DAMAGE = 1.0
const DAMAGE: float = 1.0
const BULLET_COLLISION_MASK: int = 0x00000001
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@onready var muzzle: Node3D = $Muzzle
@onready var aimcast: RayCast3D = get_tree().get_first_node_in_group("AimCastGroup")
@onready var impact_scene: PackedScene = load("res://src/effects/ballistic_impact.tscn")
func up_vector(v: Vector3) -> Vector3:
# As a consequence of the hairy ball theorem (yes really) there is no
# single continuous function that can generate a vector in R3 that is
# orthogonal to a given one for all vector inputs.
if v.x == 0 and v.y == 0:
return Vector3(v.z, 0.0, 0.0)
return Vector3(-v.y, v.x, 0.0)
func fire() -> void:
# Two-step raycasting process:
# First, raycast from camera (aimcast) to get what we're aiming at.
# Then, raycast from muzzle to aimcast point to check the actual ballistic path.
if aimcast.is_colliding():
var target: Node3D = aimcast.get_collider()
if target is DamageableBody:
(target as DamageableBody).deal_damage(DAMAGE)
else:
var collision: Dictionary = get_world_3d().direct_space_state.intersect_ray(
PhysicsRayQueryParameters3D.create(
muzzle.global_position,
aimcast.get_collision_point(),
BULLET_COLLISION_MASK,
_excluded_rid
)
)
if collision:
@warning_ignore("unsafe_cast")
var target: Node3D = collision["collider"] as Node3D
if target is DamageableBody:
(target as DamageableBody).deal_damage(DAMAGE)
var impact: GPUParticles3D = impact_scene.instantiate()
var point: Vector3 = aimcast.get_collision_point()
var normal: Vector3 = aimcast.get_collision_normal()
var point: Vector3 = collision["position"]
var normal: Vector3 = collision["normal"]
target.add_child(impact)
impact.reparent(target)
impact.look_at_from_position(point, normal + point, Vector3(-normal.y, normal.x, 0.0))
impact.look_at_from_position(point, normal + point, up_vector(normal))
func trigger() -> void:

View File

@ -155,3 +155,6 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -0.2,
libraries = {
"": SubResource("AnimationLibrary_oqhr1")
}
[node name="Muzzle" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 2)

View File

@ -1,6 +1,19 @@
class_name Weapon
extends Node
extends Node3D
@export var excluded: Array[CollisionObject3D] = []:
set(value):
excluded = value
_excluded_rid.assign(excluded.map(func(o: CollisionObject3D) -> RID: return o.get_rid()))
get:
return excluded
var _excluded_rid: Array[RID] = []
func trigger() -> void:
pass # Implemented in derived type
func release() -> void:
pass # Implemented in derived type

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=23 format=3 uid="uid://drbiyuustse8b"]
[gd_scene load_steps=29 format=3 uid="uid://drbiyuustse8b"]
[ext_resource type="PackedScene" uid="uid://bqp5mwyat3asv" path="res://src/player/player.tscn" id="1_tgee4"]
[ext_resource type="Material" uid="uid://7a1uvst7oef2" path="res://assets/textures/metal_plate_1k/metal_plate.tres" id="2_ewgwm"]
@ -67,6 +67,23 @@ height = 20.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_6nyir"]
height = 20.0
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_icayw"]
plane = Plane(1, 0, 0, 0)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_q1oeh"]
plane = Plane(-1, 0, 0, 0)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_rsiy4"]
plane = Plane(0, 0, 1, 0)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_v04wy"]
plane = Plane(0, 0, -1, 0)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_gye7m"]
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_x27m4"]
plane = Plane(0, -1, 0, 0)
[sub_resource type="Animation" id="Animation_48do4"]
length = 0.001
tracks/0/type = "value"
@ -216,6 +233,32 @@ skeleton = NodePath("../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldGeometry/Pillar4/StaticBody3D"]
shape = SubResource("CylinderShape3D_6nyir")
[node name="AreaBoundary" type="StaticBody3D" parent="WorldGeometry"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -150, 0, 0)
shape = SubResource("WorldBoundaryShape3D_icayw")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 150, 0, 0)
shape = SubResource("WorldBoundaryShape3D_q1oeh")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -150)
shape = SubResource("WorldBoundaryShape3D_rsiy4")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 150)
shape = SubResource("WorldBoundaryShape3D_v04wy")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -150, 0)
shape = SubResource("WorldBoundaryShape3D_gye7m")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="WorldGeometry/AreaBoundary"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 150, 0)
shape = SubResource("WorldBoundaryShape3D_x27m4")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_h554d")

View File

@ -1,14 +1,16 @@
class_name DamageableBody
extends CharacterBody3D
@warning_ignore("unused_parameter")
func deal_damage(delta: float) -> void:
pass # Implemented in derived type
@warning_ignore("unused_parameter")
func deal_heat(delta: float) -> void:
pass # Implemented in derived type
@warning_ignore("unused_parameter")
func deal_structure(delta: int) -> void:
pass # Implemented in derived type

View File

@ -35,6 +35,8 @@ var structure: int:
return _structure_meter.structure_count
# gdlint: enable=class-definitions-order
func _ready() -> void:
get_rid()
func deal_damage(delta: float) -> void:
_damage = clamp(_damage + delta, 0.0, 100.0)

View File

@ -55,140 +55,149 @@ script = ExtResource("1_h16ke")
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, -0.05)
[node name="Skeleton3D" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5" index="0"]
bones/1/position = Vector3(0, 0, 6.46284)
bones/3/rotation = Quaternion(0.655524, 0.674884, 0.23622, 0.242941)
bones/4/rotation = Quaternion(0.698377, 0.0563606, 0.0722034, 0.709845)
bones/5/rotation = Quaternion(-0.619985, -0.00141936, -0.10116, 0.778064)
bones/6/rotation = Quaternion(-0.435683, 0.0113562, -0.062888, 0.897829)
bones/7/rotation = Quaternion(-0.839955, 0.036693, -0.173648, 0.512812)
bones/11/rotation = Quaternion(-0.836347, 0.0433352, -0.169074, 0.519672)
bones/17/rotation = Quaternion(0.751938, 0.00910013, 0.659083, 0.0107199)
bones/23/rotation = Quaternion(0.901544, 0.00357414, 0.148774, 0.40629)
bones/27/rotation = Quaternion(-0.551487, -0.00579014, -0.102677, 0.82782)
bones/33/rotation = Quaternion(-0.543607, -0.0099368, -0.107733, 0.832338)
bones/35/rotation = Quaternion(-0.63077, 0.00360559, -0.102602, 0.769148)
bones/41/rotation = Quaternion(-0.0147733, 0.935766, 0.352107, 0.0120524)
bones/74/rotation = Quaternion(-0.655524, 0.674884, 0.23622, -0.242941)
bones/75/rotation = Quaternion(0.698377, -0.0563606, -0.0722034, 0.709845)
bones/76/rotation = Quaternion(-0.619985, 0.00141935, 0.10116, 0.778064)
bones/77/rotation = Quaternion(-0.435683, -0.0113562, 0.062888, 0.897829)
bones/78/rotation = Quaternion(-0.839955, -0.036693, 0.173648, 0.512812)
bones/82/rotation = Quaternion(-0.836347, -0.0433352, 0.169074, 0.519672)
bones/88/rotation = Quaternion(0.751938, -0.00910022, -0.659084, 0.0107198)
bones/94/rotation = Quaternion(0.901544, -0.00357412, -0.148774, 0.40629)
bones/98/rotation = Quaternion(-0.551488, 0.00579811, 0.102682, 0.827819)
bones/102/rotation = Quaternion(-0.543608, 0.0099448, 0.107739, 0.832337)
bones/106/rotation = Quaternion(-0.630771, -0.00359684, 0.102609, 0.769147)
bones/112/rotation = Quaternion(0.0147734, 0.935766, 0.352107, -0.0120524)
bones/1/position = Vector3(0, 0, 6.33372)
bones/1/rotation = Quaternion(0.707107, 0, 0, 0.707107)
bones/3/rotation = Quaternion(0.652878, 0.672476, 0.242991, 0.249964)
bones/4/rotation = Quaternion(0.720335, 0.0547061, 0.0744505, 0.687446)
bones/5/rotation = Quaternion(-0.638651, -0.00117237, -0.10387, 0.762453)
bones/6/rotation = Quaternion(-0.432258, 0.0116889, -0.0626312, 0.899497)
bones/7/rotation = Quaternion(-0.846884, 0.0355363, -0.175509, 0.500721)
bones/11/rotation = Quaternion(-0.843428, 0.042092, -0.171042, 0.507545)
bones/17/rotation = Quaternion(0.751496, 0.0181637, 0.659123, 0.021936)
bones/23/rotation = Quaternion(0.885439, 0.00352674, 0.146109, 0.441177)
bones/27/rotation = Quaternion(-0.578571, -0.00535294, -0.106483, 0.808634)
bones/33/rotation = Quaternion(-0.570965, -0.00943927, -0.111499, 0.813313)
bones/35/rotation = Quaternion(-0.658131, 0.00394982, -0.106742, 0.745288)
bones/41/rotation = Quaternion(-0.0149476, 0.93859, 0.3445, 0.012072)
bones/50/rotation = Quaternion(0.80296, 2.84212e-07, 3.82883e-07, 0.596033)
bones/51/rotation = Quaternion(0.595723, -0.000239473, 0.000322365, 0.80319)
bones/55/rotation = Quaternion(0.595723, 0.000238707, -0.000321796, 0.80319)
bones/62/rotation = Quaternion(-0.000385918, 2.26638e-14, -0.000401128, 1)
bones/66/rotation = Quaternion(-0.000385918, -2.26638e-14, 0.000401128, 1)
bones/74/rotation = Quaternion(-0.652876, 0.672473, 0.242997, -0.249971)
bones/75/rotation = Quaternion(0.720335, -0.0547061, -0.0744505, 0.687446)
bones/76/rotation = Quaternion(-0.638651, 0.00117237, 0.10387, 0.762453)
bones/77/rotation = Quaternion(-0.432258, -0.011689, 0.0626311, 0.899497)
bones/78/rotation = Quaternion(-0.846884, -0.0355364, 0.175509, 0.500721)
bones/82/rotation = Quaternion(-0.843428, -0.042092, 0.171042, 0.507545)
bones/88/rotation = Quaternion(0.751496, -0.0181636, -0.659123, 0.0219361)
bones/94/rotation = Quaternion(0.885443, -0.00352645, -0.14611, 0.44117)
bones/98/rotation = Quaternion(-0.578589, 0.00535375, 0.106484, 0.80862)
bones/102/rotation = Quaternion(-0.570946, 0.00943871, 0.111498, 0.813326)
bones/106/rotation = Quaternion(-0.658131, -0.00394973, 0.106742, 0.745288)
bones/112/rotation = Quaternion(0.0149479, 0.938575, 0.344541, -0.0120713)
bones/122/rotation = Quaternion(0.993232, -0.00676712, 0.0811637, -0.0828125)
bones/126/rotation = Quaternion(0.993232, 0.00676712, -0.0811637, -0.0828125)
[node name="Plane_009_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="0"]
transform = Transform3D(1, 0.000203416, -5.02169e-05, -0.000203341, 0.999997, 0.00281864, 5.06267e-05, -0.00281847, 0.999996, -0.000291109, -0.00959593, 0.00090009)
transform = Transform3D(0.999998, 0.00036028, 0.00174418, -0.000412732, 0.999546, 0.0301726, -0.00173245, -0.0301733, 0.999543, -0.00757074, -0.0232477, 0.0362828)
[node name="Plane_012_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="1"]
transform = Transform3D(1, 0.000266612, -3.70592e-05, -0.000266537, 0.999996, 0.00282425, 3.7685e-05, -0.00282407, 0.999996, -0.000364065, -0.00946718, 0.000972688)
transform = Transform3D(0.999998, 0.000643373, 0.00191935, -0.000701502, 0.999537, 0.0304209, -0.0018988, -0.0304223, 0.999536, -0.00799942, -0.0231996, 0.0362565)
[node name="Cube_016_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="2"]
transform = Transform3D(1, 0.000136666, -5.96046e-06, -0.000136739, 1, 0.000836968, 5.93066e-06, -0.000836864, 1, -0.000262022, -0.00816771, -0.000927985)
transform = Transform3D(1, -0.00041829, 0.000630543, 0.00041827, 1, 1.48565e-05, -0.000630498, -1.4618e-05, 1, -0.00586176, -0.00128412, 0.00187916)
[node name="Plane_004_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="3"]
transform = Transform3D(0.999995, -0.000587419, -0.00278325, 0.000595286, 0.999996, 0.00284241, 0.00278142, -0.00284413, 0.999992, 0.00373793, -0.0121993, -0.00962865)
transform = Transform3D(0.999998, -0.000299484, 0.00129335, 0.000249609, 0.999264, 0.038356, -0.00130382, -0.0383558, 0.999264, -0.00592709, -0.0437889, 0.0108784)
[node name="Cube_013_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="4"]
transform = Transform3D(1, 0.000137903, 6.19665e-05, -0.000138089, 0.999999, 0.00185153, -6.18324e-05, -0.00185141, 0.999998, -0.000287294, -0.00855535, -0.000921726)
transform = Transform3D(0.999999, -0.000354029, 0.00148444, 0.000341162, 0.999963, 0.008654, -0.00148738, -0.00865349, 0.999962, -0.00617385, -0.00437653, 0.0028348)
[node name="Plane_011_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="5"]
transform = Transform3D(1, 3.53903e-05, -8.43122e-05, -3.50922e-05, 0.999992, 0.00396769, 8.43583e-05, -0.00396763, 0.999992, 0.000598192, -0.0236566, -0.00162411)
transform = Transform3D(0.999999, -0.00113299, -0.000314938, 0.00114438, 0.999247, 0.0387953, 0.000270774, -0.0387957, 0.999247, 0.003371, -0.240618, -0.0111723)
[node name="Plane_002_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="6"]
transform = Transform3D(1, 0.000220656, 7.01696e-05, -0.000220925, 0.999996, 0.00290576, -6.96331e-05, -0.00290579, 0.999996, -0.000486374, -0.00899434, 0.00175929)
transform = Transform3D(0.999998, 0.000597566, 0.00166115, -0.000643104, 0.999621, 0.0275544, -0.00164397, -0.0275555, 0.999619, -0.00815511, -0.012984, 0.05339)
[node name="Plane_013_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="7"]
transform = Transform3D(1, 0.000220656, 7.01696e-05, -0.000220925, 0.999996, 0.00290576, -6.96331e-05, -0.00290579, 0.999996, -0.000486374, -0.00899434, 0.00175929)
transform = Transform3D(0.999998, 0.000597566, 0.00166115, -0.000643104, 0.999621, 0.0275544, -0.00164397, -0.0275555, 0.999619, -0.00815511, -0.012984, 0.05339)
[node name="Cube_007_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="8"]
transform = Transform3D(1, 0.000156946, 6.0007e-05, -0.0001572, 0.999995, 0.0031957, -5.95823e-05, -0.0031957, 0.999995, -0.000314951, -0.0102969, -0.000587463)
transform = Transform3D(0.999999, -0.000434808, 0.00123639, 0.0003924, 0.999418, 0.0341015, -0.00125042, -0.0341011, 0.999418, -0.00581861, -0.0381809, 0.0100269)
[node name="Plane_015_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="9"]
transform = Transform3D(1, 7.9304e-05, 0.000139385, -7.92295e-05, 0.999999, -0.000894278, -0.000139542, 0.000894248, 1, -0.000431776, -0.00160009, -0.00337505)
transform = Transform3D(0.999998, -0.000297926, 0.00204754, 0.000385799, 0.999073, -0.0430476, -0.00203273, 0.0430482, 0.999071, -0.00769114, 0.13084, -0.0439095)
[node name="Cube_010_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="10"]
transform = Transform3D(1, 2.91038e-05, -4.32144e-05, -2.90144e-05, 0.999992, 0.00395888, 4.32134e-05, -0.00395879, 0.999992, 0.000264645, -0.0242016, -0.00664806)
transform = Transform3D(1, -2.40505e-05, -0.000493186, 4.42415e-05, 0.999161, 0.0409548, 0.000491828, -0.0409548, 0.999161, 0.0032146, -0.247835, -0.107402)
[node name="Cube_012_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="11"]
transform = Transform3D(1, 9.17181e-06, -4.65667e-05, -9.13643e-06, 0.999997, 0.00259498, 4.64714e-05, -0.00259492, 0.999997, 0.000293016, -0.0167026, -0.0073204)
transform = Transform3D(1, -0.000202978, -0.000435671, 0.000213118, 0.999727, 0.0233685, 0.000430851, -0.0233686, 0.999727, 0.0029788, -0.1511, -0.11854)
[node name="Cylinder_002_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="12"]
transform = Transform3D(1, -1.77636e-15, 0, -1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.00936365)
transform = Transform3D(1, -1.77636e-15, 0, -1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.138483)
[node name="Cube_006_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="13"]
transform = Transform3D(1, 7.18899e-10, -2.01781e-08, -7.60139e-10, 1, -1.49128e-07, 2.01603e-08, 1.78756e-07, 1, -1.19209e-07, -1.43051e-06, -0.00936413)
transform = Transform3D(1, 7.18899e-10, -2.01781e-08, -7.60139e-10, 1, -1.49128e-07, 2.01603e-08, 1.78756e-07, 1, -1.19209e-07, -1.43051e-06, -0.138482)
[node name="Cube_017_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="14"]
transform = Transform3D(1, 3.15225e-10, 2.16325e-08, -3.11474e-10, 1, -1.19326e-07, -2.16737e-08, 1.78814e-07, 1, 1.19209e-07, -1.90735e-06, -0.00936604)
transform = Transform3D(1, 3.15225e-10, 2.16325e-08, -3.11474e-10, 1, -1.19326e-07, -2.16737e-08, 1.78814e-07, 1, 1.19209e-07, -1.90735e-06, -0.138484)
[node name="Cube_005_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="15"]
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.00936604)
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.138484)
[node name="WeaponSlot" type="Node3D" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D/Cube_005_Material_0" index="1"]
unique_name_in_owner = true
transform = Transform3D(1, 1.42109e-14, -4.74338e-20, -1.42109e-14, 1, 1.7053e-13, -3.38813e-20, -1.7053e-13, 1, 0, 0, 0)
[node name="Autocannon" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D/Cube_005_Material_0/WeaponSlot" instance=ExtResource("3_viob3")]
[node name="Autocannon" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D/Cube_005_Material_0/WeaponSlot" node_paths=PackedStringArray("excluded") instance=ExtResource("3_viob3")]
transform = Transform3D(1, -7.45389e-20, -2.84217e-14, -2.84217e-14, -4.37115e-08, -1, 1.35525e-20, 1, -4.37115e-08, -1.61931, -4.00469, 7.83282)
excluded = [NodePath("../../../../../../../../../../../..")]
[node name="Cube_005_Inside_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="16"]
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.00936604)
transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -9.23872e-07, 3.41061e-13, 9.23872e-07, 1, -9.09153e-13, 4.52995e-06, -0.138484)
[node name="Plane_003_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="17"]
transform = Transform3D(1, 1.08827e-10, -1.00637e-08, -1.10077e-10, 1, -2.82656e-07, 1.00761e-08, 2.82598e-07, 1, -2.38419e-07, 0, -0.00936317)
transform = Transform3D(1, 1.08827e-10, -1.00637e-08, -1.10077e-10, 1, -2.82656e-07, 1.00761e-08, 2.82598e-07, 1, -2.38419e-07, 0, -0.138483)
[node name="Plane_016_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="18"]
transform = Transform3D(1, -1.08827e-10, 1.00637e-08, 1.10077e-10, 1, -2.82656e-07, -1.00761e-08, 2.82598e-07, 1, 2.38419e-07, 0, -0.00936317)
transform = Transform3D(1, -1.08827e-10, 1.00637e-08, 1.10077e-10, 1, -2.82656e-07, -1.00761e-08, 2.82598e-07, 1, 2.38419e-07, 0, -0.138483)
[node name="Cube_008_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="19"]
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.00936365)
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.138483)
[node name="Cube_008_Inside_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="20"]
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.00936365)
transform = Transform3D(1, -2.64698e-23, 9.95068e-31, 2.64698e-23, 1, 0, -9.95068e-31, 0, 1, -1.90621e-29, 0, -0.138483)
[node name="Plane_006_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="21"]
transform = Transform3D(1, -0.000203609, 5.03063e-05, 0.00020352, 0.999997, 0.00281975, -5.06788e-05, -0.00281969, 0.999996, 0.000292063, -0.00959593, 0.000900328)
transform = Transform3D(0.999999, -0.00036034, -0.00174379, 0.000412807, 0.999545, 0.0301921, 0.00173204, -0.0301929, 0.999543, 0.00756931, -0.0233655, 0.0363007)
[node name="Plane_008_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="22"]
transform = Transform3D(1, -0.00026682, 3.7007e-05, 0.000266746, 0.999997, 0.00282437, -3.75658e-05, -0.00282431, 0.999996, 0.000365019, -0.00946718, 0.000972688)
transform = Transform3D(0.999998, -0.000643566, -0.00191912, 0.000701696, 0.999537, 0.0304395, 0.00189856, -0.0304408, 0.999535, 0.00799823, -0.0233171, 0.0362738)
[node name="Cube_004_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="23"]
transform = Transform3D(1, -0.000136722, 6.02007e-06, 0.000136767, 1, 0.000836968, -5.91576e-06, -0.000836909, 1, 0.000261545, -0.00816773, -0.000928253)
transform = Transform3D(1, 0.000418223, -0.000630289, -0.000418196, 1, 3.3319e-05, 0.000630274, -3.31104e-05, 1, 0.00585938, -0.00140235, 0.00189638)
[node name="Plane_005_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="24"]
transform = Transform3D(0.999996, 0.000588223, 0.0027829, -0.000595316, 0.999996, 0.00284208, -0.0027815, -0.00284392, 0.999992, -0.00373292, -0.0122004, -0.00962663)
transform = Transform3D(0.999999, 0.000299513, -0.00129236, -0.000249147, 0.999264, 0.0383744, 0.00130253, -0.0383744, 0.999263, 0.00592971, -0.0439069, 0.0108961)
[node name="Cube_003_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="25"]
transform = Transform3D(1, -0.000137947, -6.19218e-05, 0.000138104, 0.999998, 0.00185153, 6.18473e-05, -0.0018515, 0.999998, 0.000286818, -0.00855517, -0.000921726)
transform = Transform3D(0.999999, 0.000354201, -0.00148422, -0.000341326, 0.999962, 0.00867248, 0.0014872, -0.00867203, 0.999961, 0.0061717, -0.00449526, 0.0028522)
[node name="Plane_007_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="26"]
transform = Transform3D(1, -3.54797e-05, 8.40756e-05, 3.51667e-05, 0.999992, 0.00396762, -8.40765e-05, -0.00396764, 0.999992, -0.000595808, -0.023656, -0.00162315)
transform = Transform3D(1, 0.00113301, 0.000315137, -0.00114442, 0.999247, 0.0387983, -0.000271023, -0.0387987, 0.999247, -0.00337124, -0.240667, -0.0111613)
[node name="Plane_014_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="27"]
transform = Transform3D(1, -0.000208244, -5.61588e-05, 0.000208452, 0.999996, 0.0029082, 5.56782e-05, -0.00290811, 0.999996, 0.000439882, -0.00904286, 0.00171423)
transform = Transform3D(0.999999, -0.000595182, -0.00166262, 0.000640884, 0.999618, 0.0276182, 0.0016455, -0.0276193, 0.999617, 0.00815439, -0.0132011, 0.0534806)
[node name="Plane_010_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="28"]
transform = Transform3D(1, -0.000230372, -6.46785e-05, 0.000230595, 0.999996, 0.00291762, 6.41719e-05, -0.00291768, 0.999996, 0.00048542, -0.00910521, 0.00172591)
transform = Transform3D(0.999998, -0.00115739, -0.00172729, 0.00120492, 0.999614, 0.0277815, 0.00169444, -0.0277837, 0.999613, 0.00904775, -0.0129452, 0.0525696)
[node name="Cube_014_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="29"]
transform = Transform3D(1, -0.000142269, -4.34443e-05, 0.000142448, 0.999995, 0.00319871, 4.31314e-05, -0.00319871, 0.999995, 0.000267744, -0.0103495, -0.000637293)
transform = Transform3D(0.999999, 0.000435092, -0.00123651, -0.000392623, 0.999418, 0.0341209, 0.00125057, -0.0341204, 0.999417, 0.00581765, -0.0383013, 0.0100462)
[node name="Plane_001_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="30"]
transform = Transform3D(1, -7.93561e-05, -0.000139199, 7.92593e-05, 1, -0.000894457, 0.000139423, 0.000894427, 1, 0.000431299, -0.00159973, -0.00337553)
transform = Transform3D(0.999998, 0.000298128, -0.00204715, -0.000385933, 0.999074, -0.0430293, 0.00203239, 0.0430299, 0.999072, 0.00768948, 0.13072, -0.0438948)
[node name="Cube_015_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="31"]
transform = Transform3D(1, -2.94e-05, 4.29363e-05, 2.92696e-05, 0.999992, 0.00395895, -4.2894e-05, -0.00395879, 0.999992, -0.000262737, -0.0242015, -0.00664663)
transform = Transform3D(1, 2.30912e-05, 0.000490966, -4.31463e-05, 0.999164, 0.0408862, -0.000489643, -0.0408861, 0.999164, -0.00320196, -0.24747, -0.107437)
[node name="Cube_001_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="32"]
transform = Transform3D(1, -9.22714e-06, 4.66232e-05, 9.14519e-06, 0.999997, 0.00259498, -4.64907e-05, -0.00259492, 0.999997, -0.000293732, -0.0167021, -0.00732088)
transform = Transform3D(1, 0.00020322, 0.000435948, -0.00021337, 0.999727, 0.0233878, -0.00043111, -0.0233878, 0.999727, -0.00298142, -0.151224, -0.118522)
[node name="Cylinder_001_Material_0" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D" index="33"]
transform = Transform3D(1, 1.77636e-15, 0, 1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.00936365)
transform = Transform3D(1, 1.77636e-15, 0, 1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, 0, -0.138483)
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
@ -214,7 +223,6 @@ current = true
[node name="SparkShower" parent="." instance=ExtResource("2_4nuwf")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
emitting = false
[node name="GPUParticlesCollisionBox3D" type="GPUParticlesCollisionBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)