diff --git a/godot/models/animations/Aim.res b/godot/models/animations/Aim.res index c487779..2232154 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 1766b91..8daaa27 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/RESET.res b/godot/models/animations/RESET.res index cbd89f9..bbdb77d 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 new file mode 100644 index 0000000..6b708df Binary files /dev/null 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 a5276ca..2d50392 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 1f65576..72bd4a2 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 c6a24e4..4eaf34c 100644 Binary files a/godot/models/animations/Walk_forward.res and b/godot/models/animations/Walk_forward.res differ diff --git a/godot/models/character.glb b/godot/models/character.glb index 250ec0b..4a92f89 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:ec386cdcbc2e0ec58510e26639006824660bdefc627b9985bbd99e7121abd01e -size 1894204 +oid sha256:74d3e24b17ef60e247aed9ed2a48c9cad95b981312439e0573f88aa587a54531 +size 2017096 diff --git a/godot/models/character.glb.import b/godot/models/character.glb.import index 5d54ad9..ac0d2c2 100644 --- a/godot/models/character.glb.import +++ b/godot/models/character.glb.import @@ -5430,6 +5430,1805 @@ _subresources={ "slice_99/start_frame": 0, "slices/amount": 0 }, +"Run_forward": { +"save_to_file/enabled": true, +"save_to_file/keep_custom_tracks": "", +"save_to_file/path": "res://models/animations/Run_forward.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 +}, "Turn_left": { "save_to_file/enabled": true, "save_to_file/keep_custom_tracks": "", diff --git a/godot/models/character_planks.png b/godot/models/character_planks.png new file mode 100644 index 0000000..db32845 --- /dev/null +++ b/godot/models/character_planks.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee739e2d67eceea56c649c7930f9c89628287d10f84c5f15f28f79f6df527c26 +size 5328722 diff --git a/godot/models/character_planks.png.import b/godot/models/character_planks.png.import new file mode 100644 index 0000000..02b5f5f --- /dev/null +++ b/godot/models/character_planks.png.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baoj103pows5q" +path.s3tc="res://.godot/imported/character_planks.png-bf4e3c43ee8f1eb697542bf0bfee54a6.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "9a04a9ca6cb72f21abef3f2804c5e752" +} + +[deps] + +source_file="res://models/character_planks.png" +dest_files=["res://.godot/imported/character_planks.png-bf4e3c43ee8f1eb697542bf0bfee54a6.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/character_planks_normal.png b/godot/models/character_planks_normal.png new file mode 100644 index 0000000..c1425d5 --- /dev/null +++ b/godot/models/character_planks_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad8d6b9b3d71e985209e746d0f7e8ae66fad07013b0098265615e8684657d283 +size 2382502 diff --git a/godot/models/character_planks_normal.png.import b/godot/models/character_planks_normal.png.import new file mode 100644 index 0000000..39ec178 --- /dev/null +++ b/godot/models/character_planks_normal.png.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dufw5fjifcf1k" +path.s3tc="res://.godot/imported/character_planks_normal.png-d0077007b1140868b34ce522fc43d375.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={ +"md5": "6e727784c943200bad88fe614defb855" +} + +[deps] + +source_file="res://models/character_planks_normal.png" +dest_files=["res://.godot/imported/character_planks_normal.png-d0077007b1140868b34ce522fc43d375.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=1 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="res://models/character_planks_normal.png" +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/props/trenchwall_2m.glb b/godot/models/props/trenchwall_2m.glb index 5f3bfad..9806a79 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:2fb3d8c685602451f8cbae4fe229f4d82f285d0ffa304c108c8ca1892392998c -size 7717532 +oid sha256:ba49beee1728494f58e21f2d9e8ea0aad61bb5cef5c6b1f4ed5fbbf99bcdddc5 +size 7717648 diff --git a/godot/objects/player.tscn b/godot/objects/player.tscn index eaadc89..7ed5eb9 100644 --- a/godot/objects/player.tscn +++ b/godot/objects/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://1kr3qqan3trk"] +[gd_scene load_steps=39 format=3 uid="uid://1kr3qqan3trk"] [ext_resource type="PackedScene" uid="uid://vub54xgk5n0h" path="res://models/character.glb" id="1_mi4co"] @@ -17,9 +17,33 @@ 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.001", "Character/Skeleton3D:spine.002", "Character/Skeleton3D:spine.003", "Character/Skeleton3D:upperleg.L", "Character/Skeleton3D:upperleg.R"] +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" @@ -42,7 +66,7 @@ blend_point_2/node = SubResource("AnimationNodeAnimation_6neek") blend_point_2/pos = 0.0 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_p0hk7"] -graph_offset = Vector2(-599, 14) +graph_offset = Vector2(-480.5, 90) nodes/BoneMask/node = SubResource("AnimationNodeBlend2_4hmb8") nodes/BoneMask/position = Vector2(140, 140) nodes/Rest/node = SubResource("AnimationNodeAnimation_5n7ai") @@ -57,25 +81,25 @@ 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"] +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: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="AnimationNodeAnimation" id="AnimationNodeAnimation_psu0r"] animation = &"Walk_forward" [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2mbyh"] -graph_offset = Vector2(-703.5, -8.5) +graph_offset = Vector2(-724.58, 74.5681) nodes/Base/node = SubResource("AnimationNodeAnimation_7ceai") nodes/Base/position = Vector2(-120, 120) -nodes/Forward/node = SubResource("AnimationNodeBlend2_rb1jd") -nodes/Forward/position = Vector2(100, 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 = [&"Forward", 0, &"Base", &"Forward", 1, &"Walk", &"output", 0, &"Forward"] +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 = "get_input_directions().y >= -0.9" +advance_expression = "!aim_weapon" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5aafd"] xfade_time = 0.3 @@ -87,7 +111,7 @@ advance_expression = "get_input_direction() > 0.f" priority = 2 switch_mode = 2 advance_mode = 2 -advance_expression = "get_input_fire()" +advance_expression = "get_fire_weapon()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xnat3"] reset = false @@ -107,39 +131,71 @@ advance_mode = 2 xfade_time = 0.2 priority = 2 advance_mode = 2 -advance_expression = "get_input_directions().y < 0.5" +advance_expression = "!is_walking" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_4hisb"] xfade_time = 0.2 advance_mode = 2 -advance_expression = "get_input_directions().y >= 0.5" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_333v8"] -advance_mode = 2 -advance_expression = "get_input_directions().y < -0.9" +advance_expression = "is_walking" [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(706.171, 191.767) +"states/Aim Down [aim]/position" = Vector2(666.26, 226.767) "states/Aim [aim] [turn]/node" = SubResource("AnimationNodeAnimation_nhlru") -"states/Aim [aim] [turn]/position" = Vector2(705.26, 88.389) +"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(706.18, 14.9346) +"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(383.995, 191.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"), "Stationary [turn]", "Aim [aim] [turn]", SubResource("AnimationNodeStateMachineTransition_333v8"), "Start", "Stationary [turn]", SubResource("AnimationNodeStateMachineTransition_bmty6")] -graph_offset = Vector2(-98.007, -6.1553) +"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(-392.578, -45.655) [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_hiswf"] +graph_offset = Vector2(-155, 2) nodes/Actions/node = SubResource("AnimationNodeStateMachine_7smdg") -nodes/Actions/position = Vector2(90.9091, 145.455) +nodes/Actions/position = Vector2(80, 140) nodes/output/position = Vector2(327.273, 163.636) node_connections = [&"output", 0, &"Actions"] @@ -149,15 +205,16 @@ radius = 0.370388 [node name="Player" type="Player"] slide_on_ceiling = false floor_constant_speed = true +safe_margin = 0.005 [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.0337329, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0232956, 0) -[node name="Skeleton3D" parent="CharacterModel/Character" index="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) @@ -250,16 +307,16 @@ 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="AnimationTree" parent="CharacterModel"] +[node name="AnimationTree" type="PlayerAnimTree" parent="CharacterModel"] unique_name_in_owner = true root_node = NodePath("%AnimationTree/..") -root_motion_track = NodePath("Character/Skeleton3D:root") +root_motion_track = NodePath("skeleton_character/Skeleton3D:root") tree_root = SubResource("AnimationNodeBlendTree_hiswf") -advance_expression_base_node = NodePath("../..") 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 -"parameters/Actions/Walk [turn]/Forward/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) @@ -270,7 +327,7 @@ unique_name_in_owner = true top_level = true [node name="Camera" type="Camera3D" parent="CameraParent"] -transform = Transform3D(-0.999748, 0.00680423, -0.0213691, 0.00384561, 0.990762, 0.135556, 0.0220941, 0.13544, -0.990539, -0.434839, 1.68404, -1.00653) +transform = Transform3D(-0.999749, 0.00680422, -0.0213691, 0.00384561, 0.990762, 0.135556, 0.0220941, 0.13544, -0.990539, -0.311477, 1.66006, -1.85354) fov = 42.5804 far = 100.0 diff --git a/godot/project.godot b/godot/project.godot index 0cde35c..4f16a73 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -76,6 +76,12 @@ fire={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null) ] } +run={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) +] +} [physics] diff --git a/models/character.blend b/models/character.blend index 653b44f..d89cf28 100644 --- a/models/character.blend +++ b/models/character.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf53aee27e4cfef32d0cf5fdb938c652df08919a66be916b9cb5e37798cf314c -size 2516476 +oid sha256:f764baa1ccbed6d8d5e540f75e7c1fab415e4277c9ce826d1be7e950bbdbf36e +size 2606184 diff --git a/models/character.blend1 b/models/character.blend1 index 8b52cf8..727c4b5 100644 Binary files a/models/character.blend1 and b/models/character.blend1 differ diff --git a/models/modules.blend b/models/modules.blend index 35035a3..7d6d249 100644 --- a/models/modules.blend +++ b/models/modules.blend @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a98584e77b47938e379942491e87be41ffa72d843356f05854f09656e20b1560 -size 1025208 +oid sha256:f0cb8fc5065e35e6efcd6ecaf7b62f26330731895e1455430476aeb3b333b2ed +size 1049472 diff --git a/models/modules.blend1 b/models/modules.blend1 index afbbc5b..1400eeb 100644 Binary files a/models/modules.blend1 and b/models/modules.blend1 differ diff --git a/src/player.cpp b/src/player.cpp index 064a391..c574dc6 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -6,18 +6,17 @@ void Player::_bind_methods() { #define CLASSNAME Player GDFUNCTION(get_input_directions); - GDFUNCTION(get_input_fire); } void Player::_ready() { if(gd::Engine::get_singleton()->is_editor_hint()) return; - this->anim_tree = this->get_node("%AnimationTree"); - this->fsm = gd::Object::cast_to(this->anim_tree->get("parameters/Actions/playback")); + this->anim_tree = this->get_node("%AnimationTree"); 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))); this->model_node = this->get_node("%CharacterModel"); this->camera_parent = this->get_node("%CameraParent"); this->camera_parent->set_global_rotation(this->get_global_rotation()); @@ -30,41 +29,43 @@ void Player::_process(double delta) { this->input_fire -= delta; this->process_rotate(delta); this->process_transform_camera(delta); -} - -void Player::_physics_process(double delta [[maybe_unused]]) { - if(gd::Engine::get_singleton()->is_editor_hint()) - return; + // calculate the motion based on model-space motion and global basis 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}) + (this->is_on_floor() ? gd::Vector3{} : gd::Vector3{0.f, -1.f, 0.f}) // add some gravity if required }; + // set velocity and move this->set_velocity(motion / delta); +} + +void Player::_physics_process(double delta [[maybe_unused]]) { + if(gd::Engine::get_singleton()->is_editor_hint()) + return; this->move_and_slide(); } void Player::process_transform_camera(double delta) { this->camera_parent->set_global_position(this->get_global_position()); - float const camera_speed{float(delta) * (this->fsm->get_current_node().contains("[aim]") ? this->AIMING_CAMERA_ROTATION_SPEED : this->CAMERA_ROTATION_SPEED)}; + float const camera_speed{float(delta) * (this->anim_tree->match_tags(PlayerAnimTree::Aim) ? this->AIMING_CAMERA_ROTATION_SPEED : this->CAMERA_ROTATION_SPEED)}; this->camera_parent->rotate_y(this->input_directions.x * -camera_speed); } void Player::process_rotate(double delta) { - if(this->fsm->get_current_node().contains("[turn")) { + if(this->anim_tree->match_tags(PlayerAnimTree::Tags::Turn)) { //! the signed angle difference between the left axes of the camera parent and Player - float const diff = -this->camera_parent->get_global_basis().get_column(0).signed_angle_to(this->get_global_basis().get_column(0), {0.f, 1.f, 0.f}); + float const diff{-this->camera_parent->get_global_basis().get_column(0).signed_angle_to(this->get_global_basis().get_column(0), {0.f, 1.f, 0.f})}; + float const dir{gd::Math::sign(diff)}; //! the maximum rotation to allow for this frame float const speed{float(delta) * this->ROTATION_SPEED}; - float const actual_speed{speed < gd::Math::abs(diff) ? gd::Math::sign(diff) * speed : diff}; + float const actual_speed{speed < gd::Math::abs(diff) ? dir * speed : diff}; // rotate by max allowed or full difference, whichever has the smaller magnitude this->rotate_y(actual_speed); - this->anim_tree->set("parameters/Actions/Stationary [turn]/Turn/blend_position", diff * M_PI_2f); - } else { - this->anim_tree->set("parameters/Actions/Stationary [turn_animated]/blend_position", 0.f); + this->anim_tree->set_target_turn_speed(gd::Math::clamp(diff * 2.f, -1.f, 1.f) * M_PI_2f *0.9f); } } @@ -74,20 +75,20 @@ 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); } -void Player::_on_fire(gd::Ref, float value) { - if(value > 0.f) { - this->input_fire = 0.5; - } +void Player::_on_fire(gd::Ref event, float) { + if(event->is_pressed()) + this->anim_tree->set_fire_weapon(); +} + +void Player::_on_run(gd::Ref event, float) { + if(event->is_pressed()) + this->anim_tree->set_is_running(); } gd::Vector2 Player::get_input_directions() const { return this->input_directions; } - -bool Player::get_input_fire() { - bool const val = this->input_fire > 0.0; - this->input_fire = 0.0; - return val; -} diff --git a/src/player.hpp b/src/player.hpp index e17a70c..6017746 100644 --- a/src/player.hpp +++ b/src/player.hpp @@ -2,7 +2,7 @@ #define TR_PLAYER_HPP #include "utils/player_input.hpp" -#include +#include "player_anim_tree.hpp" #include #include namespace gd = godot; @@ -20,20 +20,19 @@ public: void _on_dir_horizontal(gd::Ref, float value); void _on_dir_vertical(gd::Ref, float value); - void _on_fire(gd::Ref, float value); + void _on_fire(gd::Ref event, float); + void _on_run(gd::Ref event, float); gd::Vector2 get_input_directions() const; - bool get_input_fire(); private: - gd::AnimationTree *anim_tree{nullptr}; - gd::AnimationNodeStateMachinePlayback *fsm{nullptr}; + PlayerAnimTree *anim_tree{nullptr}; gd::Node3D *camera_parent{nullptr}; 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.5f}; + float const ROTATION_SPEED{1.8f}; float const CAMERA_ROTATION_SPEED{2.f}; float const AIMING_CAMERA_ROTATION_SPEED{1.f}; }; diff --git a/src/player_anim_tree.cpp b/src/player_anim_tree.cpp new file mode 100644 index 0000000..6cf9cc2 --- /dev/null +++ b/src/player_anim_tree.cpp @@ -0,0 +1,102 @@ +#include "player_anim_tree.hpp" +#include "utils/godot_macros.hpp" +#include + +void PlayerAnimTree::_bind_methods() { +#define CLASSNAME PlayerAnimTree + GDPROPERTY(target_turn_speed, gd::Variant::FLOAT); + GDPROPERTY(is_walking, gd::Variant::FLOAT); + GDPROPERTY(walk_speed, gd::Variant::FLOAT); + GDFUNCTION(get_is_running); + GDPROPERTY(aim_weapon, gd::Variant::BOOL); + GDFUNCTION(get_fire_weapon); +} + +void PlayerAnimTree::_ready() { + this->fsm = this->get("parameters/Actions/playback"); +} + +void PlayerAnimTree::_process(double delta) { + if(gd::Engine::get_singleton()->is_editor_hint()) + return; + this->turn_speed = gd::Math::move_toward(this->turn_speed, this->target_turn_speed, float(delta * 30.)); + this->commit_turn_speed(); + this->update_tags(this->fsm->get_current_node()); + this->fire_weapon -= delta; + this->running_time -= delta; +} + +void PlayerAnimTree::set_target_turn_speed(float value) { + this->target_turn_speed = value; +} + +float PlayerAnimTree::get_target_turn_speed() const { + return this->target_turn_speed; +} + +void PlayerAnimTree::set_is_walking(bool value) { + this->is_walking = value; +} + +bool PlayerAnimTree::get_is_walking() const { + return this->is_walking; +} + +void PlayerAnimTree::set_walk_speed(float value) { + this->walk_speed = value; + this->commit_walk_speed(); +} + +float PlayerAnimTree::get_walk_speed() const { + return this->walk_speed; +} + +void PlayerAnimTree::set_is_running() { + this->running_time = 0.25; +} + +bool PlayerAnimTree::get_is_running() const { + return this->running_time > 0.0; +} + +void PlayerAnimTree::set_aim_weapon(bool value) { + this->aim_weapon = value; +} + +bool PlayerAnimTree::get_aim_weapon() const { + return this->aim_weapon; +} + +void PlayerAnimTree::set_fire_weapon() { + this->fire_weapon = 0.5f; +} + +bool PlayerAnimTree::get_fire_weapon() { + bool const is_set = this->fire_weapon > 0.f; + this->fire_weapon = 0.f; + return is_set; +} + +bool PlayerAnimTree::match_tags(Tags tags) const { + return (this->current_tags & tags) != Tags::None; +} + +void PlayerAnimTree::update_tags(gd::StringName const &anim) { + if(anim != this->last_known_anim && this->fsm->get_travel_path().size() <= 1) { + this->last_known_anim = anim; + this->current_tags = Tags::None; + if(anim.contains("[turn]")) + this->current_tags = Tags(this->current_tags | Tags::Turn); + if(anim.contains("[aim]")) + this->current_tags = Tags(this->current_tags | Tags::Aim); + } +} + +void PlayerAnimTree::commit_turn_speed() { + this->set("parameters/Actions/Stationary [turn]/Turn/blend_position", this->turn_speed); +} + +void PlayerAnimTree::commit_walk_speed() { + this->set("parameters/Actions/Walk [turn]/Speed/blend_amount", this->walk_speed); + this->set("parameters/Actions/Run/Speed/blend_amount", this->walk_speed); +} diff --git a/src/player_anim_tree.hpp b/src/player_anim_tree.hpp new file mode 100644 index 0000000..af61cc0 --- /dev/null +++ b/src/player_anim_tree.hpp @@ -0,0 +1,52 @@ +#ifndef PLAYER_ANIM_TREE_HPP +#define PLAYER_ANIM_TREE_HPP + +#include "utils/godot_macros.hpp" +#include +#include +namespace gd = godot; + +class PlayerAnimTree : public gd::AnimationTree { + GDCLASS(PlayerAnimTree, gd::AnimationTree); + static void _bind_methods(); +public: +enum Tags : unsigned { + None = 0x0, + Turn = 0x1, + Aim = 0x2 +}; +public: + virtual void _ready() override; + virtual void _process(double delta) override; + + void set_target_turn_speed(float value); + float get_target_turn_speed() const; + void set_is_walking(bool value); + bool get_is_walking() const; + void set_walk_speed(float value); + float get_walk_speed() const; + void set_is_running(); + bool get_is_running() const; + void set_aim_weapon(bool value); + bool get_aim_weapon() const; + void set_fire_weapon(); + bool get_fire_weapon(); + bool match_tags(Tags tags) const; +private: + void update_tags(gd::StringName const &anim); + void commit_turn_speed(); + void commit_walk_speed(); +private: + gd::Ref fsm; + float turn_speed{0.f}; + float target_turn_speed{0.f}; + bool is_walking{false}; + float walk_speed{0.f}; + double running_time{0.0}; + bool aim_weapon{false}; + double fire_weapon{0.0}; + Tags current_tags{Tags::None}; + gd::StringName last_known_anim{}; +}; + +#endif // !PLAYER_ANIM_HPP diff --git a/src/register_types.cpp b/src/register_types.cpp index 9fe18cb..97db2c6 100644 --- a/src/register_types.cpp +++ b/src/register_types.cpp @@ -16,6 +16,7 @@ void initialize_gdextension_types(ModuleInitializationLevel p_level) } utils::godot_cpp_utils_register_types(); GDREGISTER_CLASS(Player); + GDREGISTER_CLASS(PlayerAnimTree); } extern "C"