From a12e5adccbc1eaf6a24f764b41ef598cace94820 Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Thu, 25 Jul 2024 17:26:07 -0600 Subject: [PATCH] Autocannon hitscans from the weapon itself, not from the camera --- assets/models/bipedal_mech/mech.tscn | 60 ++++++------- src/effects/ballistic_impact.tscn | 30 +++---- src/effects/spark_shower.tscn | 1 + src/equip/autocannon.gd | 40 +++++++-- src/equip/autocannon.tscn | 3 + src/equip/weapon.gd | 15 +++- src/maps/arena_map/arena_map.tscn | 45 +++++++++- src/npc/damageable_body.gd | 4 +- src/player/player.gd | 2 + src/player/player.tscn | 130 ++++++++++++++------------- 10 files changed, 213 insertions(+), 117 deletions(-) diff --git a/assets/models/bipedal_mech/mech.tscn b/assets/models/bipedal_mech/mech.tscn index de0b065..8bbb963 100644 --- a/assets/models/bipedal_mech/mech.tscn +++ b/assets/models/bipedal_mech/mech.tscn @@ -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) diff --git a/src/effects/ballistic_impact.tscn b/src/effects/ballistic_impact.tscn index 6eb1812..c4cd009 100644 --- a/src/effects/ballistic_impact.tscn +++ b/src/effects/ballistic_impact.tscn @@ -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"), diff --git a/src/effects/spark_shower.tscn b/src/effects/spark_shower.tscn index df97919..5c1fff6 100644 --- a/src/effects/spark_shower.tscn +++ b/src/effects/spark_shower.tscn @@ -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 diff --git a/src/equip/autocannon.gd b/src/equip/autocannon.gd index f5093b3..6d36000 100644 --- a/src/equip/autocannon.gd +++ b/src/equip/autocannon.gd @@ -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: diff --git a/src/equip/autocannon.tscn b/src/equip/autocannon.tscn index f878098..454ef34 100644 --- a/src/equip/autocannon.tscn +++ b/src/equip/autocannon.tscn @@ -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) diff --git a/src/equip/weapon.gd b/src/equip/weapon.gd index e222536..64dc80b 100644 --- a/src/equip/weapon.gd +++ b/src/equip/weapon.gd @@ -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 diff --git a/src/maps/arena_map/arena_map.tscn b/src/maps/arena_map/arena_map.tscn index fff9545..3dc6343 100644 --- a/src/maps/arena_map/arena_map.tscn +++ b/src/maps/arena_map/arena_map.tscn @@ -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") diff --git a/src/npc/damageable_body.gd b/src/npc/damageable_body.gd index 9b0e7cb..f71b795 100644 --- a/src/npc/damageable_body.gd +++ b/src/npc/damageable_body.gd @@ -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 diff --git a/src/player/player.gd b/src/player/player.gd index 90cfbbf..6e9a420 100644 --- a/src/player/player.gd +++ b/src/player/player.gd @@ -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) diff --git a/src/player/player.tscn b/src/player/player.tscn index eca4c3f..2900e0a 100644 --- a/src/player/player.tscn +++ b/src/player/player.tscn @@ -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)