diff --git a/project.godot b/project.godot index 9578d46..a652938 100644 --- a/project.godot +++ b/project.godot @@ -108,3 +108,4 @@ weapon_alt={ 3d_physics/layer_1="Geometry" 3d_physics/layer_2="Shadow" 3d_physics/layer_3="Mechs" +3d_physics/layer_4="NPC Vision" diff --git a/src/maps/arena_map/arena_map.tscn b/src/maps/arena_map/arena_map.tscn index 2d4748a..c0ed49d 100644 --- a/src/maps/arena_map/arena_map.tscn +++ b/src/maps/arena_map/arena_map.tscn @@ -167,10 +167,56 @@ shadow_enabled = true [node name="WorldGeometry" type="NavigationRegion3D" parent="."] navigation_mesh = SubResource("NavigationMesh_ltpuv") -[node name="NavigationLink3D" type="NavigationLink3D" parent="WorldGeometry"] +[node name="NavLinks" type="Node3D" parent="WorldGeometry"] + +[node name="NavigationLink3D" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 49) end_position = Vector3(0, -5, 4) +[node name="NavigationLink3D2" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 24.5, 0, 42.4352) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D3" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, 42.4352, 0, 24.5) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D4" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 49, 0, -2.14186e-06) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D5" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, 42.4352, 0, -24.5) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D6" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, -0.866025, 24.5, 0, -42.4352) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D7" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -4.28372e-06, 0, -49) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D8" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -24.5, 0, -42.4352) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D9" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(-0.5, 0, -0.866026, 0, 1, 0, 0.866026, 0, -0.5, -42.4352, 0, -24.5) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D10" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, -49, 0, 6.42557e-06) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D11" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, 0.5, -42.4352, 0, 24.5) +end_position = Vector3(0, -5, 4) + +[node name="NavigationLink3D12" type="NavigationLink3D" parent="WorldGeometry/NavLinks"] +transform = Transform3D(0.866026, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866026, -24.5, 0, 42.4352) +end_position = Vector3(0, -5, 4) + [node name="Floor" type="MeshInstance3D" parent="WorldGeometry"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) mesh = SubResource("CylinderMesh_uarav") @@ -275,6 +321,32 @@ shape = SubResource("WorldBoundaryShape3D_gye7m") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 150, 0) shape = SubResource("WorldBoundaryShape3D_x27m4") +[node name="PatrolMarkers" type="Node3D" parent="WorldGeometry"] + +[node name="Marker3D" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 0, 0) + +[node name="Marker3D2" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 0, 0) + +[node name="Marker3D3" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 30) + +[node name="Marker3D4" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -30) + +[node name="Marker3D5" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 60, -5, 0) + +[node name="Marker3D6" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -60, -5, 0) + +[node name="Marker3D7" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5, 60) + +[node name="Marker3D8" type="Marker3D" parent="WorldGeometry/PatrolMarkers" groups=["PatrolMarkers"]] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5, -60) + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_h554d") diff --git a/src/npc/mech_character/mech_character.gd b/src/npc/mech_character/mech_character.gd index 9f65bec..7b0982a 100644 --- a/src/npc/mech_character/mech_character.gd +++ b/src/npc/mech_character/mech_character.gd @@ -24,6 +24,7 @@ var _boost_triggered: bool = false @onready var animation_tree: AnimationTree = $Mesh/Mech/AnimationTree @onready var shadow_listener: ShadowListener = $ShadowListener @onready var spark_shower: GPUParticles3D = $SparkShower +@onready var boost_cooldown_timer: Timer = $BoostCooldownTimer func shutdown() -> void: @@ -40,7 +41,7 @@ func in_shadow() -> bool: func boost_ready() -> bool: - return true + return not boost_cooldown_timer.is_stopped() func boost(movement: Vector3) -> void: @@ -50,6 +51,7 @@ func boost(movement: Vector3) -> void: mesh.rotation.y = atan2(velocity.x, velocity.z) animation_tree["parameters/boost/request"] = 1 _boost_triggered = true + boost_cooldown_timer.start() func jump() -> void: diff --git a/src/npc/mech_character/mech_character.tscn b/src/npc/mech_character/mech_character.tscn index 7b105d0..3a72ad8 100644 --- a/src/npc/mech_character/mech_character.tscn +++ b/src/npc/mech_character/mech_character.tscn @@ -20,86 +20,90 @@ script = ExtResource("1_0ew1j") 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(-1.16428e-18, -0.00555207, 6.46296) -bones/3/rotation = Quaternion(0.655678, 0.675055, 0.235772, 0.242483) -bones/4/rotation = Quaternion(0.698581, 0.0563524, 0.0722196, 0.709643) -bones/5/rotation = Quaternion(-0.620157, -0.00141792, -0.101184, 0.777924) -bones/6/rotation = Quaternion(-0.43596, 0.0113592, -0.0629276, 0.897691) -bones/7/rotation = Quaternion(-0.83941, 0.0367354, -0.173534, 0.513738) -bones/11/rotation = Quaternion(-0.835795, 0.0433777, -0.168959, 0.520595) -bones/17/rotation = Quaternion(0.751934, 0.00865892, 0.659106, 0.00998867) -bones/23/rotation = Quaternion(0.90157, 0.00357137, 0.14878, 0.40623) -bones/27/rotation = Quaternion(-0.551583, -0.00578338, -0.102684, 0.827755) -bones/33/rotation = Quaternion(-0.543706, -0.0099274, -0.107737, 0.832273) -bones/35/rotation = Quaternion(-0.631023, 0.0036138, -0.102634, 0.768936) -bones/41/rotation = Quaternion(-0.0147734, 0.9358, 0.352014, 0.0120504) -bones/49/rotation = Quaternion(-0.000153549, 6.57829e-24, -4.95349e-31, 1) -bones/51/rotation = Quaternion(0.595674, -0.000239343, 0.000322192, 0.803226) -bones/55/rotation = Quaternion(0.595674, 0.000238577, -0.000321623, 0.803226) -bones/74/rotation = Quaternion(-0.655188, 0.674638, 0.237025, -0.243743) -bones/75/rotation = Quaternion(0.700211, -0.0562676, -0.0724056, 0.708023) -bones/76/rotation = Quaternion(-0.621309, 0.00138849, 0.101341, 0.776983) -bones/77/rotation = Quaternion(-0.435146, -0.0113914, 0.0628428, 0.898092) -bones/78/rotation = Quaternion(-0.840682, -0.0365636, 0.173847, 0.511561) -bones/82/rotation = Quaternion(-0.837097, -0.0431949, 0.169284, 0.518408) -bones/88/rotation = Quaternion(0.751917, -0.009818, -0.659081, 0.0117492) -bones/94/rotation = Quaternion(0.898348, -0.00359475, -0.148231, 0.413505) -bones/98/rotation = Quaternion(-0.553371, 0.00575116, 0.102924, 0.826531) -bones/102/rotation = Quaternion(-0.545511, 0.00989802, 0.107985, 0.831059) -bones/106/rotation = Quaternion(-0.632623, -0.00363688, 0.10287, 0.767589) -bones/112/rotation = Quaternion(0.0146543, 0.937436, 0.34764, -0.0120964) -bones/122/position = Vector3(3.16409, -0.201596, 0.386043) -bones/122/rotation = Quaternion(0.993197, -0.00680085, 0.0811609, -0.0832253) -bones/126/position = Vector3(-3.16409, -0.213214, 0.398019) -bones/126/rotation = Quaternion(0.993211, 0.00678716, -0.0811621, -0.0830577) +bones/1/position = Vector3(-1.16428e-18, -0.00573189, 6.30567) +bones/1/rotation = Quaternion(0.707107, 0, 0, 0.707107) +bones/3/rotation = Quaternion(0.65254, 0.672209, 0.243779, 0.250795) +bones/4/rotation = Quaternion(0.72498, 0.0544464, 0.0750246, 0.682504) +bones/5/rotation = Quaternion(-0.642612, -0.00111279, -0.104449, 0.759038) +bones/6/rotation = Quaternion(-0.432096, 0.0117349, -0.0625918, 0.899576) +bones/7/rotation = Quaternion(-0.846218, 0.0355845, -0.17537, 0.501891) +bones/11/rotation = Quaternion(-0.842747, 0.0421336, -0.170902, 0.508719) +bones/17/rotation = Quaternion(0.751544, 0.0167114, 0.659168, 0.0199867) +bones/23/rotation = Quaternion(0.880618, 0.00322745, 0.145445, 0.450941) +bones/27/rotation = Quaternion(-0.583979, -0.00525405, -0.107242, 0.804636) +bones/33/rotation = Quaternion(-0.576413, -0.00932327, -0.112241, 0.80936) +bones/35/rotation = Quaternion(-0.66389, 0.00403068, -0.107615, 0.740035) +bones/41/rotation = Quaternion(-0.0149819, 0.93942, 0.342229, 0.012082) +bones/49/rotation = Quaternion(-0.000195257, 6.5783e-24, -4.95638e-31, 1) +bones/50/rotation = Quaternion(0.80296, 2.84212e-07, 3.82883e-07, 0.596033) +bones/51/rotation = Quaternion(0.595739, -0.000239407, 0.000322277, 0.803178) +bones/55/rotation = Quaternion(0.595739, 0.000238641, -0.000321708, 0.803178) +bones/62/rotation = Quaternion(-0.000385918, 2.26111e-14, -0.000401128, 1) +bones/66/rotation = Quaternion(-0.000385918, -2.26111e-14, 0.000401128, 1) +bones/74/rotation = Quaternion(-0.651746, 0.671453, 0.245826, -0.252877) +bones/75/rotation = Quaternion(0.726233, -0.0543674, -0.0751674, 0.68116) +bones/76/rotation = Quaternion(-0.643595, 0.00109257, 0.104588, 0.758185) +bones/77/rotation = Quaternion(-0.430079, -0.0117585, 0.0623206, 0.900561) +bones/78/rotation = Quaternion(-0.848349, -0.035349, 0.175861, 0.498124) +bones/82/rotation = Quaternion(-0.84493, -0.041896, 0.171407, 0.504934) +bones/88/rotation = Quaternion(0.751514, -0.0176102, -0.659136, 0.0213489) +bones/94/rotation = Quaternion(0.877904, -0.00327726, -0.144962, 0.456355) +bones/98/rotation = Quaternion(-0.586464, 0.00520753, 0.107589, 0.802781) +bones/102/rotation = Quaternion(-0.57892, 0.00928583, 0.112605, 0.807518) +bones/106/rotation = Quaternion(-0.665278, -0.00405746, 0.107818, 0.738759) +bones/112/rotation = Quaternion(0.014934, 0.940476, 0.339314, -0.012129) +bones/122/position = Vector3(3.16409, -0.196741, 0.386252) +bones/122/rotation = Quaternion(0.993191, -0.00680711, 0.0811604, -0.0833019) +bones/126/position = Vector3(-3.16409, -0.22219, 0.399789) +bones/126/rotation = Quaternion(0.993217, 0.0067809, -0.0811626, -0.0829811) [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.000186056, -4.36082e-05, -0.000186026, 1, -0.000212818, 4.36157e-05, 0.000212759, 1, -0.000204086, -0.0035755, -0.00139439) +transform = Transform3D(0.999997, 0.00047788, 0.00222545, -0.000536561, 0.999651, 0.0264606, -0.00221203, -0.0264618, 0.999648, -0.00936747, -0.012393, 0.0335553) [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.000232369, -2.46316e-05, -0.000232413, 1, -0.000207573, 2.46689e-05, 0.000207603, 1, -0.00026536, -0.00347537, -0.00131756) +transform = Transform3D(0.999997, 0.000746742, 0.00242103, -0.000811026, 0.999643, 0.0266895, -0.00240017, -0.0266914, 0.999641, -0.00979924, -0.0123514, 0.0335485) [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.00014665, -1.6734e-05, -0.000146592, 1, -3.09199e-05, 1.68085e-05, 3.09497e-05, 1, -0.000187874, -0.00386566, -0.00111908) +transform = Transform3D(0.999999, -0.00026568, 0.00107867, 0.000266802, 1, -0.000988588, -0.0010784, 0.000988841, 0.999999, -0.00766826, 0.00749779, 0.00183645) [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.000595048, -0.00270267, 0.00059402, 1, -0.000356274, 0.00270302, 0.000354651, 0.999997, 0.00369477, -0.00539285, -0.00985599) +transform = Transform3D(0.999998, -0.000375986, 0.00157147, 0.000324175, 0.99946, 0.0328674, -0.00158292, -0.032867, 0.999459, -0.00743032, -0.0293947, 0.0087142) [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.000137359, 5.75408e-05, -0.000137307, 1, 0.000359356, -5.73993e-05, -0.000359297, 1, -0.000217915, -0.00404632, -0.000964642) +transform = Transform3D(0.999998, -0.000281952, 0.0019883, 0.00026606, 0.999968, 0.00801799, -0.00199046, -0.00801751, 0.999966, -0.00801682, 0.00402331, 0.00288939) [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.8445e-05, -8.91746e-05, -3.81917e-05, 0.999998, 0.00189852, 8.93176e-05, -0.00189839, 0.999998, 0.000671387, -0.0173833, -0.00220251) +transform = Transform3D(0.999999, -0.00123063, -0.00093708, 0.00127544, 0.998777, 0.04942, 0.000875158, -0.0494212, 0.998778, 0.00687122, -0.303178, -0.0129919) [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.000231966, 8.26009e-05, -0.000231981, 1, 0.00119868, -8.22134e-05, -0.00119877, 0.999999, -0.000468493, -0.0037694, 0.00166178) +transform = Transform3D(0.999997, 0.000837788, 0.00222387, -0.000903979, 0.999552, 0.0299298, -0.00219773, -0.0299318, 0.99955, -0.0103936, -0.00480819, 0.0628154) [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.000231966, 8.26009e-05, -0.000231981, 1, 0.00119868, -8.22134e-05, -0.00119877, 0.999999, -0.000468493, -0.0037694, 0.00166178) +transform = Transform3D(0.999997, 0.000837788, 0.00222387, -0.000903979, 0.999552, 0.0299298, -0.00219773, -0.0299318, 0.99955, -0.0103936, -0.00480819, 0.0628154) [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.000165671, 6.52373e-05, -0.000165723, 0.999998, 0.00192001, -6.4835e-05, -0.00191998, 0.999998, -0.000274658, -0.00604719, -0.000548601) +transform = Transform3D(0.999999, -0.000397548, 0.00169489, 0.000331789, 0.999253, 0.0386282, -0.00170892, -0.0386276, 0.999252, -0.00759244, -0.0365103, 0.0118284) [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, 8.10027e-05, 0.000137225, -8.05333e-05, 0.999996, -0.00283206, -0.000137366, 0.00283203, 0.999996, -0.000370264, 0.00407976, -0.0038352) +transform = Transform3D(0.999996, -0.000182174, 0.00265846, 0.000325993, 0.99853, -0.0541932, -0.00264463, 0.0541937, 0.998527, -0.00985408, 0.167066, -0.0524082) [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.34116e-05, -6.40275e-05, -2.31713e-05, 0.999996, 0.00279439, 6.41533e-05, -0.00279422, 0.999996, 0.000399351, -0.0220892, -0.00766373) +transform = Transform3D(1, -5.5356e-05, -0.000640903, 8.62107e-05, 0.998836, 0.0482275, 0.000637517, -0.0482274, 0.998836, 0.00415993, -0.296059, -0.129756) [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, -1.20516e-06, -6.14216e-05, 1.33712e-06, 1, 0.00123286, 6.14844e-05, -0.0012328, 1, 0.000397205, -0.0135083, -0.00840282) +transform = Transform3D(1, -0.000264801, -0.000533924, 0.000278508, 0.999667, 0.0258118, 0.000526943, -0.0258119, 0.999667, 0.00366426, -0.172738, -0.144453) [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.00555205, -0.00924301) +transform = Transform3D(1, -1.77636e-15, 0, -1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, -0.00573188, -0.166525) [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, -4.54027e-08, -4.54081e-07, 4.55853e-08, 1, 0.000427753, 4.53948e-07, -0.000427723, 1, 4.52995e-06, -0.00888753, -0.00951099) +transform = Transform3D(1, 1.86441e-08, -2.40101e-07, -1.85771e-08, 1, 0.000350207, 2.39951e-07, -0.000350178, 1, 2.26498e-06, -0.00781298, -0.166438) [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, 4.64536e-08, 4.55535e-07, -4.66476e-08, 1, 0.000427753, -4.55461e-07, -0.000427723, 1, -4.64916e-06, -0.00888777, -0.00951195) +transform = Transform3D(1, -1.75961e-08, 2.41497e-07, 1.75054e-08, 1, 0.000350237, -2.41464e-07, -0.000350177, 1, -2.38419e-06, -0.00781322, -0.166438) [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, 0.000306189, 3.41061e-13, -0.000306189, 1, -9.09154e-13, -0.00753492, -0.00924492) +transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, 0.000389606, 3.41061e-13, -0.000389606, 1, -9.09154e-13, -0.00825471, -0.166527) [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 @@ -115,58 +119,58 @@ transform = Transform3D(1, 6.97955e-19, 1.77636e-13, 0, -4.37112e-08, -1, -1.355 visible = false [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, 0.000306189, 3.41061e-13, -0.000306189, 1, -9.09154e-13, -0.00753492, -0.00924492) +transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, 0.000389606, 3.41061e-13, -0.000389606, 1, -9.09154e-13, -0.00825471, -0.166527) [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.08713e-10, -1.01801e-08, -1.07036e-10, 1, 0.000306816, 1.02295e-08, -0.000306816, 1, -2.38419e-07, -0.00753975, -0.00924301) +transform = Transform3D(1, 1.08713e-10, -1.01801e-08, -1.06155e-10, 1, 0.000390231, 1.01971e-08, -0.000390231, 1, -2.38419e-07, -0.00825906, -0.166526) [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.08713e-10, 1.01801e-08, 1.07036e-10, 1, 0.000306816, -1.02295e-08, -0.000306816, 1, 2.38419e-07, -0.00753975, -0.00924301) +transform = Transform3D(1, -1.08713e-10, 1.01801e-08, 1.06155e-10, 1, 0.000390231, -1.01971e-08, -0.000390231, 1, 2.38419e-07, -0.00825906, -0.166526) [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.63915e-23, -2.0192e-27, 2.63915e-23, 1, 0.000307099, -6.0856e-27, -0.000307099, 1, -1.16428e-18, -0.00753967, -0.00924253) +transform = Transform3D(1, -2.63915e-23, -2.56793e-27, 2.63915e-23, 1, 0.000390514, -7.73832e-27, -0.000390514, 1, -1.16428e-18, -0.00825938, -0.166524) [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.63915e-23, -2.0192e-27, 2.63915e-23, 1, 0.000307099, -6.0856e-27, -0.000307099, 1, -1.16428e-18, -0.00753967, -0.00924253) +transform = Transform3D(1, -2.63915e-23, -2.56793e-27, 2.63915e-23, 1, 0.000390514, -7.73832e-27, -0.000390514, 1, -1.16428e-18, -0.00825938, -0.166524) [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.000337034, -7.37011e-05, 0.000337437, 0.999987, 0.00521564, 7.19726e-05, -0.00521579, 0.999986, 0.000430346, -0.0190739, 0.0150689) +transform = Transform3D(0.999997, -0.00060311, -0.00231797, 0.000685751, 0.999359, 0.0358278, 0.00229488, -0.0358293, 0.999355, 0.00960994, -0.0478029, 0.0553697) [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.000426441, -0.000104778, 0.000426948, 0.999987, 0.00527084, 0.000102617, -0.00527102, 0.999986, 0.000544548, -0.0189729, 0.0151473) +transform = Transform3D(0.999996, -0.000931188, -0.00250051, 0.00102106, 0.999347, 0.0361381, 0.00246527, -0.0361404, 0.999344, 0.0100894, -0.0477588, 0.0553519) [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.000182841, 2.14726e-05, 0.000182871, 1, 0.000306442, -2.14577e-05, -0.000306547, 1, 0.000195742, -0.0155056, 0.00982112) +transform = Transform3D(0.999999, 0.000271907, -0.00109275, -0.000272237, 1, -0.000341102, 0.00109269, 0.00034143, 0.999999, 0.00771308, -0.0214229, 0.0144462) [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.999997, 0.000501141, 0.00264733, -0.000516564, 0.999982, 0.0060182, -0.00264452, -0.00601978, 0.999978, -0.0036819, -0.0232629, 0.00202656) +transform = Transform3D(0.999999, 0.000332355, -0.00161714, -0.000264615, 0.999147, 0.041296, 0.00162913, -0.0412959, 0.999146, 0.0074718, -0.064174, 0.0217128) [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.000207029, -0.000137232, 0.000207402, 0.999997, 0.00251791, 0.00013677, -0.00251794, 0.999997, 0.000250816, -0.0162811, 0.00986934) +transform = Transform3D(0.999998, 0.000244789, -0.00204789, -0.000217736, 0.999913, 0.0131872, 0.00205098, -0.0131867, 0.999911, 0.00806952, -0.0264801, 0.0147405) [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, 6.18398e-05, 0.000364544, -6.7994e-05, 0.999855, 0.0170098, -0.000363366, -0.0170099, 0.999855, -0.00233698, -0.0942058, 0.0131578) +transform = Transform3D(0.999999, 0.00130588, 0.00107071, -0.00137174, 0.997943, 0.0640962, -0.000984771, -0.0640976, 0.997943, -0.00776935, -0.3817, 0.00567007) [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.000337288, -0.000169437, 0.000338137, 0.999989, 0.00472566, 0.000167899, -0.00472584, 0.999989, 0.000578642, -0.0171344, 0.0157561) +transform = Transform3D(0.999997, -0.000946686, -0.00227657, 0.00103417, 0.99925, 0.0387163, 0.00223823, -0.0387187, 0.999247, 0.0105417, -0.0407319, 0.0812488) [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.000391558, -0.000166439, 0.000392377, 0.999989, 0.00475752, 0.000164662, -0.00475776, 0.999989, 0.000643015, -0.017229, 0.0156424) +transform = Transform3D(0.999996, -0.0016517, -0.00233378, 0.00174151, 0.999238, 0.039001, 0.00226765, -0.0390051, 0.999237, 0.0116127, -0.0406003, 0.0801003) [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.000211217, -0.000121087, 0.000211909, 0.999986, 0.00529709, 0.000120029, -0.00529712, 0.999986, 0.000233889, -0.0197773, 0.0104101) +transform = Transform3D(0.999998, 0.000364296, -0.00175018, -0.000285178, 0.998989, 0.0449672, 0.00176484, -0.0449667, 0.998987, 0.00763869, -0.0683826, 0.0242805) [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, -0.000128545, -0.000218898, 0.00012777, 0.999993, -0.00366533, 0.000219434, 0.00366515, 0.999993, 0.00038743, -0.000445306, 0.0040679) +transform = Transform3D(0.999996, 0.000145666, -0.00273106, -0.000286497, 0.998666, -0.0516452, 0.00271995, 0.0516458, 0.998662, 0.00994039, 0.143167, -0.0435786) [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, 9.45665e-05, 0.000620385, -0.000104401, 0.999874, 0.0159029, -0.000618725, -0.0159029, 0.999873, -0.00365782, -0.0985346, -0.00122309) +transform = Transform3D(1, 0.000129065, 0.000948059, -0.000186285, 0.998159, 0.0606452, -0.00093846, -0.0606452, 0.998159, -0.00597835, -0.370482, -0.118698) [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, 3.34578e-06, 0.000190366, -4.27566e-06, 0.999988, 0.00500894, -0.000190273, -0.00500888, 0.999988, -0.00123096, -0.0378513, -0.00557375) +transform = Transform3D(1, 0.000256736, 0.000626468, -0.000276647, 0.999487, 0.0320471, -0.000617891, -0.0320472, 0.999486, -0.00425482, -0.21278, -0.138362) [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.00555205, -0.00924301) +transform = Transform3D(1, 1.77636e-15, 0, 1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, -0.00573188, -0.166525) [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) @@ -181,6 +185,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) size = Vector3(10, 1, 10) +[node name="BoostCooldownTimer" type="Timer" parent="."] +wait_time = 2.0 +one_shot = true + [connection signal="stomp" from="Mesh/Mech" to="." method="_on_mech_stomp"] [editable path="Mesh/Mech"] diff --git a/src/npc/mech_enemy/ai/actions/boost_toward_target_action.gd b/src/npc/mech_enemy/ai/actions/boost_toward_target_action.gd new file mode 100644 index 0000000..7cae393 --- /dev/null +++ b/src/npc/mech_enemy/ai/actions/boost_toward_target_action.gd @@ -0,0 +1,9 @@ +extends ActionLeaf + + +func tick(actor: Node, _blackboard: Blackboard) -> int: + var mech: MechEnemy = actor as MechEnemy + if mech.boost_ready(): + mech.boost((mech.global_position - mech.target_position).normalized()) + return SUCCESS + return FAILURE diff --git a/src/npc/mech_enemy/ai/actions/move_to_point_action.gd b/src/npc/mech_enemy/ai/actions/move_to_point_action.gd new file mode 100644 index 0000000..e076da8 --- /dev/null +++ b/src/npc/mech_enemy/ai/actions/move_to_point_action.gd @@ -0,0 +1,8 @@ +extends ActionLeaf + + +func tick(actor: Node, _blackboard: Blackboard) -> int: + if (actor as MechEnemy).nav_agent.is_target_reached(): + return SUCCESS + + return RUNNING diff --git a/src/npc/mech_enemy/ai/actions/move_to_point_action.tscn b/src/npc/mech_enemy/ai/actions/move_to_point_action.tscn new file mode 100644 index 0000000..2192a95 --- /dev/null +++ b/src/npc/mech_enemy/ai/actions/move_to_point_action.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://djfa3xgx8tt6e"] + +[ext_resource type="Script" path="res://src/npc/mech_enemy/ai/actions/move_to_point_action.gd" id="1_hh0vs"] + +[node name="MoveToPointAction" type="Node"] +script = ExtResource("1_hh0vs") diff --git a/src/npc/mech_enemy/ai/actions/set_patrol_point_action.gd b/src/npc/mech_enemy/ai/actions/set_patrol_point_action.gd new file mode 100644 index 0000000..9fc9158 --- /dev/null +++ b/src/npc/mech_enemy/ai/actions/set_patrol_point_action.gd @@ -0,0 +1,13 @@ +extends ActionLeaf + +@export var patrol_point_group_name: String = "PatrolMarkers" + + +func tick(actor: Node, _blackboard: Blackboard) -> int: + var patrol_points: Array[Node] = get_tree().get_nodes_in_group(patrol_point_group_name) + if len(patrol_points) == 0: + return FAILURE + + (actor as MechEnemy).target_position = (patrol_points.pick_random() as Node3D).global_position + + return SUCCESS diff --git a/src/npc/mech_enemy/ai/actions/set_patrol_point_action.tscn b/src/npc/mech_enemy/ai/actions/set_patrol_point_action.tscn new file mode 100644 index 0000000..0cfdb4c --- /dev/null +++ b/src/npc/mech_enemy/ai/actions/set_patrol_point_action.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://b7lild0ljbbae"] + +[ext_resource type="Script" path="res://src/npc/mech_enemy/ai/actions/set_patrol_point_action.gd" id="1_jxplo"] + +[node name="SetPatrolPointAction" type="Node"] +script = ExtResource("1_jxplo") diff --git a/src/npc/mech_enemy/ai/conditions/target_detected_condition.gd b/src/npc/mech_enemy/ai/conditions/target_detected_condition.gd new file mode 100644 index 0000000..f26c9fd --- /dev/null +++ b/src/npc/mech_enemy/ai/conditions/target_detected_condition.gd @@ -0,0 +1,5 @@ +extends ConditionLeaf + + +func tick(actor: Node, _blackboard: Blackboard) -> int: + return SUCCESS if (actor as MechEnemy).target_detected else FAILURE diff --git a/src/npc/mech_enemy/ai/conditions/target_detected_condition.tscn b/src/npc/mech_enemy/ai/conditions/target_detected_condition.tscn new file mode 100644 index 0000000..2bdea3c --- /dev/null +++ b/src/npc/mech_enemy/ai/conditions/target_detected_condition.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bspqtkxrkg5u8"] + +[ext_resource type="Script" path="res://src/npc/mech_enemy/ai/conditions/target_detected_condition.gd" id="1_yb8ih"] + +[node name="TargetDetectedCondition" type="Node"] +script = ExtResource("1_yb8ih") diff --git a/src/npc/mech_enemy/ai/conditions/target_in_range_condition.gd b/src/npc/mech_enemy/ai/conditions/target_in_range_condition.gd new file mode 100644 index 0000000..bc6b711 --- /dev/null +++ b/src/npc/mech_enemy/ai/conditions/target_in_range_condition.gd @@ -0,0 +1,8 @@ +extends ConditionLeaf + +@export var max_distance: float = 1.0 + + +func tick(actor: Node, _blackboard: Blackboard) -> int: + var mech: MechEnemy = actor as MechEnemy + return SUCCESS if mech.nav_agent.distance_to_target() <= max_distance else FAILURE diff --git a/src/npc/mech_enemy/ai/conditions/target_in_range_condition.tscn b/src/npc/mech_enemy/ai/conditions/target_in_range_condition.tscn new file mode 100644 index 0000000..abe31c4 --- /dev/null +++ b/src/npc/mech_enemy/ai/conditions/target_in_range_condition.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bmfn0xt6430vf"] + +[ext_resource type="Script" path="res://src/npc/mech_enemy/ai/conditions/target_in_range_condition.gd" id="1_wvvqt"] + +[node name="TargetInRangeCondition" type="Node"] +script = ExtResource("1_wvvqt") diff --git a/src/npc/mech_enemy/mech_enemy.gd b/src/npc/mech_enemy/mech_enemy.gd index 42978fb..72d1e23 100644 --- a/src/npc/mech_enemy/mech_enemy.gd +++ b/src/npc/mech_enemy/mech_enemy.gd @@ -61,7 +61,7 @@ func deal_structure(delta: int) -> void: func _physics_process(delta: float) -> void: var delta_factor: float = delta * GameState.TARGET_FPS - if target and not target.in_shadow(): + if target and target_detected and not target.in_shadow(): target_position = target.global_position var relative_target: Vector3 = target_position - global_position @@ -79,7 +79,6 @@ func _physics_process(delta: float) -> void: if movement: # Slowly turn mesh towards camera vector when moving on ground if is_on_floor(): - var local_target: Vector3 = global_position - target_position mesh.global_rotation.y = lerp_angle( mesh.global_rotation.y, angle_to_target, delta_factor * TURN_SENSITIVITY ) diff --git a/src/npc/mech_enemy/mech_enemy.tscn b/src/npc/mech_enemy/mech_enemy.tscn index 86ce414..1cc832e 100644 --- a/src/npc/mech_enemy/mech_enemy.tscn +++ b/src/npc/mech_enemy/mech_enemy.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=3 uid="uid://bv8ifwo8yn6h0"] +[gd_scene load_steps=16 format=3 uid="uid://bv8ifwo8yn6h0"] [ext_resource type="PackedScene" uid="uid://b4lueyrglqwou" path="res://src/npc/mech_character/mech_character.tscn" id="1_yyy7d"] [ext_resource type="Script" path="res://src/npc/mech_enemy/mech_enemy.gd" id="2_35sm4"] @@ -9,6 +9,12 @@ [ext_resource type="PackedScene" uid="uid://c52a5lp5n0s74" path="res://src/npc/mech_enemy/ai/conditions/high_damage_condition.tscn" id="6_0148b"] [ext_resource type="PackedScene" uid="uid://4apdn31ema4q" path="res://src/npc/mech_enemy/ai/conditions/high_heat_condition.tscn" id="7_3vm24"] [ext_resource type="Script" path="res://addons/beehave/blackboard.gd" id="7_wucls"] +[ext_resource type="PackedScene" uid="uid://bspqtkxrkg5u8" path="res://src/npc/mech_enemy/ai/conditions/target_detected_condition.tscn" id="9_g7qpy"] +[ext_resource type="Script" path="res://addons/beehave/nodes/decorators/inverter.gd" id="10_jvqio"] +[ext_resource type="PackedScene" uid="uid://b7lild0ljbbae" path="res://src/npc/mech_enemy/ai/actions/set_patrol_point_action.tscn" id="10_r140b"] +[ext_resource type="PackedScene" uid="uid://djfa3xgx8tt6e" path="res://src/npc/mech_enemy/ai/actions/move_to_point_action.tscn" id="11_cpbgo"] +[ext_resource type="PackedScene" uid="uid://bmfn0xt6430vf" path="res://src/npc/mech_enemy/ai/conditions/target_in_range_condition.tscn" id="11_rxav1"] +[ext_resource type="Script" path="res://src/npc/mech_enemy/ai/actions/boost_toward_target_action.gd" id="12_ec6ul"] [node name="MechEnemy" instance=ExtResource("1_yyy7d")] script = ExtResource("2_35sm4") @@ -17,86 +23,86 @@ max_damage = 100.0 max_structure = 5 [node name="Skeleton3D" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5" index="0"] -bones/1/position = Vector3(-1.16428e-18, -0.00548398, 6.46299) -bones/3/rotation = Quaternion(0.655454, 0.674914, 0.236288, 0.24298) -bones/4/rotation = Quaternion(0.700217, 0.0562883, 0.0723842, 0.708017) -bones/5/rotation = Quaternion(-0.621259, -0.00138961, -0.101327, 0.777025) -bones/6/rotation = Quaternion(-0.436104, 0.0113957, -0.0629776, 0.897618) -bones/7/rotation = Quaternion(-0.840004, 0.0366343, -0.173697, 0.51272) -bones/11/rotation = Quaternion(-0.836401, 0.0432738, -0.169129, 0.519572) -bones/17/rotation = Quaternion(0.751876, 0.0103594, 0.659107, 0.012393) -bones/23/rotation = Quaternion(0.89825, 0.00338339, 0.148314, 0.413688) -bones/27/rotation = Quaternion(-0.552781, -0.00573321, -0.102814, 0.82694) -bones/33/rotation = Quaternion(-0.544919, -0.00987465, -0.107867, 0.831463) -bones/35/rotation = Quaternion(-0.632527, 0.00367087, -0.102818, 0.767675) -bones/41/rotation = Quaternion(-0.0146401, 0.937473, 0.34754, 0.0120864) -bones/49/rotation = Quaternion(-4.90208e-05, 6.57828e-24, -4.9482e-31, 1) -bones/51/rotation = Quaternion(0.595646, -0.000239312, 0.000322152, 0.803247) -bones/55/rotation = Quaternion(0.595646, 0.000238546, -0.000321583, 0.803247) -bones/74/rotation = Quaternion(-0.655616, 0.674988, 0.235949, -0.242667) -bones/75/rotation = Quaternion(0.698596, -0.0563684, -0.0721985, 0.709629) -bones/76/rotation = Quaternion(-0.620165, 0.0014209, 0.101181, 0.777917) -bones/77/rotation = Quaternion(-0.43574, -0.0113594, 0.0628945, 0.897801) -bones/78/rotation = Quaternion(-0.839592, -0.0367239, 0.173575, 0.513428) -bones/82/rotation = Quaternion(-0.835975, -0.0433745, 0.168999, 0.520292) -bones/88/rotation = Quaternion(0.751899, -0.00877892, -0.659144, 0.0100003) -bones/94/rotation = Quaternion(0.901538, -0.00357583, -0.148773, 0.406305) -bones/98/rotation = Quaternion(-0.551706, 0.00580058, 0.102707, 0.82767) -bones/102/rotation = Quaternion(-0.543827, 0.00994599, 0.107764, 0.83219) -bones/106/rotation = Quaternion(-0.631034, -0.00359582, 0.102642, 0.768927) -bones/112/rotation = Quaternion(0.0147727, 0.935833, 0.351927, -0.0120571) -bones/122/position = Vector3(3.16409, -0.205008, 0.396174) -bones/122/rotation = Quaternion(0.993205, -0.00679277, 0.0811616, -0.0831264) -bones/126/position = Vector3(-3.16409, -0.205948, 0.385857) -bones/126/rotation = Quaternion(0.993203, 0.00679524, -0.0811614, -0.0831566) +bones/1/position = Vector3(-1.16428e-18, -0.00737097, 6.39956) +bones/3/rotation = Quaternion(0.65493, 0.674443, 0.237606, 0.244412) +bones/4/rotation = Quaternion(0.708748, 0.0555481, 0.073226, 0.699449) +bones/5/rotation = Quaternion(-0.628785, -0.00131472, -0.102425, 0.770802) +bones/6/rotation = Quaternion(-0.435702, 0.0114982, -0.0629892, 0.897811) +bones/7/rotation = Quaternion(-0.842498, 0.036185, -0.174397, 0.508403) +bones/11/rotation = Quaternion(-0.838955, 0.0427867, -0.169886, 0.51523) +bones/17/rotation = Quaternion(0.751603, 0.0147348, 0.65924, 0.0166664) +bones/23/rotation = Quaternion(0.894403, 0.00362383, 0.147559, 0.422205) +bones/27/rotation = Quaternion(-0.563945, -0.00560425, -0.104406, 0.819167) +bones/33/rotation = Quaternion(-0.556189, -0.00971274, -0.109433, 0.823762) +bones/35/rotation = Quaternion(-0.643708, 0.00374925, -0.104549, 0.758087) +bones/41/rotation = Quaternion(-0.0148514, 0.936937, 0.348974, 0.0120553) +bones/49/rotation = Quaternion(6.02916e-05, 6.57828e-24, -4.9429e-31, 1) +bones/51/rotation = Quaternion(0.595804, -0.000239626, 0.000322571, 0.80313) +bones/55/rotation = Quaternion(0.595804, 0.00023886, -0.000322002, 0.803129) +bones/74/rotation = Quaternion(-0.654111, 0.673567, 0.239901, -0.246766) +bones/75/rotation = Quaternion(0.708347, -0.0555735, -0.0731809, 0.699858) +bones/76/rotation = Quaternion(-0.628454, 0.00132008, 0.102377, 0.771079) +bones/77/rotation = Quaternion(-0.433027, -0.0115074, 0.0626023, 0.899131) +bones/78/rotation = Quaternion(-0.844678, -0.0360637, 0.174831, 0.504632) +bones/82/rotation = Quaternion(-0.841156, -0.0426971, 0.170304, 0.511498) +bones/88/rotation = Quaternion(0.751646, -0.0142645, -0.65922, 0.0159582) +bones/94/rotation = Quaternion(0.895038, -0.00361148, -0.147671, 0.420818) +bones/98/rotation = Quaternion(-0.564942, 0.00560456, 0.104574, 0.818458) +bones/102/rotation = Quaternion(-0.557178, 0.00972978, 0.109625, 0.823068) +bones/106/rotation = Quaternion(-0.643226, -0.00374186, 0.104476, 0.758506) +bones/112/rotation = Quaternion(0.0148518, 0.936801, 0.349338, -0.0120556) +bones/122/position = Vector3(3.16409, -0.186904, 0.386734) +bones/122/rotation = Quaternion(0.993178, -0.00681973, 0.0811594, -0.0834543) +bones/126/position = Vector3(-3.16409, -0.226805, 0.384839) +bones/126/rotation = Quaternion(0.99323, 0.00676835, -0.0811626, -0.0828287) [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.000366807, 2.05934e-05, -0.000366867, 0.999998, 0.00226295, -1.97366e-05, -0.0022631, 0.999997, -0.000149488, -0.00259489, 0.0097698) +transform = Transform3D(1, 0.000155792, 0.000818267, -0.000164792, 0.99994, 0.0109936, -0.000816539, -0.0109937, 0.99994, -0.00336409, 0.0119573, 0.00608975) [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.00042659, 4.53144e-05, -0.00042668, 0.999997, 0.00228962, -4.42788e-05, -0.00228962, 0.999997, -0.00022912, -0.00251859, 0.00980991) +transform = Transform3D(0.999999, 0.000282466, 0.000933528, -0.000292912, 0.999938, 0.0111384, -0.000930332, -0.0111387, 0.999937, -0.00358605, 0.0119339, 0.00615698) [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.000263415, -6.15865e-05, -0.000263372, 1, 5.90235e-05, 6.16312e-05, -5.90831e-05, 1, 2.24113e-05, -0.00110804, 0.00727803) +transform = Transform3D(1, -0.00022427, 0.000229686, 0.000224534, 0.999999, -0.00130238, -0.000229388, 0.00130242, 0.999999, -0.002491, 0.0208618, -0.00831503) [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.999996, -0.000437811, -0.0024657, 0.00045085, 0.999986, 0.00528823, 0.00246337, -0.0052894, 0.999983, 0.00360441, -0.0103261, 0.0010494) +transform = Transform3D(0.999999, -0.000156343, 0.000578009, 0.000146523, 0.999859, 0.0167707, -0.000580519, -0.0167707, 0.999859, -0.00257897, -0.00222421, -0.00277615) [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.000255086, 0.000106744, -0.000255048, 1, 0.000115722, -0.0001067, -0.000115842, 1, -4.33922e-05, -0.00115705, 0.00779843) +transform = Transform3D(1, -0.000231422, 0.000641853, 0.000231631, 1, -0.000362486, -0.000641752, 0.000362664, 1, -0.00264978, 0.0204766, -0.00720358) [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, -1.99676e-06, -0.000884914, 1.54376e-05, 0.999885, 0.0151309, 0.000884824, -0.0151308, 0.999885, 0.00472069, -0.0811781, 0.00971508) +transform = Transform3D(1, -0.000622153, -0.000105366, 0.000623524, 0.999905, 0.0137556, 9.68478e-05, -0.0137557, 0.999906, 0.00145149, -0.0932155, -0.0151491) [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.000408098, 0.000196937, -0.000408262, 1, 0.00100681, -0.000196442, -0.00100693, 0.999999, -0.000513077, 0.000714779, 0.0119662) +transform = Transform3D(1, 0.000245988, 0.000746131, -0.000252172, 0.999966, 0.00826657, -0.000744, -0.00826684, 0.999966, -0.00368881, 0.0176232, 0.0165901) [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.000408098, 0.000196937, -0.000408262, 1, 0.00100681, -0.000196442, -0.00100693, 0.999999, -0.000513077, 0.000714779, 0.0119662) +transform = Transform3D(1, 0.000245988, 0.000746131, -0.000252172, 0.999966, 0.00826657, -0.000744, -0.00826684, 0.999966, -0.00368881, 0.0176232, 0.0165901) [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.000319168, 0.000165008, -0.00031957, 0.999996, 0.00276285, -0.000164039, -0.00276306, 0.999996, -0.000227213, -0.00423235, 0.00849771) +transform = Transform3D(1, -0.000263996, 0.000522628, 0.000257522, 0.999924, 0.0122882, -0.000525795, -0.0122882, 0.999924, -0.0024817, 0.00349981, -0.00409102) [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, 0.000179678, 0.000173874, -0.00017859, 0.999982, -0.00593421, -0.00017488, 0.00593403, 0.999982, -0.000144243, 0.014356, 0.00211859) +transform = Transform3D(1, -0.000232629, 0.000924058, 0.00025662, 0.99966, -0.0260633, -0.000917643, 0.0260634, 0.99966, -0.00338316, 0.0875829, -0.0306916) [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, -7.80206e-05, -0.000664386, 8.72798e-05, 0.999904, 0.0138613, 0.00066328, -0.0138612, 0.999904, 0.00389671, -0.0850753, -0.00328875) +transform = Transform3D(1, -3.0404e-05, -0.000263877, 3.4336e-05, 0.999888, 0.0149443, 0.000263398, -0.0149441, 0.999888, 0.00175023, -0.0965071, -0.0633097) [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, 2.15863e-06, -0.000195653, -1.57078e-06, 0.999997, 0.00275418, 0.000195703, -0.00275412, 0.999997, 0.00125957, -0.0232361, -0.00749445) +transform = Transform3D(1, -0.00012851, -0.000250508, 0.000130224, 0.999977, 0.00689033, 0.000249629, -0.00689036, 0.999977, 0.00172281, -0.0521848, -0.0675058) [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.00548398, -0.0092063) +transform = Transform3D(1, -1.77636e-15, 0, -1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, -0.00737095, -0.0726352) [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.12033e-08, -5.55226e-07, 7.1345e-08, 1, 0.000288308, 5.55125e-07, -0.000288278, 1, 5.72205e-06, -0.00824213, -0.0096283) +transform = Transform3D(1, 8.23325e-08, 4.91812e-07, -8.21973e-08, 1, -0.000323564, -4.92057e-07, 0.000323623, 1, -5.72205e-06, -0.00433135, -0.0721855) [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, 7.22939e-08, 5.5668e-07, -7.23875e-08, 1, 0.000288338, -5.56639e-07, -0.000288278, 1, -5.72205e-06, -0.00824261, -0.0096283) +transform = Transform3D(1, -8.13196e-08, -4.90474e-07, 8.11921e-08, 1, -0.000323653, 4.90427e-07, 0.000323683, 1, 5.72205e-06, -0.0043304, -0.0721874) [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.71556e-05, 3.41061e-13, -9.71556e-05, 1, -9.09154e-13, -0.00611383, -0.00920773) +transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -0.000121504, 3.41061e-13, 0.000121504, 1, -9.09154e-13, -0.00658566, -0.0726376) [node name="VisionCone" parent="Mesh/Mech/Sketchfab_model/bed584e06fe94e71a7ac484cee9f0a16_fbx/Object_2/RootNode/Armature/Object_5/Skeleton3D/Cube_005_Material_0" index="2" instance=ExtResource("3_m0nb6")] unique_name_in_owner = true @@ -104,61 +110,61 @@ transform = Transform3D(2, 6.81965e-13, 6.82114e-13, -6.82121e-13, 2, 0.00045645 body_offset = Vector3(0, 1, 0) [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.71556e-05, 3.41061e-13, -9.71556e-05, 1, -9.09154e-13, -0.00611383, -0.00920773) +transform = Transform3D(1, -1.7053e-13, -3.41061e-13, 2.84217e-13, 1, -0.000121504, 3.41061e-13, 0.000121504, 1, -9.09154e-13, -0.00658566, -0.0726376) [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.08713e-10, -1.01801e-08, -1.09139e-10, 1, 9.77588e-05, 1.02229e-08, -9.77588e-05, 1, -2.38419e-07, -0.00611806, -0.00920677) +transform = Transform3D(1, 1.08713e-10, -1.01801e-08, -1.11356e-10, 1, -0.000120866, 1.01552e-08, 0.000120866, 1, -2.38419e-07, -0.0065906, -0.0726357) [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.08713e-10, 1.01801e-08, 1.09139e-10, 1, 9.77588e-05, -1.02229e-08, -9.77588e-05, 1, 2.38419e-07, -0.00611806, -0.00920677) +transform = Transform3D(1, -1.08713e-10, 1.01801e-08, 1.11356e-10, 1, -0.000120866, -1.01552e-08, 0.000120866, 1, 2.38419e-07, -0.0065906, -0.0726357) [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.63915e-23, -6.43955e-28, 2.63915e-23, 1, 9.80415e-05, -1.9435e-27, -9.80415e-05, 1, -1.16428e-18, -0.00611853, -0.0092063) +transform = Transform3D(1, -2.63915e-23, 7.94219e-28, 2.63915e-23, 1, -0.000120583, 2.38815e-27, 0.000120583, 1, -1.16428e-18, -0.00659053, -0.0726352) [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.63915e-23, -6.43955e-28, 2.63915e-23, 1, 9.80415e-05, -1.9435e-27, -9.80415e-05, 1, -1.16428e-18, -0.00611853, -0.0092063) +transform = Transform3D(1, -2.63915e-23, 7.94219e-28, 2.63915e-23, 1, -0.000120583, 2.38815e-27, 0.000120583, 1, -1.16428e-18, -0.00659053, -0.0726352) [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.000213996, 7.52062e-05, 0.000213936, 1, 0.000540346, -7.53701e-05, -0.000540465, 1, 2.74181e-05, -0.0072121, -0.000125468) +transform = Transform3D(1, -0.000189334, -0.000649385, 0.000202939, 0.99978, 0.0210141, 0.00064528, -0.0210142, 0.999779, 0.0033772, -0.0400273, 0.0194136) [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.00025484, 6.99162e-05, 0.00025478, 1, 0.000528067, -7.00578e-05, -0.000528038, 1, 7.12872e-05, -0.00711453, -0.000101507) +transform = Transform3D(1, -0.000357419, -0.000677809, 0.00037168, 0.999778, 0.0211045, 0.00067015, -0.0211049, 0.999777, 0.0035677, -0.0399333, 0.0192958) [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.000173537, 4.3869e-05, 0.000173511, 1, -3.7998e-06, -4.3869e-05, 3.8296e-06, 1, 1.23978e-05, -0.00689647, -0.00055933) +transform = Transform3D(1, 0.00024862, -0.000234187, -0.000248626, 1, -3.7536e-05, 0.000234187, 3.75807e-05, 1, 0.00259018, -0.0241482, -0.00326276) [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.999997, 0.000563934, 0.00251968, -0.000564173, 1, 0.000318956, -0.00251989, -0.000320686, 0.999997, -0.0035789, -0.00881118, -0.0086931) +transform = Transform3D(1, 6.02305e-05, -0.000533313, -4.76986e-05, 0.999751, 0.0223479, 0.000534117, -0.0223483, 0.99975, 0.00263476, -0.0468614, 0.000568628) [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.00016696, -2.7664e-05, 0.000166975, 1, 0.000882626, 2.75001e-05, -0.000882506, 1, 4.02927e-05, -0.00725931, -0.000515461) +transform = Transform3D(1, 0.000209011, -0.000638895, -0.0002046, 0.999976, 0.00691694, 0.000640288, -0.00691688, 0.999976, 0.00273681, -0.0266933, -0.00339341) [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, -7.42376e-05, 0.000120408, 7.39545e-05, 0.999997, 0.00256438, -0.000120622, -0.00256424, 0.999997, -0.000832081, -0.0212579, -0.00168705) +transform = Transform3D(1, 0.000569806, 6.29928e-05, -0.000570863, 0.999822, 0.0188447, -5.22991e-05, -0.0188448, 0.999823, -0.00112629, -0.128846, -0.0112138) [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.000239775, -2.2199e-05, 0.000239819, 0.999998, 0.00200519, 2.16588e-05, -0.00200504, 0.999998, 0.000190735, -0.0076369, 0.00241756) +transform = Transform3D(1, -0.000284508, -0.000662066, 0.00029698, 0.999822, 0.0188813, 0.000656534, -0.0188816, 0.999821, 0.00362635, -0.0366096, 0.0245879) [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.000267908, -3.05474e-05, 0.000267968, 0.999998, 0.0020147, 3.00147e-05, -0.00201464, 0.999998, 0.000244141, -0.00767982, 0.0024128) +transform = Transform3D(1, -0.000566304, -0.000660688, 0.000578731, 0.99982, 0.0189723, 0.000649795, -0.0189727, 0.99982, 0.00400305, -0.0365208, 0.0240664) [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.000169717, -8.86619e-06, 0.000169754, 0.999997, 0.00245386, 8.42661e-06, -0.00245389, 0.999997, 1.97887e-05, -0.00935566, -0.000178337) +transform = Transform3D(1, 0.000240602, -0.00052359, -0.000230536, 0.999816, 0.0191489, 0.000528038, -0.0191488, 0.999816, 0.00257492, -0.0430996, -0.000270605) [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, -0.000118226, -9.96813e-05, 0.00011798, 0.999997, -0.00232857, 9.99346e-05, 0.00232863, 0.999997, 0.00018096, 0.000940979, -0.00343275) +transform = Transform3D(1, 0.000209577, -0.000912294, -0.000225879, 0.99984, -0.0179175, 0.00090836, 0.0179177, 0.999839, 0.00344825, 0.0379715, -0.0265832) [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, -1.09579e-05, 6.2417e-05, 1.07326e-05, 0.999994, 0.00352283, -6.24575e-05, -0.00352269, 0.999994, -0.000393152, -0.0265874, -0.00706863) +transform = Transform3D(1, 6.91973e-06, 0.000203398, -1.12224e-05, 0.999776, 0.021166, -0.000203237, -0.021166, 0.999776, -0.00135732, -0.137168, -0.0569439) [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, 1.69603e-06, 5.82481e-05, -1.801e-06, 0.999999, 0.00177467, -5.82537e-05, -0.00177461, 0.999999, -0.000377655, -0.0169333, -0.00789738) +transform = Transform3D(1, 0.000100655, 0.000210658, -0.000103562, 0.999904, 0.013889, -0.000209269, -0.013889, 0.999904, -0.00144291, -0.0971605, -0.0610619) [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.00548398, -0.0092063) +transform = Transform3D(1, 1.77636e-15, 0, 1.77636e-15, 1, -4.37113e-08, 0, 4.37113e-08, 1, 0, -0.00737095, -0.0726352) [node name="NavigationAgent3D" type="NavigationAgent3D" parent="." index="5"] -path_desired_distance = 2.0 +path_desired_distance = 2.5 target_desired_distance = 5.0 path_max_distance = 10.01 debug_enabled = true @@ -195,9 +201,42 @@ script = ExtResource("5_lfifb") [node name="HighHeatCondition" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/LowDamageHighHeatSequence" index="0" instance=ExtResource("7_3vm24")] -[node name="LowDamageLowHeatSequence" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector" index="1"] +[node name="TargetDetectedSelector" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector" index="1"] +script = ExtResource("4_x5xqh") + +[node name="EngageTargetSequence" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector" index="0"] script = ExtResource("5_lfifb") +[node name="TargetDetectedCondition" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence" index="0" instance=ExtResource("9_g7qpy")] + +[node name="EngagementRangeSelector" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence" index="1"] +script = ExtResource("4_x5xqh") + +[node name="ApproachTargetSequence" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector" index="0"] +script = ExtResource("5_lfifb") + +[node name="InverterDecorator" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector/ApproachTargetSequence" index="0"] +script = ExtResource("10_jvqio") + +[node name="TargetInRangeCondition" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector/ApproachTargetSequence/InverterDecorator" index="0" instance=ExtResource("11_rxav1")] +max_distance = 40.0 + +[node name="BoostTowardTargetAction" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector/ApproachTargetSequence" index="1"] +script = ExtResource("12_ec6ul") + +[node name="BackOffSequence" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector" index="1"] +script = ExtResource("5_lfifb") + +[node name="TargetInRangeCondition" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/EngageTargetSequence/EngagementRangeSelector/BackOffSequence" index="0" instance=ExtResource("11_rxav1")] +max_distance = 20.0 + +[node name="PatrolSequence" type="Node" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector" index="1"] +script = ExtResource("5_lfifb") + +[node name="SetPatrolPointAction" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/PatrolSequence" index="0" instance=ExtResource("10_r140b")] + +[node name="MoveToPointAction" parent="BeehaveTree/DamageStatusSelector/HeatStatusSelector/TargetDetectedSelector/PatrolSequence" index="1" instance=ExtResource("11_cpbgo")] + [node name="Blackboard" type="Node" parent="." index="7"] script = ExtResource("7_wucls") diff --git a/src/npc/vision_cone/vision_cone.tscn b/src/npc/vision_cone/vision_cone.tscn index be6a64f..910a694 100644 --- a/src/npc/vision_cone/vision_cone.tscn +++ b/src/npc/vision_cone/vision_cone.tscn @@ -19,7 +19,7 @@ radius = 20.0 script = ExtResource("1_02wyn") [node name="Area3D" type="Area3D" parent="."] -collision_layer = 0 +collision_layer = 8 collision_mask = 4 [node name="MeshInstance3D" type="MeshInstance3D" parent="Area3D"]