diff --git a/godot/.gdb_history b/godot/.gdb_history new file mode 100644 index 0000000..eafebe9 --- /dev/null +++ b/godot/.gdb_history @@ -0,0 +1,22 @@ +set args -e +r +set args +r +r +r +r +r +r +set args -e +r +set args +r +r +set args +set args -e +r +set args +r +set args -e +r +q diff --git a/godot/boot.tscn b/godot/boot.tscn index b7246b8..de79a00 100644 --- a/godot/boot.tscn +++ b/godot/boot.tscn @@ -1,11 +1,18 @@ -[gd_scene load_steps=3 format=3 uid="uid://c2kiuk2yxdlfr"] +[gd_scene load_steps=4 format=3 uid="uid://c2kiuk2yxdlfr"] [ext_resource type="PackedScene" uid="uid://1kr3qqan3trk" path="res://objects/player.tscn" id="1_7kr4i"] [ext_resource type="PackedScene" uid="uid://dm3355tbkvx24" path="res://objects/section_2.tscn" id="2_og5hb"] +[ext_resource type="PackedScene" uid="uid://0fykl1mw3c12" path="res://objects/enemy.tscn" id="3_ppe0x"] [node name="Boot" type="Node3D"] -[node name="Player" parent="." instance=ExtResource("1_7kr4i")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.156536, 2.63439, 1.64616) - [node name="Environment" parent="." instance=ExtResource("2_og5hb")] + +[node name="Enemy" parent="." instance=ExtResource("3_ppe0x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.321304, 0.548716, -10.4406) + +[node name="Enemy2" parent="." instance=ExtResource("3_ppe0x")] +transform = Transform3D(0.47095, 0, -0.88216, 0, 1, 0, 0.88216, 0, 0.47095, 8.63104, 0.487608, -15.5861) + +[node name="Player" parent="." instance=ExtResource("1_7kr4i")] +transform = Transform3D(0.0816776, 0, 0.996659, 0, 1, 0, -0.996659, 0, 0.0816776, -2.58966, 1.45175, -2.77265) diff --git a/godot/lighting/section_2.exr b/godot/lighting/section_2.exr index 28e0368..a4aee95 100644 Binary files a/godot/lighting/section_2.exr and b/godot/lighting/section_2.exr differ diff --git a/godot/lighting/section_2.exr.import b/godot/lighting/section_2.exr.import index b40ac03..f0f9948 100644 --- a/godot/lighting/section_2.exr.import +++ b/godot/lighting/section_2.exr.import @@ -23,4 +23,4 @@ compress/channel_pack=1 mipmaps/generate=false mipmaps/limit=-1 slices/horizontal=1 -slices/vertical=24 +slices/vertical=28 diff --git a/godot/lighting/section_2.lmbake b/godot/lighting/section_2.lmbake index 9591192..16d0272 100644 Binary files a/godot/lighting/section_2.lmbake and b/godot/lighting/section_2.lmbake differ diff --git a/godot/models/animations/Aim.res b/godot/models/animations/Aim.res index 2232154..c93c56c 100644 Binary files a/godot/models/animations/Aim.res and b/godot/models/animations/Aim.res differ diff --git a/godot/models/animations/Aim_Fire.res b/godot/models/animations/Aim_Fire.res index 8daaa27..60fcfca 100644 Binary files a/godot/models/animations/Aim_Fire.res and b/godot/models/animations/Aim_Fire.res differ diff --git a/godot/models/animations/Fall_die.res b/godot/models/animations/Fall_die.res new file mode 100644 index 0000000..168e4d8 Binary files /dev/null and b/godot/models/animations/Fall_die.res differ diff --git a/godot/models/animations/RESET.res b/godot/models/animations/RESET.res index bbdb77d..12e1b95 100644 Binary files a/godot/models/animations/RESET.res and b/godot/models/animations/RESET.res differ diff --git a/godot/models/animations/Run_forward.res b/godot/models/animations/Run_forward.res index 6b708df..417aea1 100644 Binary files a/godot/models/animations/Run_forward.res and b/godot/models/animations/Run_forward.res differ diff --git a/godot/models/animations/Turn_left.res b/godot/models/animations/Turn_left.res index 2d50392..b57683c 100644 Binary files a/godot/models/animations/Turn_left.res and b/godot/models/animations/Turn_left.res differ diff --git a/godot/models/animations/Turn_right.res b/godot/models/animations/Turn_right.res index 72bd4a2..7c95f2e 100644 Binary files a/godot/models/animations/Turn_right.res and b/godot/models/animations/Turn_right.res differ diff --git a/godot/models/animations/Walk_forward.res b/godot/models/animations/Walk_forward.res index 4eaf34c..28766c1 100644 Binary files a/godot/models/animations/Walk_forward.res and b/godot/models/animations/Walk_forward.res differ diff --git a/godot/models/animations/character_tree.tres b/godot/models/animations/character_tree.tres new file mode 100644 index 0000000..4bea190 --- /dev/null +++ b/godot/models/animations/character_tree.tres @@ -0,0 +1,215 @@ +[gd_resource type="AnimationNodeBlendTree" load_steps=39 format=3 uid="uid://c7rxfpfy7vt1b"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ukhqm"] +animation = &"Aim" +play_mode = 1 +use_custom_timeline = true +timeline_length = 0.4 +stretch_time_scale = false +start_offset = 0.0 +loop_mode = 0 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nhlru"] +animation = &"Aim" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8rbkq"] +animation = &"Aim_Fire" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ugv1e"] +animation = &"RESET" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ds004"] +animation = &"RESET" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_axx41"] +animation = &"Run_forward" +use_custom_timeline = true +timeline_length = 0.633 +stretch_time_scale = true +start_offset = 0.0 +loop_mode = 1 + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_aunq0"] +filter_enabled = true +filters = ["skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:Neck", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:spine.002", "skeleton_character/Skeleton3D:spine.003", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"] + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hmklb"] +graph_offset = Vector2(-813.273, 105.409) +nodes/Rest/node = SubResource("AnimationNodeAnimation_ds004") +nodes/Rest/position = Vector2(-160, 160) +nodes/Run/node = SubResource("AnimationNodeAnimation_axx41") +nodes/Run/position = Vector2(-160, 380) +nodes/Speed/node = SubResource("AnimationNodeBlend2_aunq0") +nodes/Speed/position = Vector2(80, 140) +nodes/output/position = Vector2(320, 140) +node_connections = [&"Speed", 0, &"Rest", &"Speed", 1, &"Run", &"output", 0, &"Speed"] + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4hmb8"] +filter_enabled = true +filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:Neck", "Character/Skeleton3D:PoleTarget.Foot.L", "Character/Skeleton3D:PoleTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:spine.003", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5n7ai"] +animation = &"RESET" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pwhry"] +animation = &"Turn_right" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rasdy"] +animation = &"Turn_left" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xgea8"] +animation = &"RESET" + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_kxn5j"] +blend_point_0/node = SubResource("AnimationNodeAnimation_pwhry") +blend_point_0/pos = -1.0 +blend_point_1/node = SubResource("AnimationNodeAnimation_rasdy") +blend_point_1/pos = 1.0 +blend_point_2/node = SubResource("AnimationNodeAnimation_xgea8") +blend_point_2/pos = 0.0 + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_p0hk7"] +graph_offset = Vector2(-480.5, 90) +nodes/BoneMask/node = SubResource("AnimationNodeBlend2_4hmb8") +nodes/BoneMask/position = Vector2(140, 140) +nodes/Rest/node = SubResource("AnimationNodeAnimation_5n7ai") +nodes/Rest/position = Vector2(-100, 160) +nodes/Turn/node = SubResource("AnimationNodeBlendSpace1D_kxn5j") +nodes/Turn/position = Vector2(-100, 380) +nodes/output/position = Vector2(380, 140) +node_connections = [&"BoneMask", 0, &"Rest", &"BoneMask", 1, &"Turn", &"output", 0, &"BoneMask"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7ceai"] +animation = &"RESET" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rb1jd"] +filter_enabled = true +filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R", "skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_psu0r"] +animation = &"Walk_forward" + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2mbyh"] +graph_offset = Vector2(-724.58, 74.5681) +nodes/Base/node = SubResource("AnimationNodeAnimation_7ceai") +nodes/Base/position = Vector2(-120, 120) +nodes/Speed/node = SubResource("AnimationNodeBlend2_rb1jd") +nodes/Speed/position = Vector2(100, 120) +nodes/Walk/node = SubResource("AnimationNodeAnimation_psu0r") +nodes/Walk/position = Vector2(-140, 300) +node_connections = [&"Speed", 0, &"Base", &"Speed", 1, &"Walk", &"output", 0, &"Speed"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4lybd"] +switch_mode = 2 +advance_mode = 2 +advance_expression = "!aim_weapon" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5aafd"] +xfade_time = 0.3 +switch_mode = 2 +advance_mode = 2 +advance_expression = "get_input_direction() > 0.f" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8f4gl"] +priority = 2 +switch_mode = 2 +advance_mode = 2 +advance_expression = "get_fire_weapon()" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xnat3"] +reset = false +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_12bos"] +advance_mode = 2 +advance_expression = "get_input_directions().y < -0.5" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n0ndr"] +priority = 2 +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0wc5e"] +xfade_time = 0.2 +priority = 2 +advance_mode = 2 +advance_expression = "!is_walking || walk_speed <= 0.0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4hisb"] +xfade_time = 0.2 +advance_mode = 2 +advance_expression = "is_walking && walk_speed > 0.0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmty6"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kyd6p"] +xfade_time = 0.05 +advance_mode = 2 +advance_expression = "aim_weapon" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w5kob"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g0i3x"] +xfade_time = 0.4 +advance_mode = 2 +advance_expression = "get_is_running() +" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ocffv"] +xfade_time = 0.3 +advance_mode = 2 +advance_expression = "get_is_running() +" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h0my5"] +xfade_time = 0.4 +advance_mode = 2 +advance_expression = "!get_is_running()" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nymcr"] +xfade_time = 0.3 +advance_mode = 2 +advance_expression = "!get_is_running()" + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_7smdg"] +"states/Aim Down [aim]/node" = SubResource("AnimationNodeAnimation_ukhqm") +"states/Aim Down [aim]/position" = Vector2(666.26, 226.767) +"states/Aim [aim] [turn]/node" = SubResource("AnimationNodeAnimation_nhlru") +"states/Aim [aim] [turn]/position" = Vector2(731.26, 94.3447) +states/End/position = Vector2(195.182, 94.3447) +"states/Fire [aim]/node" = SubResource("AnimationNodeAnimation_8rbkq") +"states/Fire [aim]/position" = Vector2(731.26, 14.954) +"states/RESET To Aim/node" = SubResource("AnimationNodeAnimation_ugv1e") +"states/RESET To Aim/position" = Vector2(566.993, 94.3447) +states/Run/node = SubResource("AnimationNodeBlendTree_hmklb") +states/Run/position = Vector2(297.422, 226.767) +states/Start/position = Vector2(383.995, 14.954) +"states/Stationary [turn]/node" = SubResource("AnimationNodeBlendTree_p0hk7") +"states/Stationary [turn]/position" = Vector2(383.995, 94.3447) +"states/Walk [turn]/node" = SubResource("AnimationNodeBlendTree_2mbyh") +"states/Walk [turn]/position" = Vector2(477.995, 226.767) +transitions = ["Aim [aim] [turn]", "Aim Down [aim]", SubResource("AnimationNodeStateMachineTransition_4lybd"), "Aim Down [aim]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_5aafd"), "Aim [aim] [turn]", "Fire [aim]", SubResource("AnimationNodeStateMachineTransition_8f4gl"), "Fire [aim]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_xnat3"), "Walk [turn]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_12bos"), "Aim Down [aim]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_n0ndr"), "Walk [turn]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_0wc5e"), "Stationary [turn]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_4hisb"), "Start", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_bmty6"), "Stationary [turn]", "RESET To Aim", SubResource("AnimationNodeStateMachineTransition_kyd6p"), "RESET To Aim", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_w5kob"), "Stationary [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_g0i3x"), "Walk [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_ocffv"), "Run", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_h0my5"), "Run", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_nymcr")] +graph_offset = Vector2(162.422, 4.345) + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_au62i"] +animation = &"Fall_die" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_av3pm"] + +[sub_resource type="AnimationNodeTimeSeek" id="AnimationNodeTimeSeek_p56ym"] + +[resource] +nodes/Actions/node = SubResource("AnimationNodeStateMachine_7smdg") +nodes/Actions/position = Vector2(0, 140) +nodes/Death/node = SubResource("AnimationNodeAnimation_au62i") +nodes/Death/position = Vector2(-200, 300) +nodes/DeathBlend/node = SubResource("AnimationNodeBlend2_av3pm") +nodes/DeathBlend/position = Vector2(180, 140) +nodes/DeathSeek/node = SubResource("AnimationNodeTimeSeek_p56ym") +nodes/DeathSeek/position = Vector2(20, 300) +nodes/output/position = Vector2(327.273, 163.636) +node_connections = [&"DeathBlend", 0, &"Actions", &"DeathBlend", 1, &"DeathSeek", &"DeathSeek", 0, &"Death", &"output", 0, &"DeathBlend"] diff --git a/godot/models/character.glb b/godot/models/character.glb index 4a92f89..bf1aa2c 100644 --- a/godot/models/character.glb +++ b/godot/models/character.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74d3e24b17ef60e247aed9ed2a48c9cad95b981312439e0573f88aa587a54531 -size 2017096 +oid sha256:915183045de306484168edefdd321c4b0fcf4ba83348536102a4d748c98b7f61 +size 2372336 diff --git a/godot/models/character.glb.import b/godot/models/character.glb.import index 9dc80db..aab260e 100644 --- a/godot/models/character.glb.import +++ b/godot/models/character.glb.import @@ -1834,7 +1834,7 @@ _subresources={ }, "Aim_Fire": { "save_to_file/enabled": true, -"save_to_file/keep_custom_tracks": "", +"save_to_file/keep_custom_tracks": true, "save_to_file/path": "res://models/animations/Aim_Fire.res", "settings/loop_mode": 0, "slice_1/end_frame": 0, @@ -3631,6 +3631,1805 @@ _subresources={ "slice_99/start_frame": 0, "slices/amount": 0 }, +"Fall_die": { +"save_to_file/enabled": true, +"save_to_file/keep_custom_tracks": "", +"save_to_file/path": "res://models/animations/Fall_die.res", +"settings/loop_mode": 0, +"slice_1/end_frame": 0, +"slice_1/loop_mode": 0, +"slice_1/name": "", +"slice_1/save_to_file/enabled": false, +"slice_1/save_to_file/keep_custom_tracks": false, +"slice_1/save_to_file/path": "", +"slice_1/start_frame": 0, +"slice_10/end_frame": 0, +"slice_10/loop_mode": 0, +"slice_10/name": "", +"slice_10/save_to_file/enabled": false, +"slice_10/save_to_file/keep_custom_tracks": false, +"slice_10/save_to_file/path": "", +"slice_10/start_frame": 0, +"slice_100/end_frame": 0, +"slice_100/loop_mode": 0, +"slice_100/name": "", +"slice_100/save_to_file/enabled": false, +"slice_100/save_to_file/keep_custom_tracks": false, +"slice_100/save_to_file/path": "", +"slice_100/start_frame": 0, +"slice_101/end_frame": 0, +"slice_101/loop_mode": 0, +"slice_101/name": "", +"slice_101/save_to_file/enabled": false, +"slice_101/save_to_file/keep_custom_tracks": false, +"slice_101/save_to_file/path": "", +"slice_101/start_frame": 0, +"slice_102/end_frame": 0, +"slice_102/loop_mode": 0, +"slice_102/name": "", +"slice_102/save_to_file/enabled": false, +"slice_102/save_to_file/keep_custom_tracks": false, +"slice_102/save_to_file/path": "", +"slice_102/start_frame": 0, +"slice_103/end_frame": 0, +"slice_103/loop_mode": 0, +"slice_103/name": "", +"slice_103/save_to_file/enabled": false, +"slice_103/save_to_file/keep_custom_tracks": false, +"slice_103/save_to_file/path": "", +"slice_103/start_frame": 0, +"slice_104/end_frame": 0, +"slice_104/loop_mode": 0, +"slice_104/name": "", +"slice_104/save_to_file/enabled": false, +"slice_104/save_to_file/keep_custom_tracks": false, +"slice_104/save_to_file/path": "", +"slice_104/start_frame": 0, +"slice_105/end_frame": 0, +"slice_105/loop_mode": 0, +"slice_105/name": "", +"slice_105/save_to_file/enabled": false, +"slice_105/save_to_file/keep_custom_tracks": false, +"slice_105/save_to_file/path": "", +"slice_105/start_frame": 0, +"slice_106/end_frame": 0, +"slice_106/loop_mode": 0, +"slice_106/name": "", +"slice_106/save_to_file/enabled": false, +"slice_106/save_to_file/keep_custom_tracks": false, +"slice_106/save_to_file/path": "", +"slice_106/start_frame": 0, +"slice_107/end_frame": 0, +"slice_107/loop_mode": 0, +"slice_107/name": "", +"slice_107/save_to_file/enabled": false, +"slice_107/save_to_file/keep_custom_tracks": false, +"slice_107/save_to_file/path": "", +"slice_107/start_frame": 0, +"slice_108/end_frame": 0, +"slice_108/loop_mode": 0, +"slice_108/name": "", +"slice_108/save_to_file/enabled": false, +"slice_108/save_to_file/keep_custom_tracks": false, +"slice_108/save_to_file/path": "", +"slice_108/start_frame": 0, +"slice_109/end_frame": 0, +"slice_109/loop_mode": 0, +"slice_109/name": "", +"slice_109/save_to_file/enabled": false, +"slice_109/save_to_file/keep_custom_tracks": false, +"slice_109/save_to_file/path": "", +"slice_109/start_frame": 0, +"slice_11/end_frame": 0, +"slice_11/loop_mode": 0, +"slice_11/name": "", +"slice_11/save_to_file/enabled": false, +"slice_11/save_to_file/keep_custom_tracks": false, +"slice_11/save_to_file/path": "", +"slice_11/start_frame": 0, +"slice_110/end_frame": 0, +"slice_110/loop_mode": 0, +"slice_110/name": "", +"slice_110/save_to_file/enabled": false, +"slice_110/save_to_file/keep_custom_tracks": false, +"slice_110/save_to_file/path": "", +"slice_110/start_frame": 0, +"slice_111/end_frame": 0, +"slice_111/loop_mode": 0, +"slice_111/name": "", +"slice_111/save_to_file/enabled": false, +"slice_111/save_to_file/keep_custom_tracks": false, +"slice_111/save_to_file/path": "", +"slice_111/start_frame": 0, +"slice_112/end_frame": 0, +"slice_112/loop_mode": 0, +"slice_112/name": "", +"slice_112/save_to_file/enabled": false, +"slice_112/save_to_file/keep_custom_tracks": false, +"slice_112/save_to_file/path": "", +"slice_112/start_frame": 0, +"slice_113/end_frame": 0, +"slice_113/loop_mode": 0, +"slice_113/name": "", +"slice_113/save_to_file/enabled": false, +"slice_113/save_to_file/keep_custom_tracks": false, +"slice_113/save_to_file/path": "", +"slice_113/start_frame": 0, +"slice_114/end_frame": 0, +"slice_114/loop_mode": 0, +"slice_114/name": "", +"slice_114/save_to_file/enabled": false, +"slice_114/save_to_file/keep_custom_tracks": false, +"slice_114/save_to_file/path": "", +"slice_114/start_frame": 0, +"slice_115/end_frame": 0, +"slice_115/loop_mode": 0, +"slice_115/name": "", +"slice_115/save_to_file/enabled": false, +"slice_115/save_to_file/keep_custom_tracks": false, +"slice_115/save_to_file/path": "", +"slice_115/start_frame": 0, +"slice_116/end_frame": 0, +"slice_116/loop_mode": 0, +"slice_116/name": "", +"slice_116/save_to_file/enabled": false, +"slice_116/save_to_file/keep_custom_tracks": false, +"slice_116/save_to_file/path": "", +"slice_116/start_frame": 0, +"slice_117/end_frame": 0, +"slice_117/loop_mode": 0, +"slice_117/name": "", +"slice_117/save_to_file/enabled": false, +"slice_117/save_to_file/keep_custom_tracks": false, +"slice_117/save_to_file/path": "", +"slice_117/start_frame": 0, +"slice_118/end_frame": 0, +"slice_118/loop_mode": 0, +"slice_118/name": "", +"slice_118/save_to_file/enabled": false, +"slice_118/save_to_file/keep_custom_tracks": false, +"slice_118/save_to_file/path": "", +"slice_118/start_frame": 0, +"slice_119/end_frame": 0, +"slice_119/loop_mode": 0, +"slice_119/name": "", +"slice_119/save_to_file/enabled": false, +"slice_119/save_to_file/keep_custom_tracks": false, +"slice_119/save_to_file/path": "", +"slice_119/start_frame": 0, +"slice_12/end_frame": 0, +"slice_12/loop_mode": 0, +"slice_12/name": "", +"slice_12/save_to_file/enabled": false, +"slice_12/save_to_file/keep_custom_tracks": false, +"slice_12/save_to_file/path": "", +"slice_12/start_frame": 0, +"slice_120/end_frame": 0, +"slice_120/loop_mode": 0, +"slice_120/name": "", +"slice_120/save_to_file/enabled": false, +"slice_120/save_to_file/keep_custom_tracks": false, +"slice_120/save_to_file/path": "", +"slice_120/start_frame": 0, +"slice_121/end_frame": 0, +"slice_121/loop_mode": 0, +"slice_121/name": "", +"slice_121/save_to_file/enabled": false, +"slice_121/save_to_file/keep_custom_tracks": false, +"slice_121/save_to_file/path": "", +"slice_121/start_frame": 0, +"slice_122/end_frame": 0, +"slice_122/loop_mode": 0, +"slice_122/name": "", +"slice_122/save_to_file/enabled": false, +"slice_122/save_to_file/keep_custom_tracks": false, +"slice_122/save_to_file/path": "", +"slice_122/start_frame": 0, +"slice_123/end_frame": 0, +"slice_123/loop_mode": 0, +"slice_123/name": "", +"slice_123/save_to_file/enabled": false, +"slice_123/save_to_file/keep_custom_tracks": false, +"slice_123/save_to_file/path": "", +"slice_123/start_frame": 0, +"slice_124/end_frame": 0, +"slice_124/loop_mode": 0, +"slice_124/name": "", +"slice_124/save_to_file/enabled": false, +"slice_124/save_to_file/keep_custom_tracks": false, +"slice_124/save_to_file/path": "", +"slice_124/start_frame": 0, +"slice_125/end_frame": 0, +"slice_125/loop_mode": 0, +"slice_125/name": "", +"slice_125/save_to_file/enabled": false, +"slice_125/save_to_file/keep_custom_tracks": false, +"slice_125/save_to_file/path": "", +"slice_125/start_frame": 0, +"slice_126/end_frame": 0, +"slice_126/loop_mode": 0, +"slice_126/name": "", +"slice_126/save_to_file/enabled": false, +"slice_126/save_to_file/keep_custom_tracks": false, +"slice_126/save_to_file/path": "", +"slice_126/start_frame": 0, +"slice_127/end_frame": 0, +"slice_127/loop_mode": 0, +"slice_127/name": "", +"slice_127/save_to_file/enabled": false, +"slice_127/save_to_file/keep_custom_tracks": false, +"slice_127/save_to_file/path": "", +"slice_127/start_frame": 0, +"slice_128/end_frame": 0, +"slice_128/loop_mode": 0, +"slice_128/name": "", +"slice_128/save_to_file/enabled": false, +"slice_128/save_to_file/keep_custom_tracks": false, +"slice_128/save_to_file/path": "", +"slice_128/start_frame": 0, +"slice_129/end_frame": 0, +"slice_129/loop_mode": 0, +"slice_129/name": "", +"slice_129/save_to_file/enabled": false, +"slice_129/save_to_file/keep_custom_tracks": false, +"slice_129/save_to_file/path": "", +"slice_129/start_frame": 0, +"slice_13/end_frame": 0, +"slice_13/loop_mode": 0, +"slice_13/name": "", +"slice_13/save_to_file/enabled": false, +"slice_13/save_to_file/keep_custom_tracks": false, +"slice_13/save_to_file/path": "", +"slice_13/start_frame": 0, +"slice_130/end_frame": 0, +"slice_130/loop_mode": 0, +"slice_130/name": "", +"slice_130/save_to_file/enabled": false, +"slice_130/save_to_file/keep_custom_tracks": false, +"slice_130/save_to_file/path": "", +"slice_130/start_frame": 0, +"slice_131/end_frame": 0, +"slice_131/loop_mode": 0, +"slice_131/name": "", +"slice_131/save_to_file/enabled": false, +"slice_131/save_to_file/keep_custom_tracks": false, +"slice_131/save_to_file/path": "", +"slice_131/start_frame": 0, +"slice_132/end_frame": 0, +"slice_132/loop_mode": 0, +"slice_132/name": "", +"slice_132/save_to_file/enabled": false, +"slice_132/save_to_file/keep_custom_tracks": false, +"slice_132/save_to_file/path": "", +"slice_132/start_frame": 0, +"slice_133/end_frame": 0, +"slice_133/loop_mode": 0, +"slice_133/name": "", +"slice_133/save_to_file/enabled": false, +"slice_133/save_to_file/keep_custom_tracks": false, +"slice_133/save_to_file/path": "", +"slice_133/start_frame": 0, +"slice_134/end_frame": 0, +"slice_134/loop_mode": 0, +"slice_134/name": "", +"slice_134/save_to_file/enabled": false, +"slice_134/save_to_file/keep_custom_tracks": false, +"slice_134/save_to_file/path": "", +"slice_134/start_frame": 0, +"slice_135/end_frame": 0, +"slice_135/loop_mode": 0, +"slice_135/name": "", +"slice_135/save_to_file/enabled": false, +"slice_135/save_to_file/keep_custom_tracks": false, +"slice_135/save_to_file/path": "", +"slice_135/start_frame": 0, +"slice_136/end_frame": 0, +"slice_136/loop_mode": 0, +"slice_136/name": "", +"slice_136/save_to_file/enabled": false, +"slice_136/save_to_file/keep_custom_tracks": false, +"slice_136/save_to_file/path": "", +"slice_136/start_frame": 0, +"slice_137/end_frame": 0, +"slice_137/loop_mode": 0, +"slice_137/name": "", +"slice_137/save_to_file/enabled": false, +"slice_137/save_to_file/keep_custom_tracks": false, +"slice_137/save_to_file/path": "", +"slice_137/start_frame": 0, +"slice_138/end_frame": 0, +"slice_138/loop_mode": 0, +"slice_138/name": "", +"slice_138/save_to_file/enabled": false, +"slice_138/save_to_file/keep_custom_tracks": false, +"slice_138/save_to_file/path": "", +"slice_138/start_frame": 0, +"slice_139/end_frame": 0, +"slice_139/loop_mode": 0, +"slice_139/name": "", +"slice_139/save_to_file/enabled": false, +"slice_139/save_to_file/keep_custom_tracks": false, +"slice_139/save_to_file/path": "", +"slice_139/start_frame": 0, +"slice_14/end_frame": 0, +"slice_14/loop_mode": 0, +"slice_14/name": "", +"slice_14/save_to_file/enabled": false, +"slice_14/save_to_file/keep_custom_tracks": false, +"slice_14/save_to_file/path": "", +"slice_14/start_frame": 0, +"slice_140/end_frame": 0, +"slice_140/loop_mode": 0, +"slice_140/name": "", +"slice_140/save_to_file/enabled": false, +"slice_140/save_to_file/keep_custom_tracks": false, +"slice_140/save_to_file/path": "", +"slice_140/start_frame": 0, +"slice_141/end_frame": 0, +"slice_141/loop_mode": 0, +"slice_141/name": "", +"slice_141/save_to_file/enabled": false, +"slice_141/save_to_file/keep_custom_tracks": false, +"slice_141/save_to_file/path": "", +"slice_141/start_frame": 0, +"slice_142/end_frame": 0, +"slice_142/loop_mode": 0, +"slice_142/name": "", +"slice_142/save_to_file/enabled": false, +"slice_142/save_to_file/keep_custom_tracks": false, +"slice_142/save_to_file/path": "", +"slice_142/start_frame": 0, +"slice_143/end_frame": 0, +"slice_143/loop_mode": 0, +"slice_143/name": "", +"slice_143/save_to_file/enabled": false, +"slice_143/save_to_file/keep_custom_tracks": false, +"slice_143/save_to_file/path": "", +"slice_143/start_frame": 0, +"slice_144/end_frame": 0, +"slice_144/loop_mode": 0, +"slice_144/name": "", +"slice_144/save_to_file/enabled": false, +"slice_144/save_to_file/keep_custom_tracks": false, +"slice_144/save_to_file/path": "", +"slice_144/start_frame": 0, +"slice_145/end_frame": 0, +"slice_145/loop_mode": 0, +"slice_145/name": "", +"slice_145/save_to_file/enabled": false, +"slice_145/save_to_file/keep_custom_tracks": false, +"slice_145/save_to_file/path": "", +"slice_145/start_frame": 0, +"slice_146/end_frame": 0, +"slice_146/loop_mode": 0, +"slice_146/name": "", +"slice_146/save_to_file/enabled": false, +"slice_146/save_to_file/keep_custom_tracks": false, +"slice_146/save_to_file/path": "", +"slice_146/start_frame": 0, +"slice_147/end_frame": 0, +"slice_147/loop_mode": 0, +"slice_147/name": "", +"slice_147/save_to_file/enabled": false, +"slice_147/save_to_file/keep_custom_tracks": false, +"slice_147/save_to_file/path": "", +"slice_147/start_frame": 0, +"slice_148/end_frame": 0, +"slice_148/loop_mode": 0, +"slice_148/name": "", +"slice_148/save_to_file/enabled": false, +"slice_148/save_to_file/keep_custom_tracks": false, +"slice_148/save_to_file/path": "", +"slice_148/start_frame": 0, +"slice_149/end_frame": 0, +"slice_149/loop_mode": 0, +"slice_149/name": "", +"slice_149/save_to_file/enabled": false, +"slice_149/save_to_file/keep_custom_tracks": false, +"slice_149/save_to_file/path": "", +"slice_149/start_frame": 0, +"slice_15/end_frame": 0, +"slice_15/loop_mode": 0, +"slice_15/name": "", +"slice_15/save_to_file/enabled": false, +"slice_15/save_to_file/keep_custom_tracks": false, +"slice_15/save_to_file/path": "", +"slice_15/start_frame": 0, +"slice_150/end_frame": 0, +"slice_150/loop_mode": 0, +"slice_150/name": "", +"slice_150/save_to_file/enabled": false, +"slice_150/save_to_file/keep_custom_tracks": false, +"slice_150/save_to_file/path": "", +"slice_150/start_frame": 0, +"slice_151/end_frame": 0, +"slice_151/loop_mode": 0, +"slice_151/name": "", +"slice_151/save_to_file/enabled": false, +"slice_151/save_to_file/keep_custom_tracks": false, +"slice_151/save_to_file/path": "", +"slice_151/start_frame": 0, +"slice_152/end_frame": 0, +"slice_152/loop_mode": 0, +"slice_152/name": "", +"slice_152/save_to_file/enabled": false, +"slice_152/save_to_file/keep_custom_tracks": false, +"slice_152/save_to_file/path": "", +"slice_152/start_frame": 0, +"slice_153/end_frame": 0, +"slice_153/loop_mode": 0, +"slice_153/name": "", +"slice_153/save_to_file/enabled": false, +"slice_153/save_to_file/keep_custom_tracks": false, +"slice_153/save_to_file/path": "", +"slice_153/start_frame": 0, +"slice_154/end_frame": 0, +"slice_154/loop_mode": 0, +"slice_154/name": "", +"slice_154/save_to_file/enabled": false, +"slice_154/save_to_file/keep_custom_tracks": false, +"slice_154/save_to_file/path": "", +"slice_154/start_frame": 0, +"slice_155/end_frame": 0, +"slice_155/loop_mode": 0, +"slice_155/name": "", +"slice_155/save_to_file/enabled": false, +"slice_155/save_to_file/keep_custom_tracks": false, +"slice_155/save_to_file/path": "", +"slice_155/start_frame": 0, +"slice_156/end_frame": 0, +"slice_156/loop_mode": 0, +"slice_156/name": "", +"slice_156/save_to_file/enabled": false, +"slice_156/save_to_file/keep_custom_tracks": false, +"slice_156/save_to_file/path": "", +"slice_156/start_frame": 0, +"slice_157/end_frame": 0, +"slice_157/loop_mode": 0, +"slice_157/name": "", +"slice_157/save_to_file/enabled": false, +"slice_157/save_to_file/keep_custom_tracks": false, +"slice_157/save_to_file/path": "", +"slice_157/start_frame": 0, +"slice_158/end_frame": 0, +"slice_158/loop_mode": 0, +"slice_158/name": "", +"slice_158/save_to_file/enabled": false, +"slice_158/save_to_file/keep_custom_tracks": false, +"slice_158/save_to_file/path": "", +"slice_158/start_frame": 0, +"slice_159/end_frame": 0, +"slice_159/loop_mode": 0, +"slice_159/name": "", +"slice_159/save_to_file/enabled": false, +"slice_159/save_to_file/keep_custom_tracks": false, +"slice_159/save_to_file/path": "", +"slice_159/start_frame": 0, +"slice_16/end_frame": 0, +"slice_16/loop_mode": 0, +"slice_16/name": "", +"slice_16/save_to_file/enabled": false, +"slice_16/save_to_file/keep_custom_tracks": false, +"slice_16/save_to_file/path": "", +"slice_16/start_frame": 0, +"slice_160/end_frame": 0, +"slice_160/loop_mode": 0, +"slice_160/name": "", +"slice_160/save_to_file/enabled": false, +"slice_160/save_to_file/keep_custom_tracks": false, +"slice_160/save_to_file/path": "", +"slice_160/start_frame": 0, +"slice_161/end_frame": 0, +"slice_161/loop_mode": 0, +"slice_161/name": "", +"slice_161/save_to_file/enabled": false, +"slice_161/save_to_file/keep_custom_tracks": false, +"slice_161/save_to_file/path": "", +"slice_161/start_frame": 0, +"slice_162/end_frame": 0, +"slice_162/loop_mode": 0, +"slice_162/name": "", +"slice_162/save_to_file/enabled": false, +"slice_162/save_to_file/keep_custom_tracks": false, +"slice_162/save_to_file/path": "", +"slice_162/start_frame": 0, +"slice_163/end_frame": 0, +"slice_163/loop_mode": 0, +"slice_163/name": "", +"slice_163/save_to_file/enabled": false, +"slice_163/save_to_file/keep_custom_tracks": false, +"slice_163/save_to_file/path": "", +"slice_163/start_frame": 0, +"slice_164/end_frame": 0, +"slice_164/loop_mode": 0, +"slice_164/name": "", +"slice_164/save_to_file/enabled": false, +"slice_164/save_to_file/keep_custom_tracks": false, +"slice_164/save_to_file/path": "", +"slice_164/start_frame": 0, +"slice_165/end_frame": 0, +"slice_165/loop_mode": 0, +"slice_165/name": "", +"slice_165/save_to_file/enabled": false, +"slice_165/save_to_file/keep_custom_tracks": false, +"slice_165/save_to_file/path": "", +"slice_165/start_frame": 0, +"slice_166/end_frame": 0, +"slice_166/loop_mode": 0, +"slice_166/name": "", +"slice_166/save_to_file/enabled": false, +"slice_166/save_to_file/keep_custom_tracks": false, +"slice_166/save_to_file/path": "", +"slice_166/start_frame": 0, +"slice_167/end_frame": 0, +"slice_167/loop_mode": 0, +"slice_167/name": "", +"slice_167/save_to_file/enabled": false, +"slice_167/save_to_file/keep_custom_tracks": false, +"slice_167/save_to_file/path": "", +"slice_167/start_frame": 0, +"slice_168/end_frame": 0, +"slice_168/loop_mode": 0, +"slice_168/name": "", +"slice_168/save_to_file/enabled": false, +"slice_168/save_to_file/keep_custom_tracks": false, +"slice_168/save_to_file/path": "", +"slice_168/start_frame": 0, +"slice_169/end_frame": 0, +"slice_169/loop_mode": 0, +"slice_169/name": "", +"slice_169/save_to_file/enabled": false, +"slice_169/save_to_file/keep_custom_tracks": false, +"slice_169/save_to_file/path": "", +"slice_169/start_frame": 0, +"slice_17/end_frame": 0, +"slice_17/loop_mode": 0, +"slice_17/name": "", +"slice_17/save_to_file/enabled": false, +"slice_17/save_to_file/keep_custom_tracks": false, +"slice_17/save_to_file/path": "", +"slice_17/start_frame": 0, +"slice_170/end_frame": 0, +"slice_170/loop_mode": 0, +"slice_170/name": "", +"slice_170/save_to_file/enabled": false, +"slice_170/save_to_file/keep_custom_tracks": false, +"slice_170/save_to_file/path": "", +"slice_170/start_frame": 0, +"slice_171/end_frame": 0, +"slice_171/loop_mode": 0, +"slice_171/name": "", +"slice_171/save_to_file/enabled": false, +"slice_171/save_to_file/keep_custom_tracks": false, +"slice_171/save_to_file/path": "", +"slice_171/start_frame": 0, +"slice_172/end_frame": 0, +"slice_172/loop_mode": 0, +"slice_172/name": "", +"slice_172/save_to_file/enabled": false, +"slice_172/save_to_file/keep_custom_tracks": false, +"slice_172/save_to_file/path": "", +"slice_172/start_frame": 0, +"slice_173/end_frame": 0, +"slice_173/loop_mode": 0, +"slice_173/name": "", +"slice_173/save_to_file/enabled": false, +"slice_173/save_to_file/keep_custom_tracks": false, +"slice_173/save_to_file/path": "", +"slice_173/start_frame": 0, +"slice_174/end_frame": 0, +"slice_174/loop_mode": 0, +"slice_174/name": "", +"slice_174/save_to_file/enabled": false, +"slice_174/save_to_file/keep_custom_tracks": false, +"slice_174/save_to_file/path": "", +"slice_174/start_frame": 0, +"slice_175/end_frame": 0, +"slice_175/loop_mode": 0, +"slice_175/name": "", +"slice_175/save_to_file/enabled": false, +"slice_175/save_to_file/keep_custom_tracks": false, +"slice_175/save_to_file/path": "", +"slice_175/start_frame": 0, +"slice_176/end_frame": 0, +"slice_176/loop_mode": 0, +"slice_176/name": "", +"slice_176/save_to_file/enabled": false, +"slice_176/save_to_file/keep_custom_tracks": false, +"slice_176/save_to_file/path": "", +"slice_176/start_frame": 0, +"slice_177/end_frame": 0, +"slice_177/loop_mode": 0, +"slice_177/name": "", +"slice_177/save_to_file/enabled": false, +"slice_177/save_to_file/keep_custom_tracks": false, +"slice_177/save_to_file/path": "", +"slice_177/start_frame": 0, +"slice_178/end_frame": 0, +"slice_178/loop_mode": 0, +"slice_178/name": "", +"slice_178/save_to_file/enabled": false, +"slice_178/save_to_file/keep_custom_tracks": false, +"slice_178/save_to_file/path": "", +"slice_178/start_frame": 0, +"slice_179/end_frame": 0, +"slice_179/loop_mode": 0, +"slice_179/name": "", +"slice_179/save_to_file/enabled": false, +"slice_179/save_to_file/keep_custom_tracks": false, +"slice_179/save_to_file/path": "", +"slice_179/start_frame": 0, +"slice_18/end_frame": 0, +"slice_18/loop_mode": 0, +"slice_18/name": "", +"slice_18/save_to_file/enabled": false, +"slice_18/save_to_file/keep_custom_tracks": false, +"slice_18/save_to_file/path": "", +"slice_18/start_frame": 0, +"slice_180/end_frame": 0, +"slice_180/loop_mode": 0, +"slice_180/name": "", +"slice_180/save_to_file/enabled": false, +"slice_180/save_to_file/keep_custom_tracks": false, +"slice_180/save_to_file/path": "", +"slice_180/start_frame": 0, +"slice_181/end_frame": 0, +"slice_181/loop_mode": 0, +"slice_181/name": "", +"slice_181/save_to_file/enabled": false, +"slice_181/save_to_file/keep_custom_tracks": false, +"slice_181/save_to_file/path": "", +"slice_181/start_frame": 0, +"slice_182/end_frame": 0, +"slice_182/loop_mode": 0, +"slice_182/name": "", +"slice_182/save_to_file/enabled": false, +"slice_182/save_to_file/keep_custom_tracks": false, +"slice_182/save_to_file/path": "", +"slice_182/start_frame": 0, +"slice_183/end_frame": 0, +"slice_183/loop_mode": 0, +"slice_183/name": "", +"slice_183/save_to_file/enabled": false, +"slice_183/save_to_file/keep_custom_tracks": false, +"slice_183/save_to_file/path": "", +"slice_183/start_frame": 0, +"slice_184/end_frame": 0, +"slice_184/loop_mode": 0, +"slice_184/name": "", +"slice_184/save_to_file/enabled": false, +"slice_184/save_to_file/keep_custom_tracks": false, +"slice_184/save_to_file/path": "", +"slice_184/start_frame": 0, +"slice_185/end_frame": 0, +"slice_185/loop_mode": 0, +"slice_185/name": "", +"slice_185/save_to_file/enabled": false, +"slice_185/save_to_file/keep_custom_tracks": false, +"slice_185/save_to_file/path": "", +"slice_185/start_frame": 0, +"slice_186/end_frame": 0, +"slice_186/loop_mode": 0, +"slice_186/name": "", +"slice_186/save_to_file/enabled": false, +"slice_186/save_to_file/keep_custom_tracks": false, +"slice_186/save_to_file/path": "", +"slice_186/start_frame": 0, +"slice_187/end_frame": 0, +"slice_187/loop_mode": 0, +"slice_187/name": "", +"slice_187/save_to_file/enabled": false, +"slice_187/save_to_file/keep_custom_tracks": false, +"slice_187/save_to_file/path": "", +"slice_187/start_frame": 0, +"slice_188/end_frame": 0, +"slice_188/loop_mode": 0, +"slice_188/name": "", +"slice_188/save_to_file/enabled": false, +"slice_188/save_to_file/keep_custom_tracks": false, +"slice_188/save_to_file/path": "", +"slice_188/start_frame": 0, +"slice_189/end_frame": 0, +"slice_189/loop_mode": 0, +"slice_189/name": "", +"slice_189/save_to_file/enabled": false, +"slice_189/save_to_file/keep_custom_tracks": false, +"slice_189/save_to_file/path": "", +"slice_189/start_frame": 0, +"slice_19/end_frame": 0, +"slice_19/loop_mode": 0, +"slice_19/name": "", +"slice_19/save_to_file/enabled": false, +"slice_19/save_to_file/keep_custom_tracks": false, +"slice_19/save_to_file/path": "", +"slice_19/start_frame": 0, +"slice_190/end_frame": 0, +"slice_190/loop_mode": 0, +"slice_190/name": "", +"slice_190/save_to_file/enabled": false, +"slice_190/save_to_file/keep_custom_tracks": false, +"slice_190/save_to_file/path": "", +"slice_190/start_frame": 0, +"slice_191/end_frame": 0, +"slice_191/loop_mode": 0, +"slice_191/name": "", +"slice_191/save_to_file/enabled": false, +"slice_191/save_to_file/keep_custom_tracks": false, +"slice_191/save_to_file/path": "", +"slice_191/start_frame": 0, +"slice_192/end_frame": 0, +"slice_192/loop_mode": 0, +"slice_192/name": "", +"slice_192/save_to_file/enabled": false, +"slice_192/save_to_file/keep_custom_tracks": false, +"slice_192/save_to_file/path": "", +"slice_192/start_frame": 0, +"slice_193/end_frame": 0, +"slice_193/loop_mode": 0, +"slice_193/name": "", +"slice_193/save_to_file/enabled": false, +"slice_193/save_to_file/keep_custom_tracks": false, +"slice_193/save_to_file/path": "", +"slice_193/start_frame": 0, +"slice_194/end_frame": 0, +"slice_194/loop_mode": 0, +"slice_194/name": "", +"slice_194/save_to_file/enabled": false, +"slice_194/save_to_file/keep_custom_tracks": false, +"slice_194/save_to_file/path": "", +"slice_194/start_frame": 0, +"slice_195/end_frame": 0, +"slice_195/loop_mode": 0, +"slice_195/name": "", +"slice_195/save_to_file/enabled": false, +"slice_195/save_to_file/keep_custom_tracks": false, +"slice_195/save_to_file/path": "", +"slice_195/start_frame": 0, +"slice_196/end_frame": 0, +"slice_196/loop_mode": 0, +"slice_196/name": "", +"slice_196/save_to_file/enabled": false, +"slice_196/save_to_file/keep_custom_tracks": false, +"slice_196/save_to_file/path": "", +"slice_196/start_frame": 0, +"slice_197/end_frame": 0, +"slice_197/loop_mode": 0, +"slice_197/name": "", +"slice_197/save_to_file/enabled": false, +"slice_197/save_to_file/keep_custom_tracks": false, +"slice_197/save_to_file/path": "", +"slice_197/start_frame": 0, +"slice_198/end_frame": 0, +"slice_198/loop_mode": 0, +"slice_198/name": "", +"slice_198/save_to_file/enabled": false, +"slice_198/save_to_file/keep_custom_tracks": false, +"slice_198/save_to_file/path": "", +"slice_198/start_frame": 0, +"slice_199/end_frame": 0, +"slice_199/loop_mode": 0, +"slice_199/name": "", +"slice_199/save_to_file/enabled": false, +"slice_199/save_to_file/keep_custom_tracks": false, +"slice_199/save_to_file/path": "", +"slice_199/start_frame": 0, +"slice_2/end_frame": 0, +"slice_2/loop_mode": 0, +"slice_2/name": "", +"slice_2/save_to_file/enabled": false, +"slice_2/save_to_file/keep_custom_tracks": false, +"slice_2/save_to_file/path": "", +"slice_2/start_frame": 0, +"slice_20/end_frame": 0, +"slice_20/loop_mode": 0, +"slice_20/name": "", +"slice_20/save_to_file/enabled": false, +"slice_20/save_to_file/keep_custom_tracks": false, +"slice_20/save_to_file/path": "", +"slice_20/start_frame": 0, +"slice_200/end_frame": 0, +"slice_200/loop_mode": 0, +"slice_200/name": "", +"slice_200/save_to_file/enabled": false, +"slice_200/save_to_file/keep_custom_tracks": false, +"slice_200/save_to_file/path": "", +"slice_200/start_frame": 0, +"slice_201/end_frame": 0, +"slice_201/loop_mode": 0, +"slice_201/name": "", +"slice_201/save_to_file/enabled": false, +"slice_201/save_to_file/keep_custom_tracks": false, +"slice_201/save_to_file/path": "", +"slice_201/start_frame": 0, +"slice_202/end_frame": 0, +"slice_202/loop_mode": 0, +"slice_202/name": "", +"slice_202/save_to_file/enabled": false, +"slice_202/save_to_file/keep_custom_tracks": false, +"slice_202/save_to_file/path": "", +"slice_202/start_frame": 0, +"slice_203/end_frame": 0, +"slice_203/loop_mode": 0, +"slice_203/name": "", +"slice_203/save_to_file/enabled": false, +"slice_203/save_to_file/keep_custom_tracks": false, +"slice_203/save_to_file/path": "", +"slice_203/start_frame": 0, +"slice_204/end_frame": 0, +"slice_204/loop_mode": 0, +"slice_204/name": "", +"slice_204/save_to_file/enabled": false, +"slice_204/save_to_file/keep_custom_tracks": false, +"slice_204/save_to_file/path": "", +"slice_204/start_frame": 0, +"slice_205/end_frame": 0, +"slice_205/loop_mode": 0, +"slice_205/name": "", +"slice_205/save_to_file/enabled": false, +"slice_205/save_to_file/keep_custom_tracks": false, +"slice_205/save_to_file/path": "", +"slice_205/start_frame": 0, +"slice_206/end_frame": 0, +"slice_206/loop_mode": 0, +"slice_206/name": "", +"slice_206/save_to_file/enabled": false, +"slice_206/save_to_file/keep_custom_tracks": false, +"slice_206/save_to_file/path": "", +"slice_206/start_frame": 0, +"slice_207/end_frame": 0, +"slice_207/loop_mode": 0, +"slice_207/name": "", +"slice_207/save_to_file/enabled": false, +"slice_207/save_to_file/keep_custom_tracks": false, +"slice_207/save_to_file/path": "", +"slice_207/start_frame": 0, +"slice_208/end_frame": 0, +"slice_208/loop_mode": 0, +"slice_208/name": "", +"slice_208/save_to_file/enabled": false, +"slice_208/save_to_file/keep_custom_tracks": false, +"slice_208/save_to_file/path": "", +"slice_208/start_frame": 0, +"slice_209/end_frame": 0, +"slice_209/loop_mode": 0, +"slice_209/name": "", +"slice_209/save_to_file/enabled": false, +"slice_209/save_to_file/keep_custom_tracks": false, +"slice_209/save_to_file/path": "", +"slice_209/start_frame": 0, +"slice_21/end_frame": 0, +"slice_21/loop_mode": 0, +"slice_21/name": "", +"slice_21/save_to_file/enabled": false, +"slice_21/save_to_file/keep_custom_tracks": false, +"slice_21/save_to_file/path": "", +"slice_21/start_frame": 0, +"slice_210/end_frame": 0, +"slice_210/loop_mode": 0, +"slice_210/name": "", +"slice_210/save_to_file/enabled": false, +"slice_210/save_to_file/keep_custom_tracks": false, +"slice_210/save_to_file/path": "", +"slice_210/start_frame": 0, +"slice_211/end_frame": 0, +"slice_211/loop_mode": 0, +"slice_211/name": "", +"slice_211/save_to_file/enabled": false, +"slice_211/save_to_file/keep_custom_tracks": false, +"slice_211/save_to_file/path": "", +"slice_211/start_frame": 0, +"slice_212/end_frame": 0, +"slice_212/loop_mode": 0, +"slice_212/name": "", +"slice_212/save_to_file/enabled": false, +"slice_212/save_to_file/keep_custom_tracks": false, +"slice_212/save_to_file/path": "", +"slice_212/start_frame": 0, +"slice_213/end_frame": 0, +"slice_213/loop_mode": 0, +"slice_213/name": "", +"slice_213/save_to_file/enabled": false, +"slice_213/save_to_file/keep_custom_tracks": false, +"slice_213/save_to_file/path": "", +"slice_213/start_frame": 0, +"slice_214/end_frame": 0, +"slice_214/loop_mode": 0, +"slice_214/name": "", +"slice_214/save_to_file/enabled": false, +"slice_214/save_to_file/keep_custom_tracks": false, +"slice_214/save_to_file/path": "", +"slice_214/start_frame": 0, +"slice_215/end_frame": 0, +"slice_215/loop_mode": 0, +"slice_215/name": "", +"slice_215/save_to_file/enabled": false, +"slice_215/save_to_file/keep_custom_tracks": false, +"slice_215/save_to_file/path": "", +"slice_215/start_frame": 0, +"slice_216/end_frame": 0, +"slice_216/loop_mode": 0, +"slice_216/name": "", +"slice_216/save_to_file/enabled": false, +"slice_216/save_to_file/keep_custom_tracks": false, +"slice_216/save_to_file/path": "", +"slice_216/start_frame": 0, +"slice_217/end_frame": 0, +"slice_217/loop_mode": 0, +"slice_217/name": "", +"slice_217/save_to_file/enabled": false, +"slice_217/save_to_file/keep_custom_tracks": false, +"slice_217/save_to_file/path": "", +"slice_217/start_frame": 0, +"slice_218/end_frame": 0, +"slice_218/loop_mode": 0, +"slice_218/name": "", +"slice_218/save_to_file/enabled": false, +"slice_218/save_to_file/keep_custom_tracks": false, +"slice_218/save_to_file/path": "", +"slice_218/start_frame": 0, +"slice_219/end_frame": 0, +"slice_219/loop_mode": 0, +"slice_219/name": "", +"slice_219/save_to_file/enabled": false, +"slice_219/save_to_file/keep_custom_tracks": false, +"slice_219/save_to_file/path": "", +"slice_219/start_frame": 0, +"slice_22/end_frame": 0, +"slice_22/loop_mode": 0, +"slice_22/name": "", +"slice_22/save_to_file/enabled": false, +"slice_22/save_to_file/keep_custom_tracks": false, +"slice_22/save_to_file/path": "", +"slice_22/start_frame": 0, +"slice_220/end_frame": 0, +"slice_220/loop_mode": 0, +"slice_220/name": "", +"slice_220/save_to_file/enabled": false, +"slice_220/save_to_file/keep_custom_tracks": false, +"slice_220/save_to_file/path": "", +"slice_220/start_frame": 0, +"slice_221/end_frame": 0, +"slice_221/loop_mode": 0, +"slice_221/name": "", +"slice_221/save_to_file/enabled": false, +"slice_221/save_to_file/keep_custom_tracks": false, +"slice_221/save_to_file/path": "", +"slice_221/start_frame": 0, +"slice_222/end_frame": 0, +"slice_222/loop_mode": 0, +"slice_222/name": "", +"slice_222/save_to_file/enabled": false, +"slice_222/save_to_file/keep_custom_tracks": false, +"slice_222/save_to_file/path": "", +"slice_222/start_frame": 0, +"slice_223/end_frame": 0, +"slice_223/loop_mode": 0, +"slice_223/name": "", +"slice_223/save_to_file/enabled": false, +"slice_223/save_to_file/keep_custom_tracks": false, +"slice_223/save_to_file/path": "", +"slice_223/start_frame": 0, +"slice_224/end_frame": 0, +"slice_224/loop_mode": 0, +"slice_224/name": "", +"slice_224/save_to_file/enabled": false, +"slice_224/save_to_file/keep_custom_tracks": false, +"slice_224/save_to_file/path": "", +"slice_224/start_frame": 0, +"slice_225/end_frame": 0, +"slice_225/loop_mode": 0, +"slice_225/name": "", +"slice_225/save_to_file/enabled": false, +"slice_225/save_to_file/keep_custom_tracks": false, +"slice_225/save_to_file/path": "", +"slice_225/start_frame": 0, +"slice_226/end_frame": 0, +"slice_226/loop_mode": 0, +"slice_226/name": "", +"slice_226/save_to_file/enabled": false, +"slice_226/save_to_file/keep_custom_tracks": false, +"slice_226/save_to_file/path": "", +"slice_226/start_frame": 0, +"slice_227/end_frame": 0, +"slice_227/loop_mode": 0, +"slice_227/name": "", +"slice_227/save_to_file/enabled": false, +"slice_227/save_to_file/keep_custom_tracks": false, +"slice_227/save_to_file/path": "", +"slice_227/start_frame": 0, +"slice_228/end_frame": 0, +"slice_228/loop_mode": 0, +"slice_228/name": "", +"slice_228/save_to_file/enabled": false, +"slice_228/save_to_file/keep_custom_tracks": false, +"slice_228/save_to_file/path": "", +"slice_228/start_frame": 0, +"slice_229/end_frame": 0, +"slice_229/loop_mode": 0, +"slice_229/name": "", +"slice_229/save_to_file/enabled": false, +"slice_229/save_to_file/keep_custom_tracks": false, +"slice_229/save_to_file/path": "", +"slice_229/start_frame": 0, +"slice_23/end_frame": 0, +"slice_23/loop_mode": 0, +"slice_23/name": "", +"slice_23/save_to_file/enabled": false, +"slice_23/save_to_file/keep_custom_tracks": false, +"slice_23/save_to_file/path": "", +"slice_23/start_frame": 0, +"slice_230/end_frame": 0, +"slice_230/loop_mode": 0, +"slice_230/name": "", +"slice_230/save_to_file/enabled": false, +"slice_230/save_to_file/keep_custom_tracks": false, +"slice_230/save_to_file/path": "", +"slice_230/start_frame": 0, +"slice_231/end_frame": 0, +"slice_231/loop_mode": 0, +"slice_231/name": "", +"slice_231/save_to_file/enabled": false, +"slice_231/save_to_file/keep_custom_tracks": false, +"slice_231/save_to_file/path": "", +"slice_231/start_frame": 0, +"slice_232/end_frame": 0, +"slice_232/loop_mode": 0, +"slice_232/name": "", +"slice_232/save_to_file/enabled": false, +"slice_232/save_to_file/keep_custom_tracks": false, +"slice_232/save_to_file/path": "", +"slice_232/start_frame": 0, +"slice_233/end_frame": 0, +"slice_233/loop_mode": 0, +"slice_233/name": "", +"slice_233/save_to_file/enabled": false, +"slice_233/save_to_file/keep_custom_tracks": false, +"slice_233/save_to_file/path": "", +"slice_233/start_frame": 0, +"slice_234/end_frame": 0, +"slice_234/loop_mode": 0, +"slice_234/name": "", +"slice_234/save_to_file/enabled": false, +"slice_234/save_to_file/keep_custom_tracks": false, +"slice_234/save_to_file/path": "", +"slice_234/start_frame": 0, +"slice_235/end_frame": 0, +"slice_235/loop_mode": 0, +"slice_235/name": "", +"slice_235/save_to_file/enabled": false, +"slice_235/save_to_file/keep_custom_tracks": false, +"slice_235/save_to_file/path": "", +"slice_235/start_frame": 0, +"slice_236/end_frame": 0, +"slice_236/loop_mode": 0, +"slice_236/name": "", +"slice_236/save_to_file/enabled": false, +"slice_236/save_to_file/keep_custom_tracks": false, +"slice_236/save_to_file/path": "", +"slice_236/start_frame": 0, +"slice_237/end_frame": 0, +"slice_237/loop_mode": 0, +"slice_237/name": "", +"slice_237/save_to_file/enabled": false, +"slice_237/save_to_file/keep_custom_tracks": false, +"slice_237/save_to_file/path": "", +"slice_237/start_frame": 0, +"slice_238/end_frame": 0, +"slice_238/loop_mode": 0, +"slice_238/name": "", +"slice_238/save_to_file/enabled": false, +"slice_238/save_to_file/keep_custom_tracks": false, +"slice_238/save_to_file/path": "", +"slice_238/start_frame": 0, +"slice_239/end_frame": 0, +"slice_239/loop_mode": 0, +"slice_239/name": "", +"slice_239/save_to_file/enabled": false, +"slice_239/save_to_file/keep_custom_tracks": false, +"slice_239/save_to_file/path": "", +"slice_239/start_frame": 0, +"slice_24/end_frame": 0, +"slice_24/loop_mode": 0, +"slice_24/name": "", +"slice_24/save_to_file/enabled": false, +"slice_24/save_to_file/keep_custom_tracks": false, +"slice_24/save_to_file/path": "", +"slice_24/start_frame": 0, +"slice_240/end_frame": 0, +"slice_240/loop_mode": 0, +"slice_240/name": "", +"slice_240/save_to_file/enabled": false, +"slice_240/save_to_file/keep_custom_tracks": false, +"slice_240/save_to_file/path": "", +"slice_240/start_frame": 0, +"slice_241/end_frame": 0, +"slice_241/loop_mode": 0, +"slice_241/name": "", +"slice_241/save_to_file/enabled": false, +"slice_241/save_to_file/keep_custom_tracks": false, +"slice_241/save_to_file/path": "", +"slice_241/start_frame": 0, +"slice_242/end_frame": 0, +"slice_242/loop_mode": 0, +"slice_242/name": "", +"slice_242/save_to_file/enabled": false, +"slice_242/save_to_file/keep_custom_tracks": false, +"slice_242/save_to_file/path": "", +"slice_242/start_frame": 0, +"slice_243/end_frame": 0, +"slice_243/loop_mode": 0, +"slice_243/name": "", +"slice_243/save_to_file/enabled": false, +"slice_243/save_to_file/keep_custom_tracks": false, +"slice_243/save_to_file/path": "", +"slice_243/start_frame": 0, +"slice_244/end_frame": 0, +"slice_244/loop_mode": 0, +"slice_244/name": "", +"slice_244/save_to_file/enabled": false, +"slice_244/save_to_file/keep_custom_tracks": false, +"slice_244/save_to_file/path": "", +"slice_244/start_frame": 0, +"slice_245/end_frame": 0, +"slice_245/loop_mode": 0, +"slice_245/name": "", +"slice_245/save_to_file/enabled": false, +"slice_245/save_to_file/keep_custom_tracks": false, +"slice_245/save_to_file/path": "", +"slice_245/start_frame": 0, +"slice_246/end_frame": 0, +"slice_246/loop_mode": 0, +"slice_246/name": "", +"slice_246/save_to_file/enabled": false, +"slice_246/save_to_file/keep_custom_tracks": false, +"slice_246/save_to_file/path": "", +"slice_246/start_frame": 0, +"slice_247/end_frame": 0, +"slice_247/loop_mode": 0, +"slice_247/name": "", +"slice_247/save_to_file/enabled": false, +"slice_247/save_to_file/keep_custom_tracks": false, +"slice_247/save_to_file/path": "", +"slice_247/start_frame": 0, +"slice_248/end_frame": 0, +"slice_248/loop_mode": 0, +"slice_248/name": "", +"slice_248/save_to_file/enabled": false, +"slice_248/save_to_file/keep_custom_tracks": false, +"slice_248/save_to_file/path": "", +"slice_248/start_frame": 0, +"slice_249/end_frame": 0, +"slice_249/loop_mode": 0, +"slice_249/name": "", +"slice_249/save_to_file/enabled": false, +"slice_249/save_to_file/keep_custom_tracks": false, +"slice_249/save_to_file/path": "", +"slice_249/start_frame": 0, +"slice_25/end_frame": 0, +"slice_25/loop_mode": 0, +"slice_25/name": "", +"slice_25/save_to_file/enabled": false, +"slice_25/save_to_file/keep_custom_tracks": false, +"slice_25/save_to_file/path": "", +"slice_25/start_frame": 0, +"slice_250/end_frame": 0, +"slice_250/loop_mode": 0, +"slice_250/name": "", +"slice_250/save_to_file/enabled": false, +"slice_250/save_to_file/keep_custom_tracks": false, +"slice_250/save_to_file/path": "", +"slice_250/start_frame": 0, +"slice_251/end_frame": 0, +"slice_251/loop_mode": 0, +"slice_251/name": "", +"slice_251/save_to_file/enabled": false, +"slice_251/save_to_file/keep_custom_tracks": false, +"slice_251/save_to_file/path": "", +"slice_251/start_frame": 0, +"slice_252/end_frame": 0, +"slice_252/loop_mode": 0, +"slice_252/name": "", +"slice_252/save_to_file/enabled": false, +"slice_252/save_to_file/keep_custom_tracks": false, +"slice_252/save_to_file/path": "", +"slice_252/start_frame": 0, +"slice_253/end_frame": 0, +"slice_253/loop_mode": 0, +"slice_253/name": "", +"slice_253/save_to_file/enabled": false, +"slice_253/save_to_file/keep_custom_tracks": false, +"slice_253/save_to_file/path": "", +"slice_253/start_frame": 0, +"slice_254/end_frame": 0, +"slice_254/loop_mode": 0, +"slice_254/name": "", +"slice_254/save_to_file/enabled": false, +"slice_254/save_to_file/keep_custom_tracks": false, +"slice_254/save_to_file/path": "", +"slice_254/start_frame": 0, +"slice_255/end_frame": 0, +"slice_255/loop_mode": 0, +"slice_255/name": "", +"slice_255/save_to_file/enabled": false, +"slice_255/save_to_file/keep_custom_tracks": false, +"slice_255/save_to_file/path": "", +"slice_255/start_frame": 0, +"slice_256/end_frame": 0, +"slice_256/loop_mode": 0, +"slice_256/name": "", +"slice_256/save_to_file/enabled": false, +"slice_256/save_to_file/keep_custom_tracks": false, +"slice_256/save_to_file/path": "", +"slice_256/start_frame": 0, +"slice_26/end_frame": 0, +"slice_26/loop_mode": 0, +"slice_26/name": "", +"slice_26/save_to_file/enabled": false, +"slice_26/save_to_file/keep_custom_tracks": false, +"slice_26/save_to_file/path": "", +"slice_26/start_frame": 0, +"slice_27/end_frame": 0, +"slice_27/loop_mode": 0, +"slice_27/name": "", +"slice_27/save_to_file/enabled": false, +"slice_27/save_to_file/keep_custom_tracks": false, +"slice_27/save_to_file/path": "", +"slice_27/start_frame": 0, +"slice_28/end_frame": 0, +"slice_28/loop_mode": 0, +"slice_28/name": "", +"slice_28/save_to_file/enabled": false, +"slice_28/save_to_file/keep_custom_tracks": false, +"slice_28/save_to_file/path": "", +"slice_28/start_frame": 0, +"slice_29/end_frame": 0, +"slice_29/loop_mode": 0, +"slice_29/name": "", +"slice_29/save_to_file/enabled": false, +"slice_29/save_to_file/keep_custom_tracks": false, +"slice_29/save_to_file/path": "", +"slice_29/start_frame": 0, +"slice_3/end_frame": 0, +"slice_3/loop_mode": 0, +"slice_3/name": "", +"slice_3/save_to_file/enabled": false, +"slice_3/save_to_file/keep_custom_tracks": false, +"slice_3/save_to_file/path": "", +"slice_3/start_frame": 0, +"slice_30/end_frame": 0, +"slice_30/loop_mode": 0, +"slice_30/name": "", +"slice_30/save_to_file/enabled": false, +"slice_30/save_to_file/keep_custom_tracks": false, +"slice_30/save_to_file/path": "", +"slice_30/start_frame": 0, +"slice_31/end_frame": 0, +"slice_31/loop_mode": 0, +"slice_31/name": "", +"slice_31/save_to_file/enabled": false, +"slice_31/save_to_file/keep_custom_tracks": false, +"slice_31/save_to_file/path": "", +"slice_31/start_frame": 0, +"slice_32/end_frame": 0, +"slice_32/loop_mode": 0, +"slice_32/name": "", +"slice_32/save_to_file/enabled": false, +"slice_32/save_to_file/keep_custom_tracks": false, +"slice_32/save_to_file/path": "", +"slice_32/start_frame": 0, +"slice_33/end_frame": 0, +"slice_33/loop_mode": 0, +"slice_33/name": "", +"slice_33/save_to_file/enabled": false, +"slice_33/save_to_file/keep_custom_tracks": false, +"slice_33/save_to_file/path": "", +"slice_33/start_frame": 0, +"slice_34/end_frame": 0, +"slice_34/loop_mode": 0, +"slice_34/name": "", +"slice_34/save_to_file/enabled": false, +"slice_34/save_to_file/keep_custom_tracks": false, +"slice_34/save_to_file/path": "", +"slice_34/start_frame": 0, +"slice_35/end_frame": 0, +"slice_35/loop_mode": 0, +"slice_35/name": "", +"slice_35/save_to_file/enabled": false, +"slice_35/save_to_file/keep_custom_tracks": false, +"slice_35/save_to_file/path": "", +"slice_35/start_frame": 0, +"slice_36/end_frame": 0, +"slice_36/loop_mode": 0, +"slice_36/name": "", +"slice_36/save_to_file/enabled": false, +"slice_36/save_to_file/keep_custom_tracks": false, +"slice_36/save_to_file/path": "", +"slice_36/start_frame": 0, +"slice_37/end_frame": 0, +"slice_37/loop_mode": 0, +"slice_37/name": "", +"slice_37/save_to_file/enabled": false, +"slice_37/save_to_file/keep_custom_tracks": false, +"slice_37/save_to_file/path": "", +"slice_37/start_frame": 0, +"slice_38/end_frame": 0, +"slice_38/loop_mode": 0, +"slice_38/name": "", +"slice_38/save_to_file/enabled": false, +"slice_38/save_to_file/keep_custom_tracks": false, +"slice_38/save_to_file/path": "", +"slice_38/start_frame": 0, +"slice_39/end_frame": 0, +"slice_39/loop_mode": 0, +"slice_39/name": "", +"slice_39/save_to_file/enabled": false, +"slice_39/save_to_file/keep_custom_tracks": false, +"slice_39/save_to_file/path": "", +"slice_39/start_frame": 0, +"slice_4/end_frame": 0, +"slice_4/loop_mode": 0, +"slice_4/name": "", +"slice_4/save_to_file/enabled": false, +"slice_4/save_to_file/keep_custom_tracks": false, +"slice_4/save_to_file/path": "", +"slice_4/start_frame": 0, +"slice_40/end_frame": 0, +"slice_40/loop_mode": 0, +"slice_40/name": "", +"slice_40/save_to_file/enabled": false, +"slice_40/save_to_file/keep_custom_tracks": false, +"slice_40/save_to_file/path": "", +"slice_40/start_frame": 0, +"slice_41/end_frame": 0, +"slice_41/loop_mode": 0, +"slice_41/name": "", +"slice_41/save_to_file/enabled": false, +"slice_41/save_to_file/keep_custom_tracks": false, +"slice_41/save_to_file/path": "", +"slice_41/start_frame": 0, +"slice_42/end_frame": 0, +"slice_42/loop_mode": 0, +"slice_42/name": "", +"slice_42/save_to_file/enabled": false, +"slice_42/save_to_file/keep_custom_tracks": false, +"slice_42/save_to_file/path": "", +"slice_42/start_frame": 0, +"slice_43/end_frame": 0, +"slice_43/loop_mode": 0, +"slice_43/name": "", +"slice_43/save_to_file/enabled": false, +"slice_43/save_to_file/keep_custom_tracks": false, +"slice_43/save_to_file/path": "", +"slice_43/start_frame": 0, +"slice_44/end_frame": 0, +"slice_44/loop_mode": 0, +"slice_44/name": "", +"slice_44/save_to_file/enabled": false, +"slice_44/save_to_file/keep_custom_tracks": false, +"slice_44/save_to_file/path": "", +"slice_44/start_frame": 0, +"slice_45/end_frame": 0, +"slice_45/loop_mode": 0, +"slice_45/name": "", +"slice_45/save_to_file/enabled": false, +"slice_45/save_to_file/keep_custom_tracks": false, +"slice_45/save_to_file/path": "", +"slice_45/start_frame": 0, +"slice_46/end_frame": 0, +"slice_46/loop_mode": 0, +"slice_46/name": "", +"slice_46/save_to_file/enabled": false, +"slice_46/save_to_file/keep_custom_tracks": false, +"slice_46/save_to_file/path": "", +"slice_46/start_frame": 0, +"slice_47/end_frame": 0, +"slice_47/loop_mode": 0, +"slice_47/name": "", +"slice_47/save_to_file/enabled": false, +"slice_47/save_to_file/keep_custom_tracks": false, +"slice_47/save_to_file/path": "", +"slice_47/start_frame": 0, +"slice_48/end_frame": 0, +"slice_48/loop_mode": 0, +"slice_48/name": "", +"slice_48/save_to_file/enabled": false, +"slice_48/save_to_file/keep_custom_tracks": false, +"slice_48/save_to_file/path": "", +"slice_48/start_frame": 0, +"slice_49/end_frame": 0, +"slice_49/loop_mode": 0, +"slice_49/name": "", +"slice_49/save_to_file/enabled": false, +"slice_49/save_to_file/keep_custom_tracks": false, +"slice_49/save_to_file/path": "", +"slice_49/start_frame": 0, +"slice_5/end_frame": 0, +"slice_5/loop_mode": 0, +"slice_5/name": "", +"slice_5/save_to_file/enabled": false, +"slice_5/save_to_file/keep_custom_tracks": false, +"slice_5/save_to_file/path": "", +"slice_5/start_frame": 0, +"slice_50/end_frame": 0, +"slice_50/loop_mode": 0, +"slice_50/name": "", +"slice_50/save_to_file/enabled": false, +"slice_50/save_to_file/keep_custom_tracks": false, +"slice_50/save_to_file/path": "", +"slice_50/start_frame": 0, +"slice_51/end_frame": 0, +"slice_51/loop_mode": 0, +"slice_51/name": "", +"slice_51/save_to_file/enabled": false, +"slice_51/save_to_file/keep_custom_tracks": false, +"slice_51/save_to_file/path": "", +"slice_51/start_frame": 0, +"slice_52/end_frame": 0, +"slice_52/loop_mode": 0, +"slice_52/name": "", +"slice_52/save_to_file/enabled": false, +"slice_52/save_to_file/keep_custom_tracks": false, +"slice_52/save_to_file/path": "", +"slice_52/start_frame": 0, +"slice_53/end_frame": 0, +"slice_53/loop_mode": 0, +"slice_53/name": "", +"slice_53/save_to_file/enabled": false, +"slice_53/save_to_file/keep_custom_tracks": false, +"slice_53/save_to_file/path": "", +"slice_53/start_frame": 0, +"slice_54/end_frame": 0, +"slice_54/loop_mode": 0, +"slice_54/name": "", +"slice_54/save_to_file/enabled": false, +"slice_54/save_to_file/keep_custom_tracks": false, +"slice_54/save_to_file/path": "", +"slice_54/start_frame": 0, +"slice_55/end_frame": 0, +"slice_55/loop_mode": 0, +"slice_55/name": "", +"slice_55/save_to_file/enabled": false, +"slice_55/save_to_file/keep_custom_tracks": false, +"slice_55/save_to_file/path": "", +"slice_55/start_frame": 0, +"slice_56/end_frame": 0, +"slice_56/loop_mode": 0, +"slice_56/name": "", +"slice_56/save_to_file/enabled": false, +"slice_56/save_to_file/keep_custom_tracks": false, +"slice_56/save_to_file/path": "", +"slice_56/start_frame": 0, +"slice_57/end_frame": 0, +"slice_57/loop_mode": 0, +"slice_57/name": "", +"slice_57/save_to_file/enabled": false, +"slice_57/save_to_file/keep_custom_tracks": false, +"slice_57/save_to_file/path": "", +"slice_57/start_frame": 0, +"slice_58/end_frame": 0, +"slice_58/loop_mode": 0, +"slice_58/name": "", +"slice_58/save_to_file/enabled": false, +"slice_58/save_to_file/keep_custom_tracks": false, +"slice_58/save_to_file/path": "", +"slice_58/start_frame": 0, +"slice_59/end_frame": 0, +"slice_59/loop_mode": 0, +"slice_59/name": "", +"slice_59/save_to_file/enabled": false, +"slice_59/save_to_file/keep_custom_tracks": false, +"slice_59/save_to_file/path": "", +"slice_59/start_frame": 0, +"slice_6/end_frame": 0, +"slice_6/loop_mode": 0, +"slice_6/name": "", +"slice_6/save_to_file/enabled": false, +"slice_6/save_to_file/keep_custom_tracks": false, +"slice_6/save_to_file/path": "", +"slice_6/start_frame": 0, +"slice_60/end_frame": 0, +"slice_60/loop_mode": 0, +"slice_60/name": "", +"slice_60/save_to_file/enabled": false, +"slice_60/save_to_file/keep_custom_tracks": false, +"slice_60/save_to_file/path": "", +"slice_60/start_frame": 0, +"slice_61/end_frame": 0, +"slice_61/loop_mode": 0, +"slice_61/name": "", +"slice_61/save_to_file/enabled": false, +"slice_61/save_to_file/keep_custom_tracks": false, +"slice_61/save_to_file/path": "", +"slice_61/start_frame": 0, +"slice_62/end_frame": 0, +"slice_62/loop_mode": 0, +"slice_62/name": "", +"slice_62/save_to_file/enabled": false, +"slice_62/save_to_file/keep_custom_tracks": false, +"slice_62/save_to_file/path": "", +"slice_62/start_frame": 0, +"slice_63/end_frame": 0, +"slice_63/loop_mode": 0, +"slice_63/name": "", +"slice_63/save_to_file/enabled": false, +"slice_63/save_to_file/keep_custom_tracks": false, +"slice_63/save_to_file/path": "", +"slice_63/start_frame": 0, +"slice_64/end_frame": 0, +"slice_64/loop_mode": 0, +"slice_64/name": "", +"slice_64/save_to_file/enabled": false, +"slice_64/save_to_file/keep_custom_tracks": false, +"slice_64/save_to_file/path": "", +"slice_64/start_frame": 0, +"slice_65/end_frame": 0, +"slice_65/loop_mode": 0, +"slice_65/name": "", +"slice_65/save_to_file/enabled": false, +"slice_65/save_to_file/keep_custom_tracks": false, +"slice_65/save_to_file/path": "", +"slice_65/start_frame": 0, +"slice_66/end_frame": 0, +"slice_66/loop_mode": 0, +"slice_66/name": "", +"slice_66/save_to_file/enabled": false, +"slice_66/save_to_file/keep_custom_tracks": false, +"slice_66/save_to_file/path": "", +"slice_66/start_frame": 0, +"slice_67/end_frame": 0, +"slice_67/loop_mode": 0, +"slice_67/name": "", +"slice_67/save_to_file/enabled": false, +"slice_67/save_to_file/keep_custom_tracks": false, +"slice_67/save_to_file/path": "", +"slice_67/start_frame": 0, +"slice_68/end_frame": 0, +"slice_68/loop_mode": 0, +"slice_68/name": "", +"slice_68/save_to_file/enabled": false, +"slice_68/save_to_file/keep_custom_tracks": false, +"slice_68/save_to_file/path": "", +"slice_68/start_frame": 0, +"slice_69/end_frame": 0, +"slice_69/loop_mode": 0, +"slice_69/name": "", +"slice_69/save_to_file/enabled": false, +"slice_69/save_to_file/keep_custom_tracks": false, +"slice_69/save_to_file/path": "", +"slice_69/start_frame": 0, +"slice_7/end_frame": 0, +"slice_7/loop_mode": 0, +"slice_7/name": "", +"slice_7/save_to_file/enabled": false, +"slice_7/save_to_file/keep_custom_tracks": false, +"slice_7/save_to_file/path": "", +"slice_7/start_frame": 0, +"slice_70/end_frame": 0, +"slice_70/loop_mode": 0, +"slice_70/name": "", +"slice_70/save_to_file/enabled": false, +"slice_70/save_to_file/keep_custom_tracks": false, +"slice_70/save_to_file/path": "", +"slice_70/start_frame": 0, +"slice_71/end_frame": 0, +"slice_71/loop_mode": 0, +"slice_71/name": "", +"slice_71/save_to_file/enabled": false, +"slice_71/save_to_file/keep_custom_tracks": false, +"slice_71/save_to_file/path": "", +"slice_71/start_frame": 0, +"slice_72/end_frame": 0, +"slice_72/loop_mode": 0, +"slice_72/name": "", +"slice_72/save_to_file/enabled": false, +"slice_72/save_to_file/keep_custom_tracks": false, +"slice_72/save_to_file/path": "", +"slice_72/start_frame": 0, +"slice_73/end_frame": 0, +"slice_73/loop_mode": 0, +"slice_73/name": "", +"slice_73/save_to_file/enabled": false, +"slice_73/save_to_file/keep_custom_tracks": false, +"slice_73/save_to_file/path": "", +"slice_73/start_frame": 0, +"slice_74/end_frame": 0, +"slice_74/loop_mode": 0, +"slice_74/name": "", +"slice_74/save_to_file/enabled": false, +"slice_74/save_to_file/keep_custom_tracks": false, +"slice_74/save_to_file/path": "", +"slice_74/start_frame": 0, +"slice_75/end_frame": 0, +"slice_75/loop_mode": 0, +"slice_75/name": "", +"slice_75/save_to_file/enabled": false, +"slice_75/save_to_file/keep_custom_tracks": false, +"slice_75/save_to_file/path": "", +"slice_75/start_frame": 0, +"slice_76/end_frame": 0, +"slice_76/loop_mode": 0, +"slice_76/name": "", +"slice_76/save_to_file/enabled": false, +"slice_76/save_to_file/keep_custom_tracks": false, +"slice_76/save_to_file/path": "", +"slice_76/start_frame": 0, +"slice_77/end_frame": 0, +"slice_77/loop_mode": 0, +"slice_77/name": "", +"slice_77/save_to_file/enabled": false, +"slice_77/save_to_file/keep_custom_tracks": false, +"slice_77/save_to_file/path": "", +"slice_77/start_frame": 0, +"slice_78/end_frame": 0, +"slice_78/loop_mode": 0, +"slice_78/name": "", +"slice_78/save_to_file/enabled": false, +"slice_78/save_to_file/keep_custom_tracks": false, +"slice_78/save_to_file/path": "", +"slice_78/start_frame": 0, +"slice_79/end_frame": 0, +"slice_79/loop_mode": 0, +"slice_79/name": "", +"slice_79/save_to_file/enabled": false, +"slice_79/save_to_file/keep_custom_tracks": false, +"slice_79/save_to_file/path": "", +"slice_79/start_frame": 0, +"slice_8/end_frame": 0, +"slice_8/loop_mode": 0, +"slice_8/name": "", +"slice_8/save_to_file/enabled": false, +"slice_8/save_to_file/keep_custom_tracks": false, +"slice_8/save_to_file/path": "", +"slice_8/start_frame": 0, +"slice_80/end_frame": 0, +"slice_80/loop_mode": 0, +"slice_80/name": "", +"slice_80/save_to_file/enabled": false, +"slice_80/save_to_file/keep_custom_tracks": false, +"slice_80/save_to_file/path": "", +"slice_80/start_frame": 0, +"slice_81/end_frame": 0, +"slice_81/loop_mode": 0, +"slice_81/name": "", +"slice_81/save_to_file/enabled": false, +"slice_81/save_to_file/keep_custom_tracks": false, +"slice_81/save_to_file/path": "", +"slice_81/start_frame": 0, +"slice_82/end_frame": 0, +"slice_82/loop_mode": 0, +"slice_82/name": "", +"slice_82/save_to_file/enabled": false, +"slice_82/save_to_file/keep_custom_tracks": false, +"slice_82/save_to_file/path": "", +"slice_82/start_frame": 0, +"slice_83/end_frame": 0, +"slice_83/loop_mode": 0, +"slice_83/name": "", +"slice_83/save_to_file/enabled": false, +"slice_83/save_to_file/keep_custom_tracks": false, +"slice_83/save_to_file/path": "", +"slice_83/start_frame": 0, +"slice_84/end_frame": 0, +"slice_84/loop_mode": 0, +"slice_84/name": "", +"slice_84/save_to_file/enabled": false, +"slice_84/save_to_file/keep_custom_tracks": false, +"slice_84/save_to_file/path": "", +"slice_84/start_frame": 0, +"slice_85/end_frame": 0, +"slice_85/loop_mode": 0, +"slice_85/name": "", +"slice_85/save_to_file/enabled": false, +"slice_85/save_to_file/keep_custom_tracks": false, +"slice_85/save_to_file/path": "", +"slice_85/start_frame": 0, +"slice_86/end_frame": 0, +"slice_86/loop_mode": 0, +"slice_86/name": "", +"slice_86/save_to_file/enabled": false, +"slice_86/save_to_file/keep_custom_tracks": false, +"slice_86/save_to_file/path": "", +"slice_86/start_frame": 0, +"slice_87/end_frame": 0, +"slice_87/loop_mode": 0, +"slice_87/name": "", +"slice_87/save_to_file/enabled": false, +"slice_87/save_to_file/keep_custom_tracks": false, +"slice_87/save_to_file/path": "", +"slice_87/start_frame": 0, +"slice_88/end_frame": 0, +"slice_88/loop_mode": 0, +"slice_88/name": "", +"slice_88/save_to_file/enabled": false, +"slice_88/save_to_file/keep_custom_tracks": false, +"slice_88/save_to_file/path": "", +"slice_88/start_frame": 0, +"slice_89/end_frame": 0, +"slice_89/loop_mode": 0, +"slice_89/name": "", +"slice_89/save_to_file/enabled": false, +"slice_89/save_to_file/keep_custom_tracks": false, +"slice_89/save_to_file/path": "", +"slice_89/start_frame": 0, +"slice_9/end_frame": 0, +"slice_9/loop_mode": 0, +"slice_9/name": "", +"slice_9/save_to_file/enabled": false, +"slice_9/save_to_file/keep_custom_tracks": false, +"slice_9/save_to_file/path": "", +"slice_9/start_frame": 0, +"slice_90/end_frame": 0, +"slice_90/loop_mode": 0, +"slice_90/name": "", +"slice_90/save_to_file/enabled": false, +"slice_90/save_to_file/keep_custom_tracks": false, +"slice_90/save_to_file/path": "", +"slice_90/start_frame": 0, +"slice_91/end_frame": 0, +"slice_91/loop_mode": 0, +"slice_91/name": "", +"slice_91/save_to_file/enabled": false, +"slice_91/save_to_file/keep_custom_tracks": false, +"slice_91/save_to_file/path": "", +"slice_91/start_frame": 0, +"slice_92/end_frame": 0, +"slice_92/loop_mode": 0, +"slice_92/name": "", +"slice_92/save_to_file/enabled": false, +"slice_92/save_to_file/keep_custom_tracks": false, +"slice_92/save_to_file/path": "", +"slice_92/start_frame": 0, +"slice_93/end_frame": 0, +"slice_93/loop_mode": 0, +"slice_93/name": "", +"slice_93/save_to_file/enabled": false, +"slice_93/save_to_file/keep_custom_tracks": false, +"slice_93/save_to_file/path": "", +"slice_93/start_frame": 0, +"slice_94/end_frame": 0, +"slice_94/loop_mode": 0, +"slice_94/name": "", +"slice_94/save_to_file/enabled": false, +"slice_94/save_to_file/keep_custom_tracks": false, +"slice_94/save_to_file/path": "", +"slice_94/start_frame": 0, +"slice_95/end_frame": 0, +"slice_95/loop_mode": 0, +"slice_95/name": "", +"slice_95/save_to_file/enabled": false, +"slice_95/save_to_file/keep_custom_tracks": false, +"slice_95/save_to_file/path": "", +"slice_95/start_frame": 0, +"slice_96/end_frame": 0, +"slice_96/loop_mode": 0, +"slice_96/name": "", +"slice_96/save_to_file/enabled": false, +"slice_96/save_to_file/keep_custom_tracks": false, +"slice_96/save_to_file/path": "", +"slice_96/start_frame": 0, +"slice_97/end_frame": 0, +"slice_97/loop_mode": 0, +"slice_97/name": "", +"slice_97/save_to_file/enabled": false, +"slice_97/save_to_file/keep_custom_tracks": false, +"slice_97/save_to_file/path": "", +"slice_97/start_frame": 0, +"slice_98/end_frame": 0, +"slice_98/loop_mode": 0, +"slice_98/name": "", +"slice_98/save_to_file/enabled": false, +"slice_98/save_to_file/keep_custom_tracks": false, +"slice_98/save_to_file/path": "", +"slice_98/start_frame": 0, +"slice_99/end_frame": 0, +"slice_99/loop_mode": 0, +"slice_99/name": "", +"slice_99/save_to_file/enabled": false, +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, "RESET": { "save_to_file/enabled": true, "save_to_file/keep_custom_tracks": "", @@ -12628,6 +14427,10 @@ _subresources={ } }, "materials": { +"Gunshot": { +"use_external/enabled": true, +"use_external/path": "res://models/materials/Gunshot.tres" +}, "Material": { "use_external/enabled": true, "use_external/path": "res://models/materials/Material.tres" @@ -12641,9 +14444,6 @@ _subresources={ "PATH:skeleton_character/Skeleton3D": { "rest_pose/external_animation_library": null }, -"PATH:skeleton_character/Skeleton3D/Circle": { -"mesh_instance/layers": 2 -}, "PATH:skeleton_character/Skeleton3D/mesh_character": { "mesh_instance/layers": 2 }, diff --git a/godot/models/character_muzzleflash.png b/godot/models/character_muzzleflash.png new file mode 100644 index 0000000..9dbf1ce --- /dev/null +++ b/godot/models/character_muzzleflash.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8998ebcf9b8147bbe4edd71e40feac24f0ed4296c54c4f3219461c77de8a6b7c +size 218335 diff --git a/godot/models/character_muzzleflash.png.import b/godot/models/character_muzzleflash.png.import new file mode 100644 index 0000000..b908a25 --- /dev/null +++ b/godot/models/character_muzzleflash.png.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr6iscmse3pja" +path.s3tc="res://.godot/imported/character_muzzleflash.png-982b5cc9aafb2911f8e3e2752c795058.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "d02c4037a6c9c0bec62182aef0071f85" +} + +[deps] + +source_file="res://models/character_muzzleflash.png" +dest_files=["res://.godot/imported/character_muzzleflash.png-982b5cc9aafb2911f8e3e2752c795058.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/godot/models/materials/Gunshot.tres b/godot/models/materials/Gunshot.tres new file mode 100644 index 0000000..7b83483 --- /dev/null +++ b/godot/models/materials/Gunshot.tres @@ -0,0 +1,16 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://38dxpo5acw13"] + +[ext_resource type="Texture2D" uid="uid://cr6iscmse3pja" path="res://models/character_muzzleflash.png" id="1_2oiaa"] + +[resource] +resource_name = "Gunshot" +transparency = 3 +alpha_hash_scale = 1.0 +alpha_antialiasing_mode = 1 +alpha_antialiasing_edge = 0.3 +cull_mode = 2 +shading_mode = 0 +diffuse_mode = 3 +specular_mode = 1 +albedo_texture = ExtResource("1_2oiaa") +texture_repeat = false diff --git a/godot/models/props/trenchfloor.glb b/godot/models/props/trenchfloor.glb index 3a0e5ea..f65f58e 100644 --- a/godot/models/props/trenchfloor.glb +++ b/godot/models/props/trenchfloor.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c546fdfeadb40663f4ab84cd2711f94e1e7ef183f5faf5c09e27c54210d0109 -size 8134928 +oid sha256:9cd36b8939c5584f1e8188eb4c1bdbc3d9d9455441b8937517a2cc150bb9c815 +size 8134804 diff --git a/godot/models/props/trenchfloor.glb.unwrap_cache b/godot/models/props/trenchfloor.glb.unwrap_cache index 11f2c1a..bb95588 100644 Binary files a/godot/models/props/trenchfloor.glb.unwrap_cache and b/godot/models/props/trenchfloor.glb.unwrap_cache differ diff --git a/godot/models/props/trenchwall_2m.glb b/godot/models/props/trenchwall_2m.glb index 9806a79..8782ed1 100644 --- a/godot/models/props/trenchwall_2m.glb +++ b/godot/models/props/trenchwall_2m.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba49beee1728494f58e21f2d9e8ea0aad61bb5cef5c6b1f4ed5fbbf99bcdddc5 -size 7717648 +oid sha256:2e2e49d4de4e0d1c9f0804741cc656f9eff22b0f4dfb0e12c2e10d3ac51c6f53 +size 7717900 diff --git a/godot/models/props/walkover.glb b/godot/models/props/walkover.glb index 9cebff2..30e5180 100644 --- a/godot/models/props/walkover.glb +++ b/godot/models/props/walkover.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:906060860d57464b1e1a4b1a9db9ec50de73b2acd1255e3cb432480a6784d50c -size 7715712 +oid sha256:467530e034f27b891b1dd2010ee2beb3a6544ca04244e66054bec547136ff5b9 +size 7720232 diff --git a/godot/models/props/walkover.glb.unwrap_cache b/godot/models/props/walkover.glb.unwrap_cache index 8102b56..08e4538 100644 Binary files a/godot/models/props/walkover.glb.unwrap_cache and b/godot/models/props/walkover.glb.unwrap_cache differ diff --git a/godot/objects/character_model_base.tscn b/godot/objects/character_model_base.tscn new file mode 100644 index 0000000..8f000a6 --- /dev/null +++ b/godot/objects/character_model_base.tscn @@ -0,0 +1,126 @@ +[gd_scene load_steps=3 format=3 uid="uid://bnr6lab7heo8e"] + +[ext_resource type="PackedScene" uid="uid://vub54xgk5n0h" path="res://models/character.glb" id="1_vq0u3"] +[ext_resource type="AnimationNodeBlendTree" uid="uid://c7rxfpfy7vt1b" path="res://models/animations/character_tree.tres" id="2_wdyfc"] + +[node name="CharacterModel" instance=ExtResource("1_vq0u3")] + +[node name="Skeleton3D" parent="skeleton_character" index="0"] +bones/0/rotation = Quaternion(1.12928e-22, 1, 2.98023e-08, -1.94707e-07) +bones/1/position = Vector3(3.28472e-17, 0.826102, -2.26306e-09) +bones/1/rotation = Quaternion(-0.0189874, -6.30661e-09, -1.08732e-09, 0.99982) +bones/2/rotation = Quaternion(0.0262842, 8.66579e-09, 1.56723e-09, 0.999655) +bones/3/rotation = Quaternion(-0.013812, -0.124595, 8.42949e-05, 0.992112) +bones/4/rotation = Quaternion(0.0100466, -3.89644e-10, 6.78268e-10, 0.99995) +bones/5/rotation = Quaternion(-0.0233085, 0.0669743, -0.00156502, 0.997481) +bones/6/rotation = Quaternion(0.623077, 0.672557, 0.307599, -0.254607) +bones/7/rotation = Quaternion(-0.311931, -0.528262, 0.360764, 0.702487) +bones/8/rotation = Quaternion(0.385362, 0.19105, 0.552643, 0.71385) +bones/9/rotation = Quaternion(0.204715, 0.0914037, 0.275611, 0.93476) +bones/10/rotation = Quaternion(-0.160687, -0.0459478, -0.0475321, 0.984789) +bones/10/scale = Vector3(1, 1, 1) +bones/11/rotation = Quaternion(-0.0305181, -0.0130498, -0.0216154, 0.999215) +bones/11/scale = Vector3(1, 1, 1) +bones/12/rotation = Quaternion(0.00872478, 0.00565776, 0.00131029, 0.999945) +bones/12/scale = Vector3(1, 1, 1) +bones/13/rotation = Quaternion(-0.617934, -0.0462445, 0.180663, 0.763793) +bones/13/scale = Vector3(1, 1, 1) +bones/14/rotation = Quaternion(-0.23045, 0.0743406, 0.160693, 0.956841) +bones/15/rotation = Quaternion(-0.541263, -0.00752764, 0.238029, 0.806424) +bones/15/scale = Vector3(1, 1, 1) +bones/16/rotation = Quaternion(-0.611023, -0.262913, 0.402215, 0.629087) +bones/16/scale = Vector3(1, 1, 1) +bones/17/rotation = Quaternion(0.0158023, 0.0368156, 0.177499, 0.983305) +bones/18/rotation = Quaternion(-0.115784, 0.0786986, 0.503797, 0.852402) +bones/19/rotation = Quaternion(-0.77808, 0.139756, 0.0140335, 0.612261) +bones/19/scale = Vector3(1, 1, 1) +bones/20/rotation = Quaternion(-0.0923591, 0.0238578, 0.0736642, 0.992711) +bones/21/rotation = Quaternion(-0.193467, 0.101022, 0.0447897, 0.974864) +bones/21/scale = Vector3(1, 1, 1) +bones/22/rotation = Quaternion(-0.293695, -0.10649, 0.259809, 0.91373) +bones/22/scale = Vector3(1, 1, 1) +bones/23/rotation = Quaternion(-0.0310475, -0.0162324, -0.00151601, 0.999385) +bones/24/rotation = Quaternion(0.140362, -0.0289769, -0.195164, 0.970242) +bones/25/rotation = Quaternion(0.585184, -0.476496, -0.473244, -0.454479) +bones/25/scale = Vector3(1, 1, 1) +bones/26/rotation = Quaternion(-0.449756, 0.301541, -0.311322, 0.780943) +bones/27/rotation = Quaternion(-0.122233, -0.135947, -0.565028, 0.804562) +bones/27/scale = Vector3(1, 1, 1) +bones/28/rotation = Quaternion(0.155387, -0.432411, -0.521703, 0.71882) +bones/29/rotation = Quaternion(-0.0486369, 0.0590467, -0.0759536, 0.994173) +bones/30/rotation = Quaternion(-0.0305179, 0.0130499, 0.0216153, 0.999215) +bones/30/scale = Vector3(1, 1, 1) +bones/31/rotation = Quaternion(-0.518356, -0.00412336, -0.00408933, 0.855145) +bones/32/rotation = Quaternion(-0.290993, 0.0788459, 0.0248015, 0.953148) +bones/33/rotation = Quaternion(-0.419789, -0.067382, -0.039477, 0.904256) +bones/33/scale = Vector3(1, 1, 1) +bones/34/rotation = Quaternion(-0.266884, 0.00530696, 0.00065886, 0.963714) +bones/34/scale = Vector3(1, 1, 1) +bones/35/rotation = Quaternion(-0.422483, 0.214372, -0.00100307, 0.880654) +bones/36/rotation = Quaternion(-0.345783, -0.0439312, -0.261553, 0.900052) +bones/36/scale = Vector3(1, 1, 1) +bones/37/rotation = Quaternion(-0.0107008, 0.00769689, 0.00365465, 0.999906) +bones/37/scale = Vector3(1, 1, 1) +bones/38/rotation = Quaternion(-0.389883, 0.108139, -0.120461, 0.906524) +bones/39/rotation = Quaternion(-0.399909, -0.0921328, -0.130163, 0.902575) +bones/40/rotation = Quaternion(-0.0125688, 0.0114118, 0.00134584, 0.999855) +bones/40/scale = Vector3(1, 1, 1) +bones/41/rotation = Quaternion(-0.0497163, 0.0839878, -0.166226, 0.981246) +bones/42/rotation = Quaternion(-0.0310476, 0.0162325, 0.00151597, 0.999385) +bones/43/rotation = Quaternion(-0.00109126, -0.0104143, 0.0283538, 0.999543) +bones/44/position = Vector3(0.16719, 0.195796, -0.0454406) +bones/44/rotation = Quaternion(-0.610992, 0.0971646, 0.14821, 0.771545) +bones/45/rotation = Quaternion(-0.82326, 4.1804e-09, -1.03579e-07, 0.567665) +bones/46/position = Vector3(8.07956e-09, 0.0363644, 0.0392254) +bones/46/rotation = Quaternion(-0.00112372, -6.23921e-08, 6.44731e-09, 0.999999) +bones/48/rotation = Quaternion(0.706312, -2.22455e-08, 6.70979e-08, 0.707901) +bones/48/scale = Vector3(1, 1, 1) +bones/49/position = Vector3(0.0228929, -0.0282939, -0.00824324) +bones/49/rotation = Quaternion(-0.112129, 0.585203, -0.155744, 0.78785) +bones/49/scale = Vector3(1, 1, 1) +bones/50/position = Vector3(-0.0246244, 0.246628, -0.0197923) +bones/50/rotation = Quaternion(0.31578, 0.920316, 0.115311, -0.200014) +bones/50/scale = Vector3(1, 1, 1) +bones/51/rotation = Quaternion(0.997309, -0.00549226, 0.0715033, -0.015225) +bones/51/scale = Vector3(1, 1, 1) +bones/52/rotation = Quaternion(-0.00225666, 0.00306653, -0.000453776, 0.999993) +bones/52/scale = Vector3(1, 1, 1) +bones/53/rotation = Quaternion(0.665461, 0.000165138, -0.00238783, 0.746429) +bones/54/rotation = Quaternion(0.997309, 0.00549226, -0.0715033, -0.015225) +bones/54/scale = Vector3(1, 1, 1) +bones/55/rotation = Quaternion(-0.00225666, -0.0030665, 0.000453778, 0.999993) +bones/55/scale = Vector3(1, 1, 1) +bones/56/rotation = Quaternion(0.665461, -0.000165001, 0.00238774, 0.746429) +bones/56/scale = Vector3(1, 1, 1) +bones/57/scale = Vector3(0, 0, 0) +bones/58/rotation = Quaternion(-2.99921e-13, 0.707107, 0.707107, -2.99921e-13) +bones/59/rotation = Quaternion(2.01446e-13, 0.707107, 0.707107, 2.01446e-13) +bones/60/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) +bones/61/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) +bones/62/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) +bones/63/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) + +[node name="BoneAttachment3D" type="BoneAttachment3D" parent="skeleton_character/Skeleton3D" index="3"] +transform = Transform3D(-0.937186, 0.347435, 0.0311762, 0.0973187, 0.17459, 0.97982, 0.33498, 0.921308, -0.197435, -0.16719, 1.02003, 0.0528419) +bone_name = "rifle" +bone_idx = 44 + +[node name="HitscanMuzzle" type="HitscanMuzzle" parent="skeleton_character/Skeleton3D/BoneAttachment3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.37487e-08, 0.5644, 0.0479187) +enabled = false +target_position = Vector3(0, 15, 0) +collision_mask = 3 + +[node name="AnimationPlayer" parent="." index="1"] +root_motion_track = NodePath("skeleton_character/Skeleton3D:root") + +[node name="AnimationTree" type="PlayerAnimTree" parent="." index="2"] +root_motion_track = NodePath("skeleton_character/Skeleton3D:root") +tree_root = ExtResource("2_wdyfc") +anim_player = NodePath("../AnimationPlayer") +parameters/Actions/Run/Speed/blend_amount = 0 +"parameters/Actions/Stationary [turn]/BoneMask/blend_amount" = 0 +"parameters/Actions/Stationary [turn]/Turn/blend_position" = 0 +"parameters/Actions/Walk [turn]/Speed/blend_amount" = 0 +parameters/DeathBlend/blend_amount = 0 +parameters/DeathSeek/seek_request = -1.0 diff --git a/godot/objects/enemy.tscn b/godot/objects/enemy.tscn new file mode 100644 index 0000000..addfbca --- /dev/null +++ b/godot/objects/enemy.tscn @@ -0,0 +1,80 @@ +[gd_scene load_steps=3 format=3 uid="uid://0fykl1mw3c12"] + +[ext_resource type="PackedScene" uid="uid://bnr6lab7heo8e" path="res://objects/character_model_base.tscn" id="1_i7aop"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3tduq"] +radius = 0.370388 + +[node name="Enemy" type="Enemy"] +collision_layer = 3 +collision_mask = 3 + +[node name="CharacterModel" parent="." instance=ExtResource("1_i7aop")] +unique_name_in_owner = true + +[node name="Skeleton3D" parent="CharacterModel/skeleton_character" index="0"] +bones/0/rotation = Quaternion(1.12928e-22, 1, 2.98023e-08, -1.94707e-07) +bones/1/position = Vector3(3.28472e-17, 0.826102, -2.26306e-09) +bones/1/rotation = Quaternion(-0.0189874, -6.30661e-09, -1.08732e-09, 0.99982) +bones/2/rotation = Quaternion(0.0262842, 8.66579e-09, 1.56723e-09, 0.999655) +bones/3/rotation = Quaternion(-0.013812, -0.124595, 8.42949e-05, 0.992112) +bones/4/rotation = Quaternion(0.0100466, -3.89644e-10, 6.78268e-10, 0.99995) +bones/5/rotation = Quaternion(-0.0233085, 0.0669743, -0.00156502, 0.997481) +bones/6/rotation = Quaternion(0.623077, 0.672557, 0.307599, -0.254607) +bones/7/rotation = Quaternion(-0.311931, -0.528262, 0.360764, 0.702487) +bones/8/rotation = Quaternion(0.385362, 0.19105, 0.552643, 0.71385) +bones/9/rotation = Quaternion(0.204715, 0.0914037, 0.275611, 0.93476) +bones/10/rotation = Quaternion(-0.160687, -0.0459478, -0.0475321, 0.984789) +bones/11/rotation = Quaternion(-0.0305181, -0.0130498, -0.0216154, 0.999215) +bones/12/rotation = Quaternion(0.00872478, 0.00565776, 0.00131029, 0.999945) +bones/13/rotation = Quaternion(-0.617934, -0.0462445, 0.180663, 0.763793) +bones/14/rotation = Quaternion(-0.23045, 0.0743406, 0.160693, 0.956841) +bones/15/rotation = Quaternion(-0.541263, -0.00752764, 0.238029, 0.806424) +bones/16/rotation = Quaternion(-0.611023, -0.262913, 0.402215, 0.629087) +bones/17/rotation = Quaternion(0.0158023, 0.0368156, 0.177499, 0.983305) +bones/18/rotation = Quaternion(-0.115784, 0.0786986, 0.503797, 0.852402) +bones/19/rotation = Quaternion(-0.77808, 0.139756, 0.0140335, 0.612261) +bones/20/rotation = Quaternion(-0.0923591, 0.0238578, 0.0736642, 0.992711) +bones/21/rotation = Quaternion(-0.193467, 0.101022, 0.0447897, 0.974864) +bones/22/rotation = Quaternion(-0.293695, -0.10649, 0.259809, 0.91373) +bones/23/rotation = Quaternion(-0.0310475, -0.0162324, -0.00151601, 0.999385) +bones/24/rotation = Quaternion(0.140362, -0.0289769, -0.195164, 0.970242) +bones/25/rotation = Quaternion(0.585184, -0.476496, -0.473244, -0.454479) +bones/26/rotation = Quaternion(-0.449756, 0.301541, -0.311322, 0.780943) +bones/27/rotation = Quaternion(-0.122233, -0.135947, -0.565028, 0.804562) +bones/28/rotation = Quaternion(0.155387, -0.432411, -0.521703, 0.71882) +bones/31/rotation = Quaternion(-0.518356, -0.00412336, -0.00408933, 0.855145) +bones/32/rotation = Quaternion(-0.290993, 0.0788459, 0.0248015, 0.953148) +bones/33/rotation = Quaternion(-0.419789, -0.067382, -0.039477, 0.904256) +bones/34/rotation = Quaternion(-0.266884, 0.00530696, 0.00065886, 0.963714) +bones/35/rotation = Quaternion(-0.422483, 0.214372, -0.00100307, 0.880654) +bones/36/rotation = Quaternion(-0.345783, -0.0439312, -0.261553, 0.900052) +bones/38/rotation = Quaternion(-0.389883, 0.108139, -0.120461, 0.906524) +bones/39/rotation = Quaternion(-0.399909, -0.0921328, -0.130163, 0.902575) +bones/44/position = Vector3(0.16719, 0.195796, -0.0454406) +bones/44/rotation = Quaternion(-0.610992, 0.0971646, 0.14821, 0.771545) +bones/45/rotation = Quaternion(-0.82326, 4.1804e-09, -1.03579e-07, 0.567665) +bones/46/position = Vector3(8.07956e-09, 0.0363644, 0.0392254) +bones/46/rotation = Quaternion(-0.00112372, -6.23921e-08, 6.44731e-09, 0.999999) +bones/49/position = Vector3(0.0228929, -0.0282939, -0.00824324) +bones/49/rotation = Quaternion(-0.112129, 0.585203, -0.155744, 0.78785) +bones/50/position = Vector3(-0.0246244, 0.246628, -0.0197923) +bones/50/rotation = Quaternion(0.31578, 0.920316, 0.115311, -0.200014) +bones/51/rotation = Quaternion(0.997309, -0.00549226, 0.0715033, -0.015225) +bones/52/rotation = Quaternion(-0.00225666, 0.00306653, -0.000453776, 0.999993) +bones/53/rotation = Quaternion(0.665461, 0.000165138, -0.00238783, 0.746429) +bones/54/rotation = Quaternion(0.997309, 0.00549226, -0.0715033, -0.015225) +bones/55/rotation = Quaternion(-0.00225666, -0.0030665, 0.000453778, 0.999993) +bones/56/rotation = Quaternion(0.665461, -0.000165001, 0.00238774, 0.746429) +bones/58/rotation = Quaternion(-2.99921e-13, 0.707107, 0.707107, -2.99921e-13) +bones/59/rotation = Quaternion(2.01446e-13, 0.707107, 0.707107, 2.01446e-13) +bones/60/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) +bones/61/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) +bones/62/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) +bones/63/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +shape = SubResource("CapsuleShape3D_3tduq") + +[editable path="CharacterModel"] diff --git a/godot/objects/player.tscn b/godot/objects/player.tscn index b40646e..a4dfdac 100644 --- a/godot/objects/player.tscn +++ b/godot/objects/player.tscn @@ -1,202 +1,6 @@ -[gd_scene load_steps=40 format=3 uid="uid://1kr3qqan3trk"] +[gd_scene load_steps=4 format=3 uid="uid://1kr3qqan3trk"] -[ext_resource type="PackedScene" uid="uid://vub54xgk5n0h" path="res://models/character.glb" id="1_mi4co"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ukhqm"] -animation = &"Aim" -play_mode = 1 -use_custom_timeline = true -timeline_length = 0.4 -stretch_time_scale = false -start_offset = 0.0 -loop_mode = 0 - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nhlru"] -animation = &"Aim" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8rbkq"] -animation = &"Aim_Fire" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ugv1e"] -animation = &"RESET" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ds004"] -animation = &"RESET" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_axx41"] -animation = &"Run_forward" - -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_aunq0"] -filter_enabled = true -filters = ["skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:Neck", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:spine.002", "skeleton_character/Skeleton3D:spine.003", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"] - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hmklb"] -graph_offset = Vector2(-813.273, 105.409) -nodes/Rest/node = SubResource("AnimationNodeAnimation_ds004") -nodes/Rest/position = Vector2(-160, 160) -nodes/Run/node = SubResource("AnimationNodeAnimation_axx41") -nodes/Run/position = Vector2(-160, 380) -nodes/Speed/node = SubResource("AnimationNodeBlend2_aunq0") -nodes/Speed/position = Vector2(80, 140) -nodes/output/position = Vector2(320, 140) -node_connections = [&"Speed", 0, &"Rest", &"Speed", 1, &"Run", &"output", 0, &"Speed"] - -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4hmb8"] -filter_enabled = true -filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:Neck", "Character/Skeleton3D:PoleTarget.Foot.L", "Character/Skeleton3D:PoleTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:spine.003", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5n7ai"] -animation = &"RESET" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cmc4t"] -animation = &"Turn_right" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wfckx"] -animation = &"Turn_left" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6neek"] -animation = &"RESET" - -[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_kxn5j"] -blend_point_0/node = SubResource("AnimationNodeAnimation_cmc4t") -blend_point_0/pos = -1.0 -blend_point_1/node = SubResource("AnimationNodeAnimation_wfckx") -blend_point_1/pos = 1.0 -blend_point_2/node = SubResource("AnimationNodeAnimation_6neek") -blend_point_2/pos = 0.0 - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_p0hk7"] -graph_offset = Vector2(-480.5, 90) -nodes/BoneMask/node = SubResource("AnimationNodeBlend2_4hmb8") -nodes/BoneMask/position = Vector2(140, 140) -nodes/Rest/node = SubResource("AnimationNodeAnimation_5n7ai") -nodes/Rest/position = Vector2(-100, 160) -nodes/Turn/node = SubResource("AnimationNodeBlendSpace1D_kxn5j") -nodes/Turn/position = Vector2(-100, 380) -nodes/output/position = Vector2(380, 140) -node_connections = [&"BoneMask", 0, &"Rest", &"BoneMask", 1, &"Turn", &"output", 0, &"BoneMask"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7ceai"] -animation = &"RESET" - -[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_rb1jd"] -filter_enabled = true -filters = ["Character/Skeleton3D:Foot.L", "Character/Skeleton3D:Foot.R", "Character/Skeleton3D:IKTarget.Foot.L", "Character/Skeleton3D:IKTarget.Foot.R", "Character/Skeleton3D:hip", "Character/Skeleton3D:lowerleg.L", "Character/Skeleton3D:lowerleg.R", "Character/Skeleton3D:root", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R", "skeleton_character/Skeleton3D:Foot.L", "skeleton_character/Skeleton3D:Foot.R", "skeleton_character/Skeleton3D:IKTarget.Foot.L", "skeleton_character/Skeleton3D:IKTarget.Foot.R", "skeleton_character/Skeleton3D:PoleTarget.Foot.L", "skeleton_character/Skeleton3D:PoleTarget.Foot.R", "skeleton_character/Skeleton3D:hip", "skeleton_character/Skeleton3D:lowerleg.L", "skeleton_character/Skeleton3D:lowerleg.R", "skeleton_character/Skeleton3D:root", "skeleton_character/Skeleton3D:spine.001", "skeleton_character/Skeleton3D:upperleg.L", "skeleton_character/Skeleton3D:upperleg.R"] - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_psu0r"] -animation = &"Walk_forward" - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2mbyh"] -graph_offset = Vector2(-724.58, 74.5681) -nodes/Base/node = SubResource("AnimationNodeAnimation_7ceai") -nodes/Base/position = Vector2(-120, 120) -nodes/Speed/node = SubResource("AnimationNodeBlend2_rb1jd") -nodes/Speed/position = Vector2(100, 120) -nodes/Walk/node = SubResource("AnimationNodeAnimation_psu0r") -nodes/Walk/position = Vector2(-140, 300) -node_connections = [&"Speed", 0, &"Base", &"Speed", 1, &"Walk", &"output", 0, &"Speed"] - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4lybd"] -switch_mode = 2 -advance_mode = 2 -advance_expression = "!aim_weapon" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5aafd"] -xfade_time = 0.3 -switch_mode = 2 -advance_mode = 2 -advance_expression = "get_input_direction() > 0.f" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8f4gl"] -priority = 2 -switch_mode = 2 -advance_mode = 2 -advance_expression = "get_fire_weapon()" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xnat3"] -reset = false -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_12bos"] -advance_mode = 2 -advance_expression = "get_input_directions().y < -0.5" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n0ndr"] -priority = 2 -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0wc5e"] -xfade_time = 0.2 -priority = 2 -advance_mode = 2 -advance_expression = "!is_walking || walk_speed <= 0.0" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4hisb"] -xfade_time = 0.2 -advance_mode = 2 -advance_expression = "is_walking && walk_speed > 0.0" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_bmty6"] -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_kyd6p"] -xfade_time = 0.05 -advance_mode = 2 -advance_expression = "aim_weapon" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w5kob"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_g0i3x"] -xfade_time = 0.4 -advance_mode = 2 -advance_expression = "get_is_running() -" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ocffv"] -xfade_time = 0.3 -advance_mode = 2 -advance_expression = "get_is_running() -" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h0my5"] -xfade_time = 0.4 -advance_mode = 2 -advance_expression = "!get_is_running()" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nymcr"] -xfade_time = 0.3 -advance_mode = 2 -advance_expression = "!get_is_running()" - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_7smdg"] -"states/Aim Down [aim]/node" = SubResource("AnimationNodeAnimation_ukhqm") -"states/Aim Down [aim]/position" = Vector2(666.26, 226.767) -"states/Aim [aim] [turn]/node" = SubResource("AnimationNodeAnimation_nhlru") -"states/Aim [aim] [turn]/position" = Vector2(731.26, 94.3447) -states/End/position = Vector2(195.182, 94.3447) -"states/Fire [aim]/node" = SubResource("AnimationNodeAnimation_8rbkq") -"states/Fire [aim]/position" = Vector2(731.26, 14.954) -"states/RESET To Aim/node" = SubResource("AnimationNodeAnimation_ugv1e") -"states/RESET To Aim/position" = Vector2(566.993, 94.3447) -states/Run/node = SubResource("AnimationNodeBlendTree_hmklb") -states/Run/position = Vector2(297.422, 226.767) -states/Start/position = Vector2(383.995, 14.954) -"states/Stationary [turn]/node" = SubResource("AnimationNodeBlendTree_p0hk7") -"states/Stationary [turn]/position" = Vector2(383.995, 94.3447) -"states/Walk [turn]/node" = SubResource("AnimationNodeBlendTree_2mbyh") -"states/Walk [turn]/position" = Vector2(477.995, 226.767) -transitions = ["Aim [aim] [turn]", "Aim Down [aim]", SubResource("AnimationNodeStateMachineTransition_4lybd"), "Aim Down [aim]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_5aafd"), "Aim [aim] [turn]", "Fire [aim]", SubResource("AnimationNodeStateMachineTransition_8f4gl"), "Fire [aim]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_xnat3"), "Walk [turn]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_12bos"), "Aim Down [aim]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_n0ndr"), "Walk [turn]", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_0wc5e"), "Stationary [turn]", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_4hisb"), "Start", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_bmty6"), "Stationary [turn]", "RESET To Aim", SubResource("AnimationNodeStateMachineTransition_kyd6p"), "RESET To Aim", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_w5kob"), "Stationary [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_g0i3x"), "Walk [turn]", "Run", SubResource("AnimationNodeStateMachineTransition_ocffv"), "Run", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_h0my5"), "Run", "Walk [turn]", SubResource("AnimationNodeStateMachineTransition_nymcr")] -graph_offset = Vector2(-139.078, -60.155) - -[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hiswf"] -nodes/Actions/node = SubResource("AnimationNodeStateMachine_7smdg") -nodes/Actions/position = Vector2(80, 140) -nodes/output/position = Vector2(327.273, 163.636) -node_connections = [&"output", 0, &"Actions"] +[ext_resource type="PackedScene" uid="uid://bnr6lab7heo8e" path="res://objects/character_model_base.tscn" id="1_cwt7u"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ewsvd"] radius = 0.370388 @@ -205,121 +9,22 @@ radius = 0.370388 radius = 0.1 [node name="Player" type="Player"] -slide_on_ceiling = false -floor_constant_speed = true -safe_margin = 0.005 +collision_layer = 3 +collision_mask = 3 +floor_snap_length = 0.2 + +[node name="CharacterModel" parent="." instance=ExtResource("1_cwt7u")] +unique_name_in_owner = true + +[node name="BoneAttachment3D" parent="CharacterModel/skeleton_character/Skeleton3D" index="3"] +transform = Transform3D(-0.937186, 0.347435, 0.0311762, 0.0973187, 0.17459, 0.97982, 0.33498, 0.921308, -0.197435, -0.16719, 1.02003, 0.0528419) + +[node name="HitscanMuzzle" parent="CharacterModel/skeleton_character/Skeleton3D/BoneAttachment3D" index="0"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.00234e-08, 0.0436091, 0.0479187) [node name="PlayerInput" type="PlayerInput" parent="."] unique_name_in_owner = true -[node name="CharacterModel" parent="." instance=ExtResource("1_mi4co")] -unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0232956, 0) - -[node name="Skeleton3D" parent="CharacterModel/skeleton_character" index="0"] -bones/0/rotation = Quaternion(1.12928e-22, 1, 2.98023e-08, -1.94707e-07) -bones/1/position = Vector3(3.28472e-17, 0.826102, -2.26306e-09) -bones/1/rotation = Quaternion(-0.0189874, -6.30661e-09, -1.08732e-09, 0.99982) -bones/2/rotation = Quaternion(0.0262842, 8.66579e-09, 1.56723e-09, 0.999655) -bones/3/rotation = Quaternion(-0.013812, -0.124595, 8.42949e-05, 0.992112) -bones/4/rotation = Quaternion(0.0100466, -3.89644e-10, 6.78268e-10, 0.99995) -bones/5/rotation = Quaternion(-0.0233085, 0.0669743, -0.00156502, 0.997481) -bones/6/rotation = Quaternion(0.623077, 0.672557, 0.307599, -0.254607) -bones/7/rotation = Quaternion(-0.311931, -0.528262, 0.360764, 0.702487) -bones/8/rotation = Quaternion(0.385362, 0.19105, 0.552643, 0.71385) -bones/9/rotation = Quaternion(0.204715, 0.0914037, 0.275611, 0.93476) -bones/10/rotation = Quaternion(-0.160687, -0.0459478, -0.0475321, 0.984789) -bones/10/scale = Vector3(1, 1, 1) -bones/11/rotation = Quaternion(-0.0305181, -0.0130498, -0.0216154, 0.999215) -bones/11/scale = Vector3(1, 1, 1) -bones/12/rotation = Quaternion(0.00872478, 0.00565776, 0.00131029, 0.999945) -bones/12/scale = Vector3(1, 1, 1) -bones/13/rotation = Quaternion(-0.617934, -0.0462445, 0.180663, 0.763793) -bones/13/scale = Vector3(1, 1, 1) -bones/14/rotation = Quaternion(-0.23045, 0.0743406, 0.160693, 0.956841) -bones/15/rotation = Quaternion(-0.541263, -0.00752764, 0.238029, 0.806424) -bones/15/scale = Vector3(1, 1, 1) -bones/16/rotation = Quaternion(-0.611023, -0.262913, 0.402215, 0.629087) -bones/16/scale = Vector3(1, 1, 1) -bones/17/rotation = Quaternion(0.0158023, 0.0368156, 0.177499, 0.983305) -bones/18/rotation = Quaternion(-0.115784, 0.0786986, 0.503797, 0.852402) -bones/19/rotation = Quaternion(-0.77808, 0.139756, 0.0140335, 0.612261) -bones/19/scale = Vector3(1, 1, 1) -bones/20/rotation = Quaternion(-0.0923591, 0.0238578, 0.0736642, 0.992711) -bones/21/rotation = Quaternion(-0.193467, 0.101022, 0.0447897, 0.974864) -bones/21/scale = Vector3(1, 1, 1) -bones/22/rotation = Quaternion(-0.293695, -0.10649, 0.259809, 0.91373) -bones/22/scale = Vector3(1, 1, 1) -bones/23/rotation = Quaternion(-0.0310475, -0.0162324, -0.00151601, 0.999385) -bones/24/rotation = Quaternion(0.140362, -0.0289769, -0.195164, 0.970242) -bones/25/rotation = Quaternion(0.585184, -0.476496, -0.473244, -0.454479) -bones/25/scale = Vector3(1, 1, 1) -bones/26/rotation = Quaternion(-0.449756, 0.301541, -0.311322, 0.780943) -bones/27/rotation = Quaternion(-0.122233, -0.135947, -0.565028, 0.804562) -bones/27/scale = Vector3(1, 1, 1) -bones/28/rotation = Quaternion(0.155387, -0.432411, -0.521703, 0.71882) -bones/29/rotation = Quaternion(-0.0486369, 0.0590467, -0.0759536, 0.994173) -bones/30/rotation = Quaternion(-0.0305179, 0.0130499, 0.0216153, 0.999215) -bones/30/scale = Vector3(1, 1, 1) -bones/31/rotation = Quaternion(-0.518356, -0.00412336, -0.00408933, 0.855145) -bones/32/rotation = Quaternion(-0.290993, 0.0788459, 0.0248015, 0.953148) -bones/33/rotation = Quaternion(-0.419789, -0.067382, -0.039477, 0.904256) -bones/33/scale = Vector3(1, 1, 1) -bones/34/rotation = Quaternion(-0.266884, 0.00530696, 0.00065886, 0.963714) -bones/34/scale = Vector3(1, 1, 1) -bones/35/rotation = Quaternion(-0.422483, 0.214372, -0.00100307, 0.880654) -bones/36/rotation = Quaternion(-0.345783, -0.0439312, -0.261553, 0.900052) -bones/36/scale = Vector3(1, 1, 1) -bones/37/rotation = Quaternion(-0.0107008, 0.00769689, 0.00365465, 0.999906) -bones/37/scale = Vector3(1, 1, 1) -bones/38/rotation = Quaternion(-0.389883, 0.108139, -0.120461, 0.906524) -bones/39/rotation = Quaternion(-0.399909, -0.0921328, -0.130163, 0.902575) -bones/40/rotation = Quaternion(-0.0125688, 0.0114118, 0.00134584, 0.999855) -bones/40/scale = Vector3(1, 1, 1) -bones/41/rotation = Quaternion(-0.0497163, 0.0839878, -0.166226, 0.981246) -bones/42/rotation = Quaternion(-0.0310476, 0.0162325, 0.00151597, 0.999385) -bones/43/rotation = Quaternion(-0.00109126, -0.0104143, 0.0283538, 0.999543) -bones/44/position = Vector3(0.16719, 0.195796, -0.0454406) -bones/44/rotation = Quaternion(-0.610992, 0.0971646, 0.14821, 0.771545) -bones/45/rotation = Quaternion(-0.82326, 4.1804e-09, -1.03579e-07, 0.567665) -bones/46/position = Vector3(8.07956e-09, 0.0363644, 0.0392254) -bones/46/rotation = Quaternion(-0.00112372, -6.23921e-08, 6.44731e-09, 0.999999) -bones/48/rotation = Quaternion(0.706312, -2.22455e-08, 6.70979e-08, 0.707901) -bones/48/scale = Vector3(1, 1, 1) -bones/49/position = Vector3(0.0228929, -0.0282939, -0.00824324) -bones/49/rotation = Quaternion(-0.112129, 0.585203, -0.155744, 0.78785) -bones/49/scale = Vector3(1, 1, 1) -bones/50/rotation = Quaternion(0.31578, 0.920316, 0.115311, -0.200014) -bones/50/scale = Vector3(1, 1, 1) -bones/51/rotation = Quaternion(0.997309, -0.00549226, 0.0715033, -0.015225) -bones/51/scale = Vector3(1, 1, 1) -bones/52/rotation = Quaternion(-0.00225666, 0.00306653, -0.000453776, 0.999993) -bones/52/scale = Vector3(1, 1, 1) -bones/53/rotation = Quaternion(0.665461, 0.000165138, -0.00238783, 0.746429) -bones/54/rotation = Quaternion(0.997309, 0.00549226, -0.0715033, -0.015225) -bones/54/scale = Vector3(1, 1, 1) -bones/55/rotation = Quaternion(-0.00225666, -0.0030665, 0.000453778, 0.999993) -bones/55/scale = Vector3(1, 1, 1) -bones/56/rotation = Quaternion(0.665461, -0.000165001, 0.00238774, 0.746429) -bones/56/scale = Vector3(1, 1, 1) -bones/57/rotation = Quaternion(-2.99921e-13, 0.707107, 0.707107, -2.99921e-13) -bones/58/rotation = Quaternion(2.01446e-13, 0.707107, 0.707107, 2.01446e-13) -bones/59/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) -bones/60/rotation = Quaternion(-0.707107, 1.25097e-07, 1.25097e-07, 0.707107) -bones/61/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) -bones/62/rotation = Quaternion(-0.707107, 1.5189e-07, 1.5189e-07, 0.707107) - -[node name="AnimationTree" type="PlayerAnimTree" parent="CharacterModel"] -unique_name_in_owner = true -root_node = NodePath("%AnimationTree/..") -root_motion_track = NodePath("skeleton_character/Skeleton3D:root") -tree_root = SubResource("AnimationNodeBlendTree_hiswf") -anim_player = NodePath("../AnimationPlayer") -parameters/Actions/Run/Speed/blend_amount = 1.0 -"parameters/Actions/Stationary [turn]/BoneMask/blend_amount" = 1.0 -"parameters/Actions/Stationary [turn]/Turn/blend_position" = 0.0 -"parameters/Actions/Walk [turn]/Speed/blend_amount" = 1.0 - [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) shape = SubResource("CapsuleShape3D_ewsvd") @@ -335,7 +40,7 @@ shape = SubResource("SphereShape3D_v7ajo") spring_length = 1.3 [node name="Camera" type="Camera3D" parent="CameraParent/CameraSpring"] -transform = Transform3D(0.984053, 0.00860135, -0.177669, 0.0105107, 0.994273, 0.10635, 0.177567, -0.106522, 0.978327, -8.00937e-08, -3.57628e-07, 1.3) +transform = Transform3D(0.960689, 0.0368572, -0.27517, 0.00642303, 0.987932, 0.154751, 0.277554, -0.150435, 0.948859, -1.09896e-07, -8.34465e-07, 1.3) fov = 41.9276 far = 100.0 diff --git a/godot/objects/section_2.tscn b/godot/objects/section_2.tscn index 0bc536e..a3cc033 100644 --- a/godot/objects/section_2.tscn +++ b/godot/objects/section_2.tscn @@ -5,7 +5,6 @@ [ext_resource type="PackedScene" uid="uid://bmminombn1t0k" path="res://models/props/dirt_ramp.glb" id="3_2vit1"] [ext_resource type="LightmapGIData" uid="uid://6pvqgw5obful" path="res://lighting/section_2.lmbake" id="3_h3v2c"] [ext_resource type="PackedScene" uid="uid://b5inibbfdco0d" path="res://models/props/trenchwall_2m.glb" id="4_hbo2r"] -[ext_resource type="PackedScene" uid="uid://c71yj2qpupn33" path="res://models/props/dirtpile_large.glb" id="6_wsb7q"] [ext_resource type="PackedScene" uid="uid://cesooq708ot6t" path="res://models/props/dirtpile_wall.glb" id="7_63acg"] [ext_resource type="PackedScene" uid="uid://brdhoy3efmba" path="res://models/props/trenchfloor.glb" id="8_14rhs"] [ext_resource type="PackedScene" uid="uid://cv5ikndnvmwlo" path="res://models/props/dirtpile_wall_large.glb" id="9_y6ebv"] @@ -16,6 +15,11 @@ [sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_ikuna"] +[sub_resource type="NavigationMesh" id="NavigationMesh_e0njj"] +vertices = PackedVector3Array(9.3629, 0.326698, -19.5397, 8.8629, 0.326698, -19.6397, 8.6629, 0.326698, -19.3397, 8.6629, 0.326698, -18.4397, 9.2629, 0.326698, -18.4397, 8.0629, 3.0767, -18.9397, 8.0629, 3.0767, -18.6397, 8.3629, 3.0767, -18.5397, 9.4629, 3.0767, -18.3397, 10.0629, 3.0767, -18.4397, 8.9629, 1.0767, -16.9397, 8.5629, 1.0767, -16.9397, 8.7629, 1.0767, -16.5397, 2.0629, 0.826698, -14.6397, 1.4629, 0.826698, -14.6397, 1.5629, 0.826698, -14.4397, 9.3629, 1.0767, -16.8397, 8.6629, 0.826698, -15.6397, 9.1629, 0.826698, -15.7397, 9.3629, 1.0767, -15.9397, 7.8629, 0.826698, -14.4397, 7.3629, 0.826698, -14.6397, 5.3629, 0.826698, -14.6397, 7.8629, 0.826698, -14.6397, 3.9629, 0.826698, -14.6397, 9.3629, 0.826698, -15.2397, 5.1629, 0.826698, -14.8397, 4.1629, 0.826698, -14.8397, 3.4629, 0.826698, -14.6397, 3.2629, 0.826698, -14.8397, 2.2629, 0.826698, -14.8397, 7.1629, 0.826698, -14.8397, 8.6629, 0.826698, -13.7397, 9.2629, 0.826698, -13.7397, 0.562896, 0.826698, -13.9397, 0.362896, 0.826698, -13.7397, 0.462896, 1.0767, -13.2397, 0.762897, 0.826698, -13.6397, 0.762897, 0.826698, -14.6397, 0.562896, 0.826698, -14.4397, -0.137104, 0.826698, -2.73967, -0.737103, 1.0767, -2.73967, -0.537104, 1.0767, -2.43966, 0.762897, 1.0767, -2.23967, 0.462896, 0.826698, -7.73967, 0.462896, 0.826698, -9.63967, 0.162896, 0.826698, -3.03967, -0.737103, 1.0767, -2.23967, -4.1371, 2.3267, -3.03967, -4.1371, 2.3267, -2.13967, 0.262897, 0.826698, -9.03967, 0.262897, 0.826698, -7.93967, 0.262897, 0.826698, -13.0397, 0.262897, 0.826698, -11.8397, 0.262897, 0.826698, -11.0397, 0.262897, 0.826698, -9.83967, 0.462896, 0.826698, -11.6397, 0.462896, 0.826698, -5.83967, 0.262897, 0.826698, -6.03967, 0.462896, 0.826698, -5.33967, 0.262897, 0.826698, -5.13967, 9.0629, 0.326698, -1.73967, 9.2629, 0.326698, -1.93966, 9.2629, 0.326698, -3.03967, 9.0629, 0.326698, -3.23967, 8.6629, 0.326698, -2.23967, 9.0629, 0.326698, -3.73967, 9.2629, 0.326698, -3.93966, 9.2629, 0.326698, -5.03967, 9.0629, 0.326698, -5.73967, 9.2629, 0.326698, -5.93967, 9.2629, 0.326698, -7.03967, 9.0629, 0.326698, -7.23967, 8.6629, 0.326698, -7.33967, 8.4629, 0.326698, -5.23967, 9.0629, 0.326698, -7.73967, 9.2629, 0.326698, -7.93967, 9.2629, 0.326698, -9.03967, 9.0629, 0.326698, -9.23967, 8.6629, 0.326698, -8.13967, 8.8629, 0.326698, -7.53967, 9.0629, 0.326698, -5.23967, 9.0629, 0.326698, -9.73967, 9.2629, 0.326698, -9.93967, 8.6629, 0.326698, -9.83967, 8.8629, 0.326698, -9.63967, 8.9629, 0.326698, -1.43966, 8.9629, 0.326698, 0.460335, 9.2629, 0.326698, 0.0603352, 11.1629, 3.0767, 6.26033, 11.6629, 3.0767, 6.26033, 11.5629, 3.0767, 5.96033, 8.3629, 3.0767, 4.36033, 7.0629, 3.0767, 3.96033, 9.9629, 3.0767, 5.66033, 6.9629, 3.0767, 1.96033, 6.7629, 3.0767, 2.56034, 7.0629, 3.0767, 3.06034, 7.2629, 3.0767, 2.66033, 6.9629, 3.0767, -5.73967, 7.2629, 2.8267, -6.43967, 6.6629, 3.0767, -6.83967, 6.8629, 3.0767, -3.23967, 6.7629, 3.0767, 0.160334, -4.0371, 0.326698, -2.63967, -4.0371, 0.326698, -2.43966, -3.4371, 0.326698, -2.43966, -3.4371, 0.326698, -2.63967, 9.1629, 0.326698, 1.76033, 9.1629, 0.326698, 0.760334, 8.8629, 0.326698, 1.46033, 15.1629, 0.326698, 4.96033, 15.5629, 0.326698, 4.96033, 15.6629, 0.326698, 4.56034, 15.2629, 0.326698, 4.16033, 14.2629, 0.326698, 3.86033, 14.0629, 0.326698, 4.36033, 14.4629, 0.326698, 4.76033, 10.6629, 0.326698, 3.56034, 12.1629, 0.326698, 3.76033, 11.7629, 0.326698, 3.36033, 11.3629, 0.326698, 2.96033, 9.7629, 0.326698, 2.56034, 9.2629, 0.326698, 2.76033, 13.2629, 0.326698, 3.56034, 12.6629, 0.326698, 4.16033, 13.7629, 0.326698, 3.96033) +polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 4), PackedInt32Array(2, 4, 3), PackedInt32Array(6, 5, 7), PackedInt32Array(7, 5, 8), PackedInt32Array(8, 5, 9), PackedInt32Array(12, 11, 10), PackedInt32Array(15, 14, 13), PackedInt32Array(10, 16, 12), PackedInt32Array(12, 16, 19), PackedInt32Array(12, 19, 18), PackedInt32Array(12, 18, 17), PackedInt32Array(22, 21, 20), PackedInt32Array(21, 23, 20), PackedInt32Array(24, 22, 15), PackedInt32Array(15, 22, 20), PackedInt32Array(17, 18, 25), PackedInt32Array(26, 22, 27), PackedInt32Array(27, 22, 24), PackedInt32Array(30, 29, 13), PackedInt32Array(13, 29, 28), PackedInt32Array(22, 31, 21), PackedInt32Array(15, 13, 28), PackedInt32Array(20, 23, 32), PackedInt32Array(32, 23, 33), PackedInt32Array(33, 23, 25), PackedInt32Array(25, 23, 17), PackedInt32Array(15, 28, 24), PackedInt32Array(34, 37, 35), PackedInt32Array(35, 37, 36), PackedInt32Array(39, 38, 34), PackedInt32Array(34, 38, 37), PackedInt32Array(37, 38, 14), PackedInt32Array(37, 14, 15), PackedInt32Array(41, 40, 42), PackedInt32Array(42, 40, 43), PackedInt32Array(45, 37, 44), PackedInt32Array(44, 37, 43), PackedInt32Array(43, 40, 46), PackedInt32Array(42, 47, 41), PackedInt32Array(41, 47, 49), PackedInt32Array(41, 49, 48), PackedInt32Array(51, 50, 44), PackedInt32Array(44, 50, 45), PackedInt32Array(36, 53, 52), PackedInt32Array(55, 54, 45), PackedInt32Array(45, 54, 56), PackedInt32Array(53, 36, 56), PackedInt32Array(56, 36, 37), PackedInt32Array(43, 57, 44), PackedInt32Array(57, 58, 44), PackedInt32Array(43, 59, 57), PackedInt32Array(56, 37, 45), PackedInt32Array(60, 59, 46), PackedInt32Array(46, 59, 43), PackedInt32Array(61, 65, 62), PackedInt32Array(62, 65, 63), PackedInt32Array(63, 65, 64), PackedInt32Array(68, 67, 66), PackedInt32Array(72, 71, 73), PackedInt32Array(73, 71, 70), PackedInt32Array(73, 70, 69), PackedInt32Array(73, 69, 74), PackedInt32Array(75, 79, 76), PackedInt32Array(76, 79, 77), PackedInt32Array(77, 79, 78), PackedInt32Array(72, 80, 75), PackedInt32Array(75, 80, 79), PackedInt32Array(81, 68, 74), PackedInt32Array(74, 68, 66), PackedInt32Array(74, 66, 65), PackedInt32Array(72, 73, 80), PackedInt32Array(85, 84, 82), PackedInt32Array(82, 84, 83), PackedInt32Array(83, 84, 33), PackedInt32Array(33, 84, 32), PackedInt32Array(61, 88, 86), PackedInt32Array(86, 88, 87), PackedInt32Array(69, 81, 74), PackedInt32Array(61, 86, 65), PackedInt32Array(82, 78, 85), PackedInt32Array(85, 78, 79), PackedInt32Array(66, 64, 65), PackedInt32Array(90, 89, 91), PackedInt32Array(91, 89, 94), PackedInt32Array(91, 94, 92), PackedInt32Array(92, 94, 93), PackedInt32Array(97, 96, 98), PackedInt32Array(98, 96, 95), PackedInt32Array(101, 100, 99), PackedInt32Array(97, 98, 93), PackedInt32Array(93, 98, 92), PackedInt32Array(102, 101, 99), PackedInt32Array(95, 103, 98), PackedInt32Array(98, 103, 102), PackedInt32Array(98, 102, 99), PackedInt32Array(107, 106, 104), PackedInt32Array(104, 106, 105), PackedInt32Array(110, 109, 108), PackedInt32Array(113, 112, 111), PackedInt32Array(113, 111, 114), PackedInt32Array(114, 111, 117), PackedInt32Array(114, 117, 116), PackedInt32Array(114, 116, 115), PackedInt32Array(120, 119, 118), PackedInt32Array(120, 118, 121), PackedInt32Array(121, 118, 122), PackedInt32Array(122, 118, 123), PackedInt32Array(126, 116, 124), PackedInt32Array(124, 116, 125), PackedInt32Array(124, 125, 119), PackedInt32Array(124, 119, 120), PackedInt32Array(126, 115, 116), PackedInt32Array(122, 123, 108), PackedInt32Array(108, 123, 110)] +cell_size = 0.1 + [node name="Environment" type="WorldEnvironment"] environment = ExtResource("1_5ixfb") @@ -26,6 +30,7 @@ bake_mask = 4294967293 bake_simplification_distance = 0.2 [node name="LightmapGI" type="LightmapGI" parent="."] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.95704, 0, -2.80582) quality = 2 directional = true camera_attributes = SubResource("CameraAttributesPractical_ikuna") @@ -33,250 +38,286 @@ generate_probes_subdiv = 1 light_data = ExtResource("3_h3v2c") [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(-0.951786, 0.274079, -0.137775, 0.11918, 0.744237, 0.657196, 0.282661, 0.609092, -0.741021, 0.295643, 3.22867, -2.4707) +transform = Transform3D(-0.282662, -0.609093, 0.741018, 0.11918, 0.744235, 0.657198, -0.951787, 0.27408, -0.137775, -1.48634, 3.22867, -2.51018) light_color = Color(0.95484, 0.837153, 0.722321, 1) shadow_enabled = true -shadow_blur = 0.118 +shadow_blur = 0.132 -[node name="dirt_ramp" parent="." instance=ExtResource("3_2vit1")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.252364, 0, -2.29605) +[node name="NavigationRegion3D" type="NavigationRegion3D" parent="."] +navigation_mesh = SubResource("NavigationMesh_e0njj") -[node name="dirt_ramp2" parent="." instance=ExtResource("3_2vit1")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.252364, 0.674024, -0.250979) +[node name="dirt_ramp" parent="NavigationRegion3D" instance=ExtResource("3_2vit1")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -1.88223, 0.502552, -2.51509) -[node name="trenchwall_2m" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265775, 0, -0.546675) +[node name="dirt_ramp2" parent="NavigationRegion3D" instance=ExtResource("3_2vit1")] +transform = Transform3D(-1, 0, 8.74228e-08, -1.9032e-08, 0.976016, -0.2177, -8.5326e-08, -0.2177, -0.976016, 8.92731, -0.455602, -11.143) -[node name="trenchwall_2m2" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265775, 0, -2.55193) +[node name="trenchwall_2m" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -3.41037, 0, -3.0716) -[node name="trenchwall_2m3" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -4.4575) +[node name="trenchwall_2m2" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -1.40511, 0, -3.0716) -[node name="trenchwall_2m4" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -6.36306) +[node name="trenchwall_2m3" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.0557597, 0, -4.67654) -[node name="trenchwall_2m5" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -8.32269) +[node name="trenchwall_2m4" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.0557597, 0, -6.5821) -[node name="trenchwall_2m6" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -0.546675) +[node name="trenchwall_2m5" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.0557597, 0, -8.54173) -[node name="trenchwall_2m36" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265775, 0, 1.45333) +[node name="trenchwall_2m6" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, -3.41037, 0, -2.03585) -[node name="trenchwall_2m37" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, 1.45333) +[node name="trenchwall_2m36" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -5.41037, 0, -3.0716) -[node name="trenchwall_2m7" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -2.55193) +[node name="trenchwall_2m37" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, -5.41037, 0, -2.03585) -[node name="trenchwall_2m8" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -4.4575) +[node name="trenchwall_2m7" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, -1.40511, 0, -2.03585) -[node name="trenchwall_2m9" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -6.36306) +[node name="trenchwall_2m46" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, 0.594886, 0, -2.03585) -[node name="trenchwall_2m10" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769973, 0, -8.32269) +[node name="trenchwall_2m8" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -4.67654) -[node name="trenchwall_2m11" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265775, 0, -10.2944) +[node name="trenchwall_2m47" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -2.67654) -[node name="trenchwall_2m12" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265775, 0, -12.2997) +[node name="trenchwall_2m9" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -6.5821) -[node name="trenchwall_2m13" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -14.2053) +[node name="trenchwall_2m10" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -8.54173) -[node name="trenchwall_2m14" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -16.1108) +[node name="trenchwall_2m11" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.0557587, 0, -10.5134) -[node name="trenchwall_2m21" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 0.468356, 0, -21.3728) +[node name="trenchwall_2m12" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0.0557587, 0, -12.5187) -[node name="trenchwall_2m22" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 2.46836, 0, -21.3728) +[node name="trenchwall_2m13" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 2.80878, 0, -15.1156) -[node name="trenchwall_2m23" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -1.53164, 0, -21.3728) +[node name="trenchwall_2m48" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.213371, 0, 0.976971, 0, 1, 0, -0.976971, 0, -0.213371, 1.0041, 0, -14.8983) -[node name="trenchwall_2m24" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 4.46836, 0, -21.3728) +[node name="trenchwall_2m49" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.954026, 0, 0.299724, 0, 1, 0, -0.299724, 0, -0.954026, 0.239106, 0, -14.1092) -[node name="trenchwall_2m25" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -3.53164, 0, -21.3728) +[node name="trenchwall_2m14" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 4.71428, 0, -15.1156) -[node name="trenchwall_2m15" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.265774, 0, -18.0705) +[node name="trenchwall_2m21" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -14.3814) -[node name="trenchwall_2m26" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -1.98323, -2.38419e-07, -19.702) +[node name="trenchwall_2m22" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -12.3814) -[node name="trenchwall_2m28" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2.33259, -2.38419e-07, -19.702) +[node name="trenchwall_2m23" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -16.3814) -[node name="trenchwall_2m27" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.98323, -2.38419e-07, -19.702) +[node name="trenchwall_2m24" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -10.3814) -[node name="trenchwall_2m16" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -10.2944) +[node name="trenchwall_2m25" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -18.3814) -[node name="trenchwall_2m17" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -12.2997) +[node name="trenchwall_2m15" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 6.67398, 0, -15.1156) -[node name="trenchwall_2m18" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -14.2053) +[node name="trenchwall_2m26" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8.30548, -2.38419e-07, -16.833) -[node name="trenchwall_2m19" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769972, 0, -16.1108) +[node name="trenchwall_2m28" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8.30548, -2.38419e-07, -12.5172) -[node name="trenchwall_2m20" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 0.769973, 0, -18.0705) +[node name="trenchwall_2m27" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8.30548, -2.38419e-07, -18.833) -[node name="dirtpile_large7" parent="." instance=ExtResource("6_wsb7q")] -transform = Transform3D(0.910943, -3.08519e-09, 0.412532, -0.0232438, 0.998411, 0.0513264, -0.411877, -0.0563443, 0.909496, 0.21254, 0.027355, -19.7922) +[node name="trenchwall_2m16" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -10.5134) -[node name="dirtpile_large8" parent="." instance=ExtResource("6_wsb7q")] -transform = Transform3D(0.0524438, -0.030829, 0.998148, -0.0242569, 0.999189, 0.0321357, -0.998329, -0.0258973, 0.0516534, 1.1532, 0.0658178, -20.5826) +[node name="trenchwall_2m17" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74846e-07, 0, 1, 0, 1.74846e-07, 0, 1, 1.09151, 0, -12.5187) -[node name="dirtpile_large9" parent="." instance=ExtResource("6_wsb7q")] -transform = Transform3D(-0.00839367, 0.0319404, -0.999454, -0.0242569, 0.999189, 0.0321356, 0.99967, 0.0245134, -0.00761209, -0.382088, 0.0658178, -20.5826) +[node name="trenchwall_2m18" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, 2.80878, 0, -14.0798) -[node name="dirtpile_wall" parent="." instance=ExtResource("7_63acg")] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.618189, 4.76837e-07, -11.2607) +[node name="trenchwall_2m19" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, 4.71428, 0, -14.0798) -[node name="dirtpile_wall2" parent="." instance=ExtResource("7_63acg")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17294, 0, -14.9847) +[node name="trenchwall_2m20" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-2.18557e-07, 0, -1, 0, 1, 0, 1, 0, -2.18557e-07, 6.67398, 0, -14.0798) -[node name="trenchfloor2" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -0.558091) +[node name="dirtpile_wall" parent="NavigationRegion3D" instance=ExtResource("7_63acg")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.296655, 4.76837e-07, -11.4797) -[node name="trenchfloor3" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -2.55809) +[node name="dirtpile_wall2" parent="NavigationRegion3D" instance=ExtResource("7_63acg")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 3.58818, 0, -13.6769) -[node name="trenchfloor4" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -4.55809) +[node name="trenchfloor2" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.39895, -2.38419e-07, -2.43765) -[node name="trenchfloor5" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -6.55809) +[node name="trenchfloor3" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -1.39895, -2.38419e-07, -2.43765) -[node name="trenchfloor6" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -8.55809) +[node name="trenchfloor4" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6897, 0.502504, -4.77713) -[node name="trenchfloor7" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -10.5581) +[node name="trenchfloor27" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0.0999623, 0.994991, -4.36949e-09, 0.994991, -0.0999623, -4.34924e-08, 0.6897, 0.502504, -2.57668) -[node name="trenchfloor8" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -12.5581) +[node name="trenchfloor5" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6897, 0.502504, -6.77713) -[node name="trenchfloor9" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -14.5581) +[node name="trenchfloor6" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6897, 0.502504, -8.77713) -[node name="trenchfloor10" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -16.5581) +[node name="trenchfloor7" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6897, 0.502504, -10.7771) -[node name="trenchfloor11" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.368166, -2.38419e-07, -18.5581) +[node name="trenchfloor8" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6897, 0.502504, -12.7771) -[node name="trenchfloor12" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.368166, -0.0857527, -20.5581) +[node name="trenchfloor9" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 3.16158, 0.502504, -14.4816) -[node name="trenchfloor13" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 2.38479, -2.38419e-07, -20.5581) +[node name="trenchfloor28" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 1.16158, 0.502504, -14.4816) -[node name="trenchwall_2m30" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.33259, -2.38419e-07, -19.702) +[node name="trenchfloor10" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 5.16158, 0.502504, -14.4816) -[node name="trenchfloor16" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.38479, -2.38419e-07, -20.5581) +[node name="trenchfloor11" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 7.16158, 0.502504, -14.4816) -[node name="trenchwall_2m29" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 6.46836, 0, -21.3728) +[node name="trenchfloor12" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(0.992548, -0.119669, -0.0229919, 0.119637, 0.992814, -0.00277134, 0.0231583, 5.19146e-10, 0.999732, 9.10488, 0.493173, -14.4816) -[node name="trenchwall_2m31" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 6.33259, -2.38419e-07, -19.702) +[node name="trenchfloor13" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -12.465) -[node name="trenchfloor17" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 6.38479, -2.38419e-07, -20.5581) +[node name="trenchwall_2m30" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8.30548, -2.38419e-07, -10.5172) -[node name="trenchwall_2m32" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 8.46836, 0, -21.3728) +[node name="trenchfloor16" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -10.465) -[node name="trenchwall_2m34" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 10.4684, 0, -21.3728) +[node name="trenchwall_2m29" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -8.38144) -[node name="trenchwall_2m35" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 12.4684, 0, -21.3728) +[node name="trenchwall_2m31" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 8.30548, -2.38419e-07, -8.51721) -[node name="trenchwall_2m38" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, 14.4684, 0, -21.3728) +[node name="trenchfloor17" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -8.46501) -[node name="trenchwall_2m40" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(0.0428523, 0, 0.999081, 0, 1, 0, -0.999081, 0, 0.0428523, 15.3368, 0, -21.4596) +[node name="trenchwall_2m32" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -6.38144) -[node name="trenchwall_2m39" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-0.957541, 0, 0.288297, 0, 1, 0, -0.288297, 0, -0.957541, 17.3791, 0, -22.8527) +[node name="trenchwall_2m34" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -4.3814) -[node name="trenchwall_2m33" parent="." instance=ExtResource("4_hbo2r")] -transform = Transform3D(-0.0650884, 0.0426316, -0.996969, -0.0121901, 0.998978, 0.0435134, 0.997805, 0.0149854, -0.0645022, 8.0479, -0.0569355, -19.6773) +[node name="trenchwall_2m35" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -2.3814) -[node name="trenchfloor18" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 8.38478, -2.38419e-07, -20.5581) +[node name="trenchwall_2m38" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(1, 0, -1.74845e-07, 0, 1, 0, 1.74845e-07, 0, 1, 9.62828, 0, -0.381403) -[node name="trenchfloor19" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 10.3848, -2.38419e-07, -20.5581) +[node name="trenchwall_2m40" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(0.999081, 0, -0.0428523, 0, 1, 0, 0.0428523, 0, 0.999081, 9.71508, 0, 0.486997) -[node name="trenchfloor20" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 12.3848, -2.38419e-07, -20.5581) +[node name="trenchwall_2m39" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(0.288297, 0, 0.957541, 0, 1, 0, -0.957541, 0, 0.288297, 11.1082, 0, 2.5293) -[node name="trenchfloor21" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 14.3848, -2.38419e-07, -20.5581) +[node name="trenchwall_2m41" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(0.288297, 0, 0.957541, 0, 1, 0, -0.957541, 0, 0.288297, 13.0233, 0, 3.1059) -[node name="trenchfloor22" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(0.398461, 0, -0.917185, 0, 1, 0, 0.917185, 0, 0.398461, 16.6526, -2.38419e-07, -21.0803) +[node name="trenchwall_2m42" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(0.288297, 0, 0.957541, 0, 1, 0, -0.957541, 0, 0.288297, 14.9384, 0, 3.6825) -[node name="trenchfloor24" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(0.982097, 0, -0.188376, 0, 1, 0, 0.188376, 0, 0.982097, 18.688, -2.38419e-07, -23.8306) +[node name="trenchwall_2m43" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.294608, 0, -0.955618, 0, 1, 0, 0.955618, 0, -0.294608, 14.7206, 0, 5.1742) -[node name="trenchfloor23" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(0.967806, 0, -0.251698, 0, 1, 0, 0.251698, 0, 0.967806, 18.3409, -0.0373774, -22.3664) +[node name="trenchwall_2m44" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.294608, 0, -0.955618, 0, 1, 0, 0.955618, 0, -0.294608, 12.8094, 0, 4.585) -[node name="trenchfloor14" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -1.8833, -2.38419e-07, -20.5581) +[node name="trenchwall_2m45" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.294608, 0, -0.955618, 0, 1, 0, 0.955618, 0, -0.294608, 10.8981, 0, 3.9958) -[node name="trenchfloor15" parent="." instance=ExtResource("8_14rhs")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.8833, -2.38419e-07, -20.5581) +[node name="trenchwall_2m33" parent="NavigationRegion3D" instance=ExtResource("4_hbo2r")] +transform = Transform3D(-0.997805, -0.0149854, 0.0645022, -0.0121901, 0.998978, 0.0435134, -0.0650885, 0.0426316, -0.996969, 8.28078, -0.0569355, -6.8019) -[node name="dirtpile_wall_large" parent="." instance=ExtResource("9_y6ebv")] -transform = Transform3D(-0.176277, 0, -0.984341, 0, 1, 0, 0.984341, 0, -0.176277, -0.984003, 0.109982, -19.4195) +[node name="trenchfloor18" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -6.46502) -[node name="wooden_bar_large" parent="." instance=ExtResource("10_r53rh")] -transform = Transform3D(0.816694, -0.00618675, 0.577037, -0.00080363, 0.999929, 0.0118582, -0.57707, -0.0101483, 0.816632, 16.5566, -0.256461, -21.8492) +[node name="trenchfloor19" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -4.465) -[node name="wooden_bar_large2" parent="." instance=ExtResource("10_r53rh")] -transform = Transform3D(-0.699589, 0, 0.714546, 0, 1, 0, -0.714546, 0, -0.699589, -0.798373, -0.242456, -19.1719) +[node name="trenchfloor20" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -2.465) -[node name="wooden_bar_large3" parent="." instance=ExtResource("10_r53rh")] -transform = Transform3D(-0.551777, 0, -0.833992, 0, 1, 0, 0.833992, 0, -0.551777, 1.24631, -0.242456, -19.1784) +[node name="trenchfloor21" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.23828, -2.38419e-07, -0.465003) -[node name="trenchwall_2m_dirt" parent="." instance=ExtResource("11_kca0e")] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -1.4335, -0.119269, -20.5922) +[node name="trenchfloor22" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.917185, 0, -0.398461, 0, 1, 0, 0.398461, 0, -0.917185, 9.62699, -0.0401146, 1.20087) -[node name="trenchwall_5m_dirt" parent="." instance=ExtResource("12_t2jcw")] -transform = Transform3D(0.0512255, -0.00609195, -0.998668, 0.118092, 0.993003, -1.16415e-10, 0.991681, -0.117935, 0.0515864, 10.4383, -0.290734, -19.4085) +[node name="trenchfloor26" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.765472, 0, -0.643469, 0, 1, 0, 0.643469, 0, -0.765472, 9.99257, -0.00441432, 2.57248) -[node name="trenchwall_5m_dirt2" parent="." instance=ExtResource("12_t2jcw")] -transform = Transform3D(0.0512378, 0, -0.998686, 0, 1, 0, 0.998686, 0, 0.0512378, 15.5141, -0.110156, -19.8343) +[node name="trenchfloor24" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.188376, 0, -0.982097, 0, 1, 0, 0.982097, 0, -0.188376, 12.8151, -2.38419e-07, 3.8382) -[node name="trenchwall_5m_dirt3" parent="." instance=ExtResource("12_t2jcw")] -transform = Transform3D(0.880411, 0, -0.474211, 0, 1, 0, 0.474211, 0, 0.880411, 18.6627, -0.110156, -21.4719) +[node name="trenchfloor25" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.188376, 0, -0.982097, 0, 1, 0, 0.982097, 0, -0.188376, 14.7793, -2.38419e-07, 4.215) -[node name="trenchwall_2m_dirt2" parent="." instance=ExtResource("11_kca0e")] -transform = Transform3D(0.561232, -0.0192946, -0.827434, 0.0343588, 0.99941, 0, 0.826945, -0.0284296, 0.561564, 17.4683, -0.221343, -20.0395) +[node name="trenchfloor23" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.251698, 0, -0.967806, 0, 1, 0, 0.967806, 0, -0.251698, 11.3509, -0.0373774, 3.4911) -[node name="walkover2" parent="." instance=ExtResource("13_bq7v3")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.38335, 0, -20.4729) +[node name="trenchfloor14" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-0.99452, -0.0848907, 0.0610269, -0.077975, 0.991095, 0.107938, -0.0696463, 0.102588, -0.992283, 9.14388, 0.575037, -16.4858) + +[node name="trenchfloor15" parent="NavigationRegion3D" instance=ExtResource("8_14rhs")] +transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 9.16158, -2.38419e-07, -18.7331) + +[node name="dirtpile_wall_large" parent="NavigationRegion3D" instance=ExtResource("9_y6ebv")] +transform = Transform3D(-0.984341, 0, 0.176277, 0, 1, 0, -0.176277, 0, -0.984341, 8.02298, 0.109982, -15.8338) + +[node name="wooden_bar_large" parent="NavigationRegion3D" instance=ExtResource("10_r53rh")] +transform = Transform3D(0.57707, 0.0101483, -0.816632, -0.00080363, 0.999929, 0.0118582, 0.816694, -0.00618675, 0.577037, 10.1047, -0.256461, 1.7068) + +[node name="wooden_bar_large2" parent="NavigationRegion3D" instance=ExtResource("10_r53rh")] +transform = Transform3D(0.714546, 0, 0.699589, 0, 1, 0, -0.699589, 0, 0.714546, 7.77538, -0.242456, -15.6482) + +[node name="wooden_bar_large3" parent="NavigationRegion3D" instance=ExtResource("10_r53rh")] +transform = Transform3D(-0.833992, 0, 0.551777, 0, 1, 0, -0.551777, 0, -0.833992, 7.78188, -0.242456, -13.6035) + +[node name="wooden_bar_large4" parent="NavigationRegion3D" instance=ExtResource("10_r53rh")] +transform = Transform3D(-0.741191, 0, -0.671294, 0, 1, 0, 0.671294, 0, -0.741191, 1.68311, -0.242456, -13.5949) + +[node name="trenchwall_2m_dirt" parent="NavigationRegion3D" instance=ExtResource("11_kca0e")] +transform = Transform3D(0.18685, 0, 0.982388, 0, 1, 0, -0.982388, 0, 0.18685, 8.72598, -0.119269, -17.2231) + +[node name="trenchwall_5m_dirt" parent="NavigationRegion3D" instance=ExtResource("12_t2jcw")] +transform = Transform3D(-0.991681, 0.117935, -0.0515864, 0.118092, 0.993003, -2.3283e-10, 0.0512255, -0.00609194, -0.998668, 8.01198, -0.290734, -4.4115) + +[node name="trenchwall_5m_dirt2" parent="NavigationRegion3D" instance=ExtResource("12_t2jcw")] +transform = Transform3D(-0.998686, 0, -0.0512378, 0, 1, 0, 0.0512378, 0, -0.998686, 8.43778, -0.110156, 0.664297) + +[node name="trenchwall_5m_dirt3" parent="NavigationRegion3D" instance=ExtResource("12_t2jcw")] +transform = Transform3D(-0.474211, 0, -0.880411, 0, 1, 0, 0.880411, 0, -0.474211, 10.0754, -0.110156, 3.8129) + +[node name="trenchwall_2m_dirt2" parent="NavigationRegion3D" instance=ExtResource("11_kca0e")] +transform = Transform3D(-0.826945, 0.0284296, -0.561564, 0.0343588, 0.99941, 1.04599e-09, 0.561232, -0.0192946, -0.827434, 8.64298, -0.221343, 2.6185) [node name="walkover3" parent="." instance=ExtResource("13_bq7v3")] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 6.39592, 0, -20.4729) +transform = Transform3D(0.146791, 0, -0.989167, 0, 1, 0, 0.989167, 0, 0.146791, 6.32769, 0.4036, -14.728) + +[node name="walkover4" parent="." instance=ExtResource("13_bq7v3")] +transform = Transform3D(-0.996345, -0.0854169, 8.7263e-08, -0.0854169, 0.996345, 3.73369e-09, -8.7263e-08, -3.73369e-09, -1, 9.09391, 0.20791, -10.4648) diff --git a/godot/occlusion/boot.occ b/godot/occlusion/boot.occ index 376eb4e..d1b6e92 100644 Binary files a/godot/occlusion/boot.occ and b/godot/occlusion/boot.occ differ diff --git a/godot/particles/explosion.tscn b/godot/particles/explosion.tscn new file mode 100644 index 0000000..a980af9 --- /dev/null +++ b/godot/particles/explosion.tscn @@ -0,0 +1,50 @@ +[gd_scene load_steps=8 format=3 uid="uid://be2yogspyg40p"] + +[ext_resource type="Material" uid="uid://cnpi4nqbif0st" path="res://particles/materials/dirt_splatters.tres" id="1_70hen"] + +[sub_resource type="Curve" id="Curve_f77sp"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.4158, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_jj8d7"] +curve = SubResource("Curve_f77sp") + +[sub_resource type="Curve" id="Curve_58b4i"] +max_value = 3.0 +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.0803571, 0.990632), 0.0, 0.0, 0, 0, Vector2(1, 2.70316), 0.0, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_62j87"] +curve = SubResource("Curve_58b4i") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_2cudr"] +particle_flag_align_y = true +particle_flag_rotate_y = true +angle_min = 1.07288e-05 +angle_max = 720.0 +direction = Vector3(0, 0, 1) +spread = 2.905 +initial_velocity_min = 1.5 +initial_velocity_max = 10.0 +scale_max = 1.5 +scale_curve = SubResource("CurveTexture_62j87") +scale_over_velocity_min = 1.0 +scale_over_velocity_max = 5.0 +alpha_curve = SubResource("CurveTexture_jj8d7") + +[sub_resource type="QuadMesh" id="QuadMesh_ccn0f"] +material = ExtResource("1_70hen") +size = Vector2(1.5, 1.5) + +[node name="ExplosionParticles" type="GPUParticles3D"] +transform = Transform3D(-1, 0, -8.74228e-08, -8.74228e-08, 4.37114e-08, 1, 0, 1, -4.37114e-08, 0, 0, 0) +emitting = false +amount = 20 +lifetime = 1.5 +one_shot = true +explosiveness = 0.99 +fixed_fps = 60 +visibility_aabb = AABB(-3, -3, -1, 6, 6, 10) +draw_order = 3 +process_material = SubResource("ParticleProcessMaterial_2cudr") +draw_pass_1 = SubResource("QuadMesh_ccn0f") diff --git a/godot/particles/materials/dirt_splatters.tres b/godot/particles/materials/dirt_splatters.tres new file mode 100644 index 0000000..e59fc26 --- /dev/null +++ b/godot/particles/materials/dirt_splatters.tres @@ -0,0 +1,13 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cnpi4nqbif0st"] + +[ext_resource type="Texture2D" uid="uid://evisqjqwkms5" path="res://particles/textures/dirt_splatters.png" id="1_3l7wc"] + +[resource] +transparency = 1 +vertex_color_use_as_albedo = true +albedo_texture = ExtResource("1_3l7wc") +billboard_mode = 3 +billboard_keep_scale = true +particles_anim_h_frames = 1 +particles_anim_v_frames = 1 +particles_anim_loop = false diff --git a/godot/particles/textures/dirt_splatters.png b/godot/particles/textures/dirt_splatters.png new file mode 100644 index 0000000..2bf462f --- /dev/null +++ b/godot/particles/textures/dirt_splatters.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84a48be755cfda4d052cdde6eeb44a53ac5e6181723fe338cb9528175349ee8a +size 5020550 diff --git a/godot/particles/textures/dirt_splatters.png.import b/godot/particles/textures/dirt_splatters.png.import new file mode 100644 index 0000000..1a21bf3 --- /dev/null +++ b/godot/particles/textures/dirt_splatters.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://evisqjqwkms5" +path.s3tc="res://.godot/imported/dirt_splatters.png-0bb5e5bc05cbbd02895b9062e1744bad.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://particles/textures/dirt_splatters.png" +dest_files=["res://.godot/imported/dirt_splatters.png-0bb5e5bc05cbbd02895b9062e1744bad.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/godot/particles/textures/dirt_splatters.png~ b/godot/particles/textures/dirt_splatters.png~ new file mode 100644 index 0000000..b3654f6 Binary files /dev/null and b/godot/particles/textures/dirt_splatters.png~ differ diff --git a/godot/project.godot b/godot/project.godot index 0101e8f..398bcdf 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -18,12 +18,17 @@ config/icon="res://icon.svg" [display] -window/size/viewport_width=2304 -window/size/viewport_height=1296 +window/size/viewport_width=1920 +window/size/viewport_height=1080 window/size/mode=3 window/stretch/mode="viewport" window/stretch/aspect="keep_width" +[editor] + +version_control/plugin_name="GitPlugin" +version_control/autoload_on_startup=true + [input] dir_forward={ @@ -83,14 +88,18 @@ run={ ] } +[navigation] + +3d/default_cell_size=0.1 + [physics] +2d/run_on_separate_thread=true 3d/run_on_separate_thread=true +common/physics_interpolation=true [rendering] -scaling_3d/mode=1 -scaling_3d/scale=0.8 anti_aliasing/quality/msaa_3d=2 anti_aliasing/quality/screen_space_aa=1 occlusion_culling/use_occlusion_culling=true diff --git a/models/character.blend b/models/character.blend index 63fb80a..b422dab 100644 --- a/models/character.blend +++ b/models/character.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aac1803a30583ff035439651cc58a6707ea91684a8d8e00d08bb55ced1c03cb4 -size 2606184 +oid sha256:6af4c5ae5eaccc1bec51c9dcca404fea468e5f91de39f0ccaaf9c9bbc4a96db1 +size 2928928 diff --git a/models/character.blend1 b/models/character.blend1 index 2033cc6..beedf31 100644 Binary files a/models/character.blend1 and b/models/character.blend1 differ diff --git a/models/modules.blend b/models/modules.blend index 36e718c..bc0fac4 100644 --- a/models/modules.blend +++ b/models/modules.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bb1eba3f6d5a39758722fdbbf37fd1a1a434038c6523d9cd9912c220b56381b -size 1149688 +oid sha256:d304484e4110bdc95a40942687cf07e2f3f8bfbb52edb683f7566d8a23590205 +size 1158024 diff --git a/models/modules.blend1 b/models/modules.blend1 index 75ea33b..455645c 100644 Binary files a/models/modules.blend1 and b/models/modules.blend1 differ diff --git a/models/textures/dirt.kra b/models/textures/dirt.kra index 24c12e0..0f71364 100644 --- a/models/textures/dirt.kra +++ b/models/textures/dirt.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:beaf6fbde42b0b8e5690e68f9dc7a77067fda1ec832970234a0aa832e8a360c8 -size 11475425 +oid sha256:479ff8e121b24706915dc3f5916f053a34b45dcfa966a1f8ddb28b330a5549ed +size 21514224 diff --git a/models/textures/dirt.kra~ b/models/textures/dirt.kra~ index 810c222..4aa1d57 100644 Binary files a/models/textures/dirt.kra~ and b/models/textures/dirt.kra~ differ diff --git a/models/textures/dirt_splatters.kra b/models/textures/dirt_splatters.kra new file mode 100644 index 0000000..978e2bc --- /dev/null +++ b/models/textures/dirt_splatters.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99076f3132cd657898da06e6dbdfc6e07ab3653a574411b24cc9040c1e9cc4f2 +size 10076876 diff --git a/models/textures/dirt_splatters.kra~ b/models/textures/dirt_splatters.kra~ new file mode 100644 index 0000000..a3be775 Binary files /dev/null and b/models/textures/dirt_splatters.kra~ differ diff --git a/models/textures/muzzleflash.kra b/models/textures/muzzleflash.kra new file mode 100644 index 0000000..4fcb920 --- /dev/null +++ b/models/textures/muzzleflash.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3500177489b489c147a4f55f89d8ae432876c10b336f8a8fb2d639257390b25e +size 594768 diff --git a/models/textures/muzzleflash.kra~ b/models/textures/muzzleflash.kra~ new file mode 100644 index 0000000..e2b7df2 Binary files /dev/null and b/models/textures/muzzleflash.kra~ differ diff --git a/models/textures/muzzleflash.png b/models/textures/muzzleflash.png new file mode 100644 index 0000000..9dbf1ce --- /dev/null +++ b/models/textures/muzzleflash.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8998ebcf9b8147bbe4edd71e40feac24f0ed4296c54c4f3219461c77de8a6b7c +size 218335 diff --git a/models/textures/muzzleflash.png~ b/models/textures/muzzleflash.png~ new file mode 100644 index 0000000..8324108 Binary files /dev/null and b/models/textures/muzzleflash.png~ differ diff --git a/src/enemy.cpp b/src/enemy.cpp new file mode 100644 index 0000000..5d8253f --- /dev/null +++ b/src/enemy.cpp @@ -0,0 +1,13 @@ +#include "enemy.hpp" + +void Enemy::_bind_methods() {} + +void Enemy::_ready() { + this->anim_tree = this->get_node("CharacterModel/AnimationTree"); +} + +void Enemy::damage() { + this->anim_tree->death_animation(); + this->set_collision_mask(0x0); + this->set_collision_layer(0x0); +} diff --git a/src/enemy.hpp b/src/enemy.hpp new file mode 100644 index 0000000..b564be6 --- /dev/null +++ b/src/enemy.hpp @@ -0,0 +1,19 @@ +#ifndef ENEMY_HPP +#define ENEMY_HPP + +#include "damageable_entity.hpp" +#include "player_anim_tree.hpp" +#include +namespace gd = godot; + +class Enemy : public gd::CharacterBody3D, public DamageableEntity { + GDCLASS(Enemy, gd::CharacterBody3D); + static void _bind_methods(); +public: + virtual void _ready() override; + virtual void damage() override; +private: + PlayerAnimTree *anim_tree{nullptr}; +}; + +#endif // !ENEMY_HPP diff --git a/src/hitscan_muzzle.cpp b/src/hitscan_muzzle.cpp new file mode 100644 index 0000000..ea15c73 --- /dev/null +++ b/src/hitscan_muzzle.cpp @@ -0,0 +1,37 @@ +#include "hitscan_muzzle.hpp" +#include "damageable_entity.hpp" +#include "godot_cpp/variant/callable.hpp" +#include "utils/godot_macros.hpp" +#include +#include +#include +#include + +void HitscanMuzzle::_bind_methods() { +#define CLASSNAME HitscanMuzzle + GDFUNCTION(fire); // allow fire() to be called from animation tracks +} + +void HitscanMuzzle::_ready() { + this->set_enabled(false); + this->set_physics_process(false); +} + +void HitscanMuzzle::_physics_process(double) { + this->fire_physics_check(); + this->set_physics_process(false); // since _physics_process is only used for fire_physics_check, just disable it immediately +} + +void HitscanMuzzle::fire() { + this->set_physics_process(true); // offload physics checks to physics process to avoid multithreading issues +} + +void HitscanMuzzle::fire_physics_check() { + this->force_raycast_update(); // since we disabled automatic updating (set_enabled(false) in _ready), we'll have to force update here. + gd::Object *hit{this->get_collider()}; + if(hit == nullptr) return; // nothing was hit + // see if the hit object can be damaged, damage if so + DamageableEntity *damage_iface{dynamic_cast(hit)}; + if(damage_iface == nullptr) return; // hit object can't be damaged. + damage_iface->damage(); +} diff --git a/src/hitscan_muzzle.hpp b/src/hitscan_muzzle.hpp new file mode 100644 index 0000000..129b028 --- /dev/null +++ b/src/hitscan_muzzle.hpp @@ -0,0 +1,22 @@ +#ifndef HITSCAN_MUZZLE_HPP +#define HITSCAN_MUZZLE_HPP + +#include +#include +#include +#include +namespace gd = godot; + +class HitscanMuzzle : public gd::RayCast3D { + GDCLASS(HitscanMuzzle, gd::RayCast3D); + static void _bind_methods(); +public: + virtual void _ready() override; + virtual void _physics_process(double) override; + + void fire(); // prep a deferred call to fire_physics_check +private: + void fire_physics_check(); +}; + +#endif // !HITSCAN_MUZZLE_HPP diff --git a/src/player.cpp b/src/player.cpp index 1773a58..cef54f3 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -11,13 +11,16 @@ void Player::_bind_methods() { void Player::_ready() { if(gd::Engine::get_singleton()->is_editor_hint()) return; - this->anim_tree = this->get_node("%AnimationTree"); + // setup input callbacks this->input = this->get_node("%PlayerInput"); this->input->listen_to(utils::PlayerInput::Listener("dir_left", "dir_right", callable_mp(this, &Player::_on_dir_horizontal))); this->input->listen_to(utils::PlayerInput::Listener("dir_backward", "dir_forward", callable_mp(this, &Player::_on_dir_vertical))); this->input->listen_to(utils::PlayerInput::Listener("fire", callable_mp(this, &Player::_on_fire))); this->input->listen_to(utils::PlayerInput::Listener("run", callable_mp(this, &Player::_on_run))); + // get components + this->anim_tree = this->get_node("CharacterModel/AnimationTree"); this->model_node = this->get_node("%CharacterModel"); + // setup camera this->camera_parent = this->get_node("%CameraParent"); this->camera_parent->set_global_rotation(this->get_global_rotation()); } @@ -25,22 +28,20 @@ void Player::_ready() { void Player::_process(double delta) { if(gd::Engine::get_singleton()->is_editor_hint()) return; - if(this->input_fire >= 0.0) - this->input_fire -= delta; - this->process_rotate(delta); - this->process_transform_camera(delta); - // calculate the motion based on model-space motion and global basis + // process rotations + this->process_rotate(delta); // global character rotation + this->process_transform_camera(delta); // camera input rotation + // set the global motion based on model-space motion vector gd::Basis const &model_basis{this->model_node->get_global_basis()}; this->anim_tree->set_walk_speed(gd::Math::max(0.f, model_basis.get_column(2).dot(this->camera_parent->get_basis().get_column(2)))); gd::Vector3 const local_motion{this->anim_tree->get_root_motion_position()}; gd::Vector3 const motion { local_motion.x * model_basis.get_column(0) + local_motion.y * model_basis.get_column(1) + - local_motion.z * model_basis.get_column(2) + - (this->is_on_floor() ? gd::Vector3{} : gd::Vector3{0.f, -1.f, 0.f}) // add some gravity if required + local_motion.z * model_basis.get_column(2) + + (this->is_on_floor() ? gd::Vector3{} : gd::Vector3{0.f, -0.05f, 0.f}) // add some gravity if required }; - // set velocity and move - this->set_velocity(motion / delta); + this->set_velocity(motion / delta); // velocity has to be in m/s, root motion is framerate-dependent. meters/second=distance/time. } void Player::_physics_process(double delta [[maybe_unused]]) { @@ -50,7 +51,7 @@ void Player::_physics_process(double delta [[maybe_unused]]) { } void Player::damage() { - + this->anim_tree->death_animation(); } void Player::process_transform_camera(double delta) { @@ -79,8 +80,8 @@ void Player::_on_dir_horizontal(gd::Ref, float value) { void Player::_on_dir_vertical(gd::Ref, float value) { this->input_directions.y = value; - this->anim_tree->set_aim_weapon(value <= -0.9f); - this->anim_tree->set_is_walking(value > 0.5f); + this->anim_tree->set_aim_weapon(value <= AIM_INPUT_THRESHOLD); + this->anim_tree->set_is_walking(value > WALK_INPUT_THRESHOLD); } void Player::_on_fire(gd::Ref event, float) { diff --git a/src/player.hpp b/src/player.hpp index fd32138..03abeec 100644 --- a/src/player.hpp +++ b/src/player.hpp @@ -32,11 +32,12 @@ private: utils::PlayerInput *input{nullptr}; gd::Node3D *model_node{nullptr}; gd::Vector2 input_directions{0.f, 0.f}; - double input_fire{0.0}; float const ROTATION_SPEED{1.8f}; float const CAMERA_ROTATION_SPEED{2.f}; float const AIMING_CAMERA_ROTATION_SPEED{1.f}; + float const AIM_INPUT_THRESHOLD{-0.9f}; + float const WALK_INPUT_THRESHOLD{0.5f}; }; #endif // !TR_PLAYER_HPP diff --git a/src/player_anim_tree.cpp b/src/player_anim_tree.cpp index 6cf9cc2..603b4fa 100644 --- a/src/player_anim_tree.cpp +++ b/src/player_anim_tree.cpp @@ -13,6 +13,7 @@ void PlayerAnimTree::_bind_methods() { } void PlayerAnimTree::_ready() { + this->parent_3d = gd::Object::cast_to(this->get_parent()); this->fsm = this->get("parameters/Actions/playback"); } @@ -24,6 +25,12 @@ void PlayerAnimTree::_process(double delta) { this->update_tags(this->fsm->get_current_node()); this->fire_weapon -= delta; this->running_time -= delta; + if(this->is_dead && this->death_blend < 1.f) { + this->death_blend = gd::Math::min(this->death_blend + float(delta * this->DEATH_BLEND_SPEED), 1.f); + this->set("parameters/DeathBlend/blend_amount", this->death_blend); + } + this->parent_3d->set_quaternion(this->get_root_motion_rotation_accumulator()); + this->parent_3d->rotate_y(M_PIf); } void PlayerAnimTree::set_target_turn_speed(float value) { @@ -52,7 +59,7 @@ float PlayerAnimTree::get_walk_speed() const { } void PlayerAnimTree::set_is_running() { - this->running_time = 0.25; + this->running_time = this->RUN_PARAM_DECAY; } bool PlayerAnimTree::get_is_running() const { @@ -68,7 +75,7 @@ bool PlayerAnimTree::get_aim_weapon() const { } void PlayerAnimTree::set_fire_weapon() { - this->fire_weapon = 0.5f; + this->fire_weapon = this->FIRE_PARAM_DECAY; } bool PlayerAnimTree::get_fire_weapon() { @@ -77,6 +84,11 @@ bool PlayerAnimTree::get_fire_weapon() { return is_set; } +void PlayerAnimTree::death_animation() { + this->set("parameters/DeathSeek/request", 0.f); + this->is_dead = true; +} + bool PlayerAnimTree::match_tags(Tags tags) const { return (this->current_tags & tags) != Tags::None; } diff --git a/src/player_anim_tree.hpp b/src/player_anim_tree.hpp index af61cc0..401b520 100644 --- a/src/player_anim_tree.hpp +++ b/src/player_anim_tree.hpp @@ -2,8 +2,9 @@ #define PLAYER_ANIM_TREE_HPP #include "utils/godot_macros.hpp" -#include #include +#include +#include namespace gd = godot; class PlayerAnimTree : public gd::AnimationTree { @@ -32,11 +33,17 @@ public: void set_fire_weapon(); bool get_fire_weapon(); bool match_tags(Tags tags) const; + void death_animation(); private: void update_tags(gd::StringName const &anim); void commit_turn_speed(); void commit_walk_speed(); private: + double const DEATH_BLEND_SPEED{1. / 0.3}; //!< multiplier for delta_time when blending from state machine to death animation + double const FIRE_PARAM_DECAY{0.5}; //!< how many seconds it takes for a fire input to become invalid + double const RUN_PARAM_DECAY{0.25}; //!< how many seconds to run every time set_is_running is called + + gd::Node3D *parent_3d{nullptr}; gd::Ref fsm; float turn_speed{0.f}; float target_turn_speed{0.f}; @@ -45,6 +52,8 @@ private: double running_time{0.0}; bool aim_weapon{false}; double fire_weapon{0.0}; + float death_blend{0.f}; + bool is_dead{false}; Tags current_tags{Tags::None}; gd::StringName last_known_anim{}; }; diff --git a/src/register_types.cpp b/src/register_types.cpp index 97db2c6..b3de8d6 100644 --- a/src/register_types.cpp +++ b/src/register_types.cpp @@ -6,6 +6,9 @@ #include #include "player.hpp" +#include "player_anim_tree.hpp" +#include "enemy.hpp" +#include "hitscan_muzzle.hpp" using namespace godot; @@ -17,6 +20,8 @@ void initialize_gdextension_types(ModuleInitializationLevel p_level) utils::godot_cpp_utils_register_types(); GDREGISTER_CLASS(Player); GDREGISTER_CLASS(PlayerAnimTree); + GDREGISTER_CLASS(Enemy); + GDREGISTER_CLASS(HitscanMuzzle); } extern "C"