commit df0939501891cdf87e9e19c6b476bdc851cbbed9 Author: Jamie Greunbaum Date: Sat Sep 19 02:23:43 2026 -0400 Initial commit. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..df854f2 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,25 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/addons/liborng/src/liborng" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE", + "TOOLS_ENABLED", + "DEBUG_ENABLED", + "TESTS_ENABLED" + ], + "windowsSdkVersion": "10.0.26100.0", + "compilerPath": "cl.exe", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "windows-msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..22a5591 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,47 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Debug", + "type": "cppvsdbg", + "request": "launch", + "program": "Z:/Code/Godot/4.7.2-stable/Godot_v4.7.2-stable_win64.exe", + "args": ["--path", "${workspaceFolder}"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "internalConsole", + "visualizerFile": "${workspaceFolder}/platform/windows/godot.natvis", + "preLaunchTask": "build" + }, + { + "name": "Debug [editor]", + "type": "cppvsdbg", + "request": "launch", + "program": "Z:/Code/Godot/4.7.2-stable/Godot_v4.7.2-stable_win64.exe", + "args": ["--path", "${workspaceFolder}", "--editor"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "internalConsole", + "visualizerFile": "${workspaceFolder}/platform/windows/godot.natvis", + "preLaunchTask": "build" + }, + { + "name": "Debug [debug-collisions]", + "type": "cppvsdbg", + "request": "launch", + "program": "Z:/Code/Godot/4.7.2-stable/Godot_v4.7.2-stable_win64.exe", + "args": ["--path", "${workspaceFolder}", "--debug-collisions"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "console": "internalConsole", + "visualizerFile": "${workspaceFolder}/platform/windows/godot.natvis", + "preLaunchTask": "build" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9cfb123 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "godotTools.editorPath.godot4": "z:\\Code\\Godot\\4.7.2-stable\\Godot_v4.7.2-stable_win64.exe", + "chat.disableAIFeatures": true, + "chat.agent.enabled": false, + "chat.commandCenter.enabled": false, + "inlineChat.accessibleDiffView": "off", + "terminal.integrated.initialHint": false, + "editor.minimap.autohide": "scroll", + + "files.exclude": { + "**/.*": false + } +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..902c437 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,23 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "group": { + "kind": "build", + "isDefault": true + }, + "type": "shell", + "options": { + "cwd": "${workspaceFolder}/addons/liborng/src", + }, + "command": "scons", + "windows": { + "args": ["platform=windows", "target=template_debug", "debug_symbols=yes", "dev_build=yes"] + }, + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/Assets/Animations/AL_Protagonist.bin b/Assets/Animations/AL_Protagonist.bin new file mode 100644 index 0000000..6bcb8af Binary files /dev/null and b/Assets/Animations/AL_Protagonist.bin differ diff --git a/Assets/Animations/AL_Protagonist.gltf b/Assets/Animations/AL_Protagonist.gltf new file mode 100644 index 0000000..f1d431e --- /dev/null +++ b/Assets/Animations/AL_Protagonist.gltf @@ -0,0 +1,41924 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_materials_specular" + ], + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + } + ], + "nodes":[ + { + "name":"headtop_end", + "rotation":[ + -3.3527612686157227e-08, + -1.9984014443252818e-15, + -2.4313884239290928e-14, + 1 + ], + "translation":[ + 9.856984561906756e-09, + 0.2096278965473175, + 0.10122936964035034 + ] + }, + { + "children":[ + 0 + ], + "name":"head", + "rotation":[ + 5.2154071283894154e-08, + 7.771561172376096e-15, + -2.1760371282653068e-14, + 1 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -1.075674882500266e-09, + 0.09341881424188614, + 0.028410382568836212 + ] + }, + { + "children":[ + 1 + ], + "name":"neck", + "rotation":[ + -2.2351745343485163e-08, + -8.215651229259106e-15, + 7.904787935331115e-14, + 1 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + 4.108491324927854e-12, + 0.1686534732580185, + 4.163336342344337e-15 + ] + }, + { + "name":"handindex4.L", + "rotation":[ + -4.300993623473914e-06, + -0.0003774439974222332, + -1.3087859770166688e-05, + 0.9999999403953552 + ], + "translation":[ + -8.129177331284154e-10, + 0.027748674154281616, + 2.6050212653672133e-08 + ] + }, + { + "children":[ + 3 + ], + "name":"handindex3.L", + "rotation":[ + 2.2046522190066753e-06, + -1.7822947029344505e-07, + -6.633296288782731e-05, + 1 + ], + "translation":[ + -8.358682634934667e-10, + 0.02850005030632019, + 5.8848137030054204e-08 + ] + }, + { + "children":[ + 4 + ], + "name":"handindex2.L", + "rotation":[ + 4.796952453034464e-07, + 1.1558869061900623e-07, + 0.00010514154564589262, + 1 + ], + "translation":[ + 2.7111752842756687e-09, + 0.03700003772974014, + 2.4030887502135556e-08 + ] + }, + { + "children":[ + 5 + ], + "name":"handindex1.L", + "rotation":[ + 8.872710282048502e-07, + -5.201111008545922e-08, + -4.404903302202001e-05, + 1 + ], + "translation":[ + -0.02259862795472145, + 0.09109316766262054, + 0.0051802643574774265 + ] + }, + { + "name":"handmiddle4.L", + "rotation":[ + 2.8689903786016657e-08, + -0.0010240075644105673, + 2.8007299988530576e-05, + 0.999999463558197 + ], + "translation":[ + 5.814456471853191e-09, + 0.029528817161917686, + -1.932665583126436e-08 + ] + }, + { + "children":[ + 7 + ], + "name":"handmiddle3.L", + "rotation":[ + -4.0409959183307365e-06, + -1.631082682251872e-07, + 2.0510378817562014e-05, + 1 + ], + "translation":[ + 3.566604789284611e-09, + 0.029500018805265427, + -4.096026273714415e-08 + ] + }, + { + "children":[ + 8 + ], + "name":"handmiddle2.L", + "rotation":[ + 4.041001830046298e-06, + 4.4069697224813353e-08, + 2.134915121132508e-05, + 1 + ], + "translation":[ + 5.23044718647725e-10, + 0.03700001910328865, + -6.085109305331571e-09 + ] + }, + { + "children":[ + 9 + ], + "name":"handmiddle1.L", + "rotation":[ + -7.24426968190528e-07, + -2.264228271542379e-08, + -3.166962051182054e-05, + 1 + ], + "translation":[ + -3.5773257422988536e-07, + 0.09533406794071198, + -4.5995889763617015e-07 + ] + }, + { + "name":"handpinky4.L", + "rotation":[ + -3.0361243261722848e-06, + -0.0007839997415430844, + -0.00029601866845041513, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 1.9833805708913133e-09, + 0.02125522680580616, + -5.474696251894784e-08 + ] + }, + { + "children":[ + 11 + ], + "name":"handpinky3.L", + "rotation":[ + 8.514914043189492e-06, + 5.460542524815537e-07, + -6.653391756117344e-05, + 1 + ], + "translation":[ + -1.1610836736508645e-09, + 0.021000083535909653, + -9.591443017598067e-08 + ] + }, + { + "children":[ + 12 + ], + "name":"handpinky2.L", + "rotation":[ + -5.203507953410735e-06, + -1.4068231735109293e-07, + -0.00021075546101201326, + 1 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + -3.333013864903478e-09, + 0.03599989786744118, + -1.5751382420603477e-09 + ] + }, + { + "children":[ + 13 + ], + "name":"handpinky1.L", + "rotation":[ + -4.035667188873049e-06, + -4.0740797402349926e-08, + 0.0020447801798582077, + 0.9999979138374329 + ], + "translation":[ + 0.038062646985054016, + 0.08077787607908249, + 0.004868661984801292 + ] + }, + { + "name":"handring4.L", + "rotation":[ + -8.12406497630036e-09, + 0.0004936773329973221, + 1.6482892533531412e-05, + 0.9999998807907104 + ], + "translation":[ + -2.3473216970160138e-07, + 0.026443222537636757, + 1.7724477174851927e-07 + ] + }, + { + "children":[ + 15 + ], + "name":"handring3.L", + "rotation":[ + -4.0410077417618595e-06, + -4.0146960600395687e-07, + -6.205201543707517e-07, + 1 + ], + "translation":[ + -1.1457927939773072e-09, + 0.029499877244234085, + 3.77251296868053e-08 + ] + }, + { + "children":[ + 16 + ], + "name":"handring2.L", + "rotation":[ + 4.040944531880086e-06, + 4.384003915447465e-08, + 2.030075449965807e-07, + 1 + ], + "translation":[ + -4.8606949576424086e-09, + 0.03150007873773575, + -8.246857419180742e-09 + ] + }, + { + "children":[ + 17 + ], + "name":"handring1.L", + "rotation":[ + -7.243593813655025e-07, + -2.2613424022210893e-08, + 6.208795639395248e-06, + 1 + ], + "translation":[ + 0.018650822341442108, + 0.09104537963867188, + 0.0004301290027797222 + ] + }, + { + "name":"handthumb4.L", + "rotation":[ + 0.0051511358469724655, + 0.12268276512622833, + 0.04165191575884819, + 0.9915581345558167 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -6.705522537231445e-08, + 0.025805741548538208, + -1.492392698310141e-07 + ] + }, + { + "children":[ + 19 + ], + "name":"handthumb3.L", + "rotation":[ + -0.0015303968684747815, + 0.0007450461853295565, + -0.0060737901367247105, + 0.999980092048645 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 4.563480615615845e-08, + 0.03418399393558502, + 8.200773748967549e-08 + ] + }, + { + "children":[ + 20 + ], + "name":"handthumb2.L", + "rotation":[ + -0.002065066946670413, + 0.0010431568371132016, + -0.00821353867650032, + 0.9999635815620422 + ], + "scale":[ + 0.9999999403953552, + 0.9999997615814209, + 0.9999998211860657 + ], + "translation":[ + -5.029141902923584e-08, + 0.041870877146720886, + -2.5017115490300057e-07 + ] + }, + { + "children":[ + 21 + ], + "name":"handthumb1.L", + "rotation":[ + 0.25309571623802185, + -0.06132367253303528, + 0.22735275328159332, + 0.938345730304718 + ], + "scale":[ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation":[ + -0.026817314326763153, + 0.02466154471039772, + 0.015761854127049446 + ] + }, + { + "children":[ + 6, + 10, + 14, + 18, + 22 + ], + "name":"hand.L", + "rotation":[ + -1.1724073800678525e-07, + -1.953404327181829e-09, + -0.0008556083193980157, + 0.9999996423721313 + ], + "translation":[ + 0.0004846574447583407, + 0.283287912607193, + -1.312394886099355e-07 + ] + }, + { + "children":[ + 23 + ], + "name":"forearm.L", + "rotation":[ + 6.256710776142427e-07, + 8.773042736720527e-08, + 0.0008559320122003555, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 1 + ], + "translation":[ + 2.7814976988338458e-09, + 0.2784152925014496, + -7.977563143413136e-08 + ] + }, + { + "children":[ + 24 + ], + "name":"arm.L", + "rotation":[ + -0.02460736408829689, + -0.0025615300983190536, + 0.10350420325994492, + 0.9943212866783142 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999998807907104 + ], + "translation":[ + -1.862645149230957e-09, + 0.10837707668542862, + -1.4278940341228008e-07 + ] + }, + { + "children":[ + 25 + ], + "name":"shoulder.L", + "rotation":[ + 0.4844230115413666, + 0.5709701776504517, + -0.5261619687080383, + 0.40308940410614014 + ], + "scale":[ + 0.9999998807907104, + 0.9999997615814209, + 0.9999998807907104 + ], + "translation":[ + 0.04570445790886879, + 0.11195652931928635, + -0.008066272363066673 + ] + }, + { + "name":"handindex4.R", + "rotation":[ + -4.387489752843976e-06, + 0.001002811943180859, + 8.70746371219866e-05, + 0.999999463558197 + ], + "translation":[ + -2.3528627934865654e-09, + 0.027721796184778214, + 4.0083602215190695e-08 + ] + }, + { + "children":[ + 27 + ], + "name":"handindex3.R", + "rotation":[ + 1.0574328371149022e-05, + -1.8728944439772022e-07, + -8.806938421912491e-05, + 1 + ], + "scale":[ + 1, + 1, + 0.9999999403953552 + ], + "translation":[ + 1.858708742474846e-10, + 0.028500143438577652, + -5.2046402743144426e-08 + ] + }, + { + "children":[ + 28 + ], + "name":"handindex2.R", + "rotation":[ + -6.274121915339492e-06, + 1.944923440078128e-07, + 0.0002557229599915445, + 1 + ], + "translation":[ + -2.725073500187136e-10, + 0.03699992597103119, + 1.2146533556744998e-08 + ] + }, + { + "children":[ + 29 + ], + "name":"handindex1.R", + "rotation":[ + -1.9564166259256055e-11, + -1.192104690517226e-07, + -0.00016411440446972847, + 1 + ], + "translation":[ + 0.02259833924472332, + 0.0910828560590744, + 0.005178694147616625 + ] + }, + { + "name":"handmiddle4.R", + "rotation":[ + -4.200302100798581e-06, + 0.0009290380985476077, + 0.0001665618474362418, + 0.9999995827674866 + ], + "translation":[ + 3.8664325074933e-09, + 0.029466252774000168, + 2.036575708075361e-08 + ] + }, + { + "children":[ + 31 + ], + "name":"handmiddle3.R", + "rotation":[ + 2.0204365682729986e-06, + -1.5780838680257148e-07, + -0.00032192468643188477, + 1 + ], + "scale":[ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -4.794991070866672e-09, + 0.029499920085072517, + 8.23749317646616e-08 + ] + }, + { + "children":[ + 32 + ], + "name":"handmiddle2.R", + "rotation":[ + -2.020426563831279e-06, + 3.75363455873412e-08, + 0.0008498621755279601, + 0.9999996423721313 + ], + "translation":[ + -1.5178187595665804e-09, + 0.0370001457631588, + 1.2647534219922818e-07 + ] + }, + { + "children":[ + 33 + ], + "name":"handmiddle1.R", + "rotation":[ + -6.49106601802174e-11, + -3.723018855011917e-12, + -0.0005016589420847595, + 0.9999998807907104 + ], + "translation":[ + -2.609650380236417e-07, + 0.09532509744167328, + 4.839977805204398e-07 + ] + }, + { + "name":"handpinky4.R", + "rotation":[ + -5.569639142777305e-06, + 0.0015697574708610773, + -4.1209597839042544e-05, + 0.9999987483024597 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 0.9999998807907104 + ], + "translation":[ + 2.5656277102825698e-09, + 0.02115778997540474, + 7.441177984901515e-08 + ] + }, + { + "children":[ + 35 + ], + "name":"handpinky3.R", + "rotation":[ + 5.613026587525383e-06, + -2.406910937224893e-07, + -0.0004968639113940299, + 0.9999998807907104 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -2.625103689979369e-09, + 0.02099986933171749, + 1.6951955217336945e-07 + ] + }, + { + "children":[ + 36 + ], + "name":"handpinky2.R", + "rotation":[ + -2.1285734419507207e-06, + 1.4029291151018697e-07, + 0.0008462514379061759, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 8.041411092563067e-09, + 0.035999998450279236, + 1.1781166620039585e-07 + ] + }, + { + "children":[ + 37 + ], + "name":"handpinky1.R", + "rotation":[ + 4.967071618011687e-06, + -4.231911177043912e-08, + 0.0005204537301324308, + 0.9999998807907104 + ], + "scale":[ + 1, + 1.0000001192092896, + 1 + ], + "translation":[ + -0.03806281462311745, + 0.08076678216457367, + 0.004867088980972767 + ] + }, + { + "name":"handring4.R", + "rotation":[ + 1.1671562560877646e-07, + 0.00014603129238821566, + -0.0007996074273250997, + 0.9999996423721313 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + 3.3163018997584004e-09, + 0.02638809010386467, + 1.240848916950199e-07 + ] + }, + { + "children":[ + 39 + ], + "name":"handring3.R", + "rotation":[ + 2.0626657715183683e-06, + -8.260165174078793e-08, + -0.00011254193668719381, + 1 + ], + "translation":[ + 3.6250611401555943e-09, + 0.028896944597363472, + -6.861417212178367e-09 + ] + }, + { + "children":[ + 40 + ], + "name":"handring2.R", + "rotation":[ + -2.0626207515306305e-06, + -4.134354192331102e-09, + -0.00022161708329804242, + 1 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 1 + ], + "translation":[ + 2.4463133740937337e-09, + 0.033792734146118164, + -8.046864508060025e-09 + ] + }, + { + "children":[ + 41 + ], + "name":"handring1.R", + "rotation":[ + -1.860207474169151e-11, + 1.1921048326257733e-07, + 0.0001560438540764153, + 1 + ], + "translation":[ + -0.018651369959115982, + 0.09103600680828094, + 0.0004307127383071929 + ] + }, + { + "name":"handthumb4.R", + "rotation":[ + 0.005775901488959789, + -0.11750974506139755, + -0.04874412342905998, + 0.9918578863143921 + ], + "scale":[ + 1.0000001192092896, + 1, + 0.9999999403953552 + ], + "translation":[ + -6.007030606269836e-08, + 0.025749769061803818, + 7.210895347498081e-08 + ] + }, + { + "children":[ + 43 + ], + "name":"handthumb3.R", + "rotation":[ + -0.001665552263148129, + -0.0008075474761426449, + 0.006919392850250006, + 0.9999743700027466 + ], + "scale":[ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation":[ + 5.168840289115906e-08, + 0.034162648022174835, + 1.4680230719932297e-07 + ] + }, + { + "children":[ + 44 + ], + "name":"handthumb2.R", + "rotation":[ + -0.002314238576218486, + -0.0011704372009262443, + 0.009300507605075836, + 0.9999533891677856 + ], + "scale":[ + 1.0000001192092896, + 1.0000001192092896, + 1.0000001192092896 + ], + "translation":[ + 3.166496753692627e-08, + 0.04188991338014603, + 2.0955660318122682e-08 + ] + }, + { + "children":[ + 45 + ], + "name":"handthumb1.R", + "rotation":[ + 0.25328338146209717, + 0.0616186261177063, + -0.22821031510829926, + 0.9380675554275513 + ], + "scale":[ + 1, + 1.0000001192092896, + 1 + ], + "translation":[ + 0.02681852877140045, + 0.02464805729687214, + 0.01573992148041725 + ] + }, + { + "children":[ + 30, + 34, + 38, + 42, + 46 + ], + "name":"hand.R", + "rotation":[ + -8.416084256168688e-07, + -1.2706919960692176e-07, + 0.000855970720294863, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1.0000001192092896, + 1 + ], + "translation":[ + -0.0004849898105021566, + 0.28328824043273926, + -4.924516474602569e-07 + ] + }, + { + "children":[ + 47 + ], + "name":"forearm.R", + "rotation":[ + 8.416084824602876e-07, + 1.2685785577559727e-07, + -0.0008559279376640916, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 1 + ], + "translation":[ + 7.243929189826304e-08, + 0.2784149646759033, + 7.136969237819812e-09 + ] + }, + { + "children":[ + 48 + ], + "name":"arm.R", + "rotation":[ + -0.024616025388240814, + 0.0025623163674026728, + -0.10349860042333603, + 0.9943216443061829 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + -1.862645149230957e-09, + 0.10838180780410767, + 3.878955823211072e-08 + ] + }, + { + "children":[ + 49 + ], + "name":"shoulder.R", + "rotation":[ + 0.48443058133125305, + -0.5709637999534607, + 0.5261635184288025, + 0.40308719873428345 + ], + "scale":[ + 0.9999997615814209, + 1, + 0.9999998807907104 + ], + "translation":[ + -0.045699700713157654, + 0.11195846647024155, + -0.008066335693001747 + ] + }, + { + "children":[ + 2, + 26, + 50 + ], + "name":"spine2", + "rotation":[ + 0.01288565807044506, + -4.771085748700443e-10, + -3.702412953998646e-08, + 0.9999169707298279 + ], + "translation":[ + 5.412337245047638e-15, + 0.09322061389684677, + -3.7252858575698156e-09 + ] + }, + { + "children":[ + 51 + ], + "name":"spine1", + "rotation":[ + -8.940696716308594e-08, + -3.34038352534094e-14, + 3.039235529911366e-14, + 1 + ], + "translation":[ + -6.717543188372588e-14, + 0.10002681612968445, + 3.2596334520462733e-09 + ] + }, + { + "children":[ + 52 + ], + "name":"spine", + "rotation":[ + -0.08015569299459457, + 4.009704894503141e-14, + -2.480680905136978e-07, + 0.9967823624610901 + ], + "scale":[ + 1, + 0.9999998211860657, + 0.9999999403953552 + ], + "translation":[ + -4.232656326125239e-12, + 0.10182435810565948, + 3.0267974793218855e-09 + ] + }, + { + "name":"toe_end.L", + "rotation":[ + 5.2061421840221556e-09, + -0.011869152076542377, + -6.175124300789037e-11, + 0.9999295473098755 + ], + "translation":[ + -3.2374511960142627e-09, + 0.09278135001659393, + 1.0894213531287278e-08 + ] + }, + { + "children":[ + 54 + ], + "name":"toebase.L", + "rotation":[ + 0.33524152636528015, + 3.9022669540145216e-08, + -1.4048482910311577e-07, + 0.9421322345733643 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -2.4129189757360336e-09, + 0.13816864788532257, + 4.508141415726641e-09 + ] + }, + { + "children":[ + 55 + ], + "name":"foot.L", + "rotation":[ + 0.45974862575531006, + 2.041474367331375e-08, + -1.8029456327894877e-07, + 0.8880491256713867 + ], + "translation":[ + 9.868331041218426e-09, + 0.44527870416641235, + 3.5456206859407757e-09 + ] + }, + { + "children":[ + 56 + ], + "name":"leg.L", + "rotation":[ + -0.03811243921518326, + -1.6466810848214664e-07, + 1.7646108574354002e-08, + 0.9992734789848328 + ], + "translation":[ + 3.130001369200386e-09, + 0.443713903427124, + -3.413118676576232e-10 + ] + }, + { + "children":[ + 57 + ], + "name":"upleg.L", + "rotation":[ + -8.941996298972299e-08, + 0.01036797184497118, + 0.9999462366104126, + 2.677497263903206e-07 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + 0.08207788318395615, + -0.0677180141210556, + -0.015122131444513798 + ] + }, + { + "name":"toe_end.R", + "rotation":[ + -2.2927851617282613e-08, + 0.011608129367232323, + -2.6613722337032186e-10, + 0.9999326467514038 + ], + "translation":[ + -1.0687933205133504e-08, + 0.09278120845556259, + 1.225798129667055e-09 + ] + }, + { + "children":[ + 59 + ], + "name":"toebase.R", + "rotation":[ + 0.3352416157722473, + 1.524676207509401e-08, + -9.762964481296876e-08, + 0.9421321749687195 + ], + "translation":[ + -1.7568225985087338e-08, + 0.13816867768764496, + -7.635153842500131e-09 + ] + }, + { + "children":[ + 60 + ], + "name":"foot.R", + "rotation":[ + 0.4597400426864624, + 3.2379794845383e-08, + -1.7348713754472556e-07, + 0.8880535364151001 + ], + "translation":[ + -3.818936722410626e-09, + 0.44527819752693176, + 2.023623935087926e-09 + ] + }, + { + "children":[ + 61 + ], + "name":"leg.R", + "rotation":[ + -0.03809138014912605, + -8.132730044962955e-08, + 9.350360485882447e-09, + 0.9992742538452148 + ], + "translation":[ + -6.652245421179259e-09, + 0.4437147080898285, + 2.934825715783518e-10 + ] + }, + { + "children":[ + 62 + ], + "name":"upleg.R", + "rotation":[ + -4.640854811555073e-08, + 0.010356487706303596, + 0.9999463558197021, + 2.514035486456123e-07 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -0.08207789808511734, + -0.06771751493215561, + -0.015122181735932827 + ] + }, + { + "children":[ + 53, + 58, + 63 + ], + "name":"hips", + "rotation":[ + 0.711658775806427, + -1.7599082013930456e-07, + 1.782787961701615e-07, + 0.7025253176689148 + ], + "translation":[ + -7.727290807224563e-08, + -0.015543073415756226, + 1.0427486896514893 + ] + }, + { + "children":[ + 64 + ], + "name":"root", + "rotation":[ + -0.7071067690849304, + 0, + 0, + 0.7071067690849304 + ] + }, + { + "mesh":0, + "name":"Beta_Surface", + "skin":0 + }, + { + "children":[ + 66, + 65 + ], + "name":"Mixamo" + }, + { + "name":"WGT-Armature_arm.L.001", + "rotation":[ + 0, + 0, + 1, + 7.549789415861596e-08 + ], + "scale":[ + 0.12076857686042786, + 0.12076857686042786, + 0.12076857686042786 + ], + "translation":[ + 0.4300432503223419, + 1.4406129121780396, + -0.26406732201576233 + ] + }, + { + "name":"WGT-Armature_arm.R.001", + "rotation":[ + 0, + 0, + -1, + 7.549789415861596e-08 + ], + "scale":[ + 0.12076857686042786, + 0.12076857686042786, + 0.12076857686042786 + ], + "translation":[ + -0.4300432503223419, + 1.4406129121780396, + -0.26406732201576233 + ] + }, + { + "name":"WGT-Armature_foot.ik.L", + "rotation":[ + 0, + 0.9421200156211853, + 0.33527588844299316, + 9.819790314224974e-09 + ], + "scale":[ + 0.13816864788532257, + 0.13816864788532257, + 0.13816864788532257 + ], + "translation":[ + 0.08207781612873077, + 0.08729472756385803, + -0.02742675505578518 + ] + }, + { + "name":"WGT-Armature_foot.ik.R", + "rotation":[ + 0, + 0.9421200156211853, + 0.33527591824531555, + 1.165481862130946e-07 + ], + "scale":[ + 0.13816869258880615, + 0.13816867768764496, + 0.13816867768764496 + ], + "translation":[ + -0.08207794278860092, + 0.08729400485754013, + -0.02742842584848404 + ] + }, + { + "name":"WGT-Armature_handindex.ik.L", + "rotation":[ + 0.707075834274292, + 0, + -0.7071377038955688, + 1.369082980318126e-07 + ], + "scale":[ + 0.03700000047683716, + 0.03700000047683716, + 0.03700000047683716 + ], + "translation":[ + 0.8044246435165405, + 1.4700753688812256, + -0.03288594260811806 + ] + }, + { + "name":"WGT-Armature_handindex.ik.R", + "rotation":[ + 0.707075834274292, + 0, + 0.7071377038955688, + 1.3799638054479146e-07 + ], + "scale":[ + 0.03699999675154686, + 0.03699999675154686, + 0.03699999675154686 + ], + "translation":[ + -0.8044247031211853, + 1.4700753688812256, + -0.032885950058698654 + ] + }, + { + "name":"WGT-Armature_handmiddle1.R.001", + "rotation":[ + 0.7070847153663635, + 0, + 0.7071289420127869, + 5.3697153390430685e-08 + ], + "scale":[ + 0.03700000047683716, + 0.03700000047683716, + 0.03700000047683716 + ], + "translation":[ + -0.8086656332015991, + 1.4700753688812256, + -0.05548422038555145 + ] + }, + { + "name":"WGT-Armature_handmiddle.ik.L", + "rotation":[ + 0.7070847153663635, + 0, + -0.7071289420127869, + 5.2611017764547796e-08 + ], + "scale":[ + 0.03700000420212746, + 0.03700000420212746, + 0.03700000420212746 + ], + "translation":[ + 0.8086655735969543, + 1.4700753688812256, + -0.055484212934970856 + ] + }, + { + "name":"WGT-Armature_handpinky1.R.001", + "rotation":[ + 0.7085514068603516, + 0, + 0.7056592106819153, + 9.242550902399671e-08 + ], + "scale":[ + 0.03599989414215088, + 0.03599989414215088, + 0.03599989414215088 + ], + "translation":[ + -0.7941094636917114, + 1.4700753688812256, + -0.09354723989963531 + ] + }, + { + "name":"WGT-Armature_handpinky.ik.L", + "rotation":[ + 0.7085514068603516, + 0, + -0.7056592106819153, + 9.135793277437187e-08 + ], + "scale":[ + 0.035999901592731476, + 0.035999901592731476, + 0.035999901592731476 + ], + "translation":[ + 0.7941094040870667, + 1.4700753688812256, + -0.09354722499847412 + ] + }, + { + "name":"WGT-Armature_handring1.R.001", + "rotation":[ + 0.7071115374565125, + 0, + 0.7071021199226379, + 9.250321397757943e-08 + ], + "scale":[ + 0.03150010108947754, + 0.03150010108947754, + 0.03150010108947754 + ], + "translation":[ + -0.8043769598007202, + 1.4700753688812256, + -0.07413540780544281 + ] + }, + { + "name":"WGT-Armature_handring.ik.L", + "rotation":[ + 0.7071115374565125, + 0, + -0.7071021199226379, + 7.16748305151782e-09 + ], + "scale":[ + 0.03150010108947754, + 0.03150010108947754, + 0.03150010108947754 + ], + "translation":[ + 0.8043769001960754, + 1.4700753688812256, + -0.07413539290428162 + ] + }, + { + "name":"WGT-Armature_head.ik.001", + "rotation":[ + 0.6627617478370667, + 0, + 0, + 0.7488303780555725 + ], + "scale":[ + 0.23279033601284027, + 0.23279033601284027, + 0.23279033601284027 + ], + "translation":[ + 0, + 1.599294662475586, + -0.015195577405393124 + ] + }, + { + "name":"WGT-Armature_hips.001", + "rotation":[ + 0.7116587162017822, + 0, + 0, + 0.7025253772735596 + ], + "scale":[ + 0.10559235513210297, + 0.10559234768152237, + 0.10559234768152237 + ], + "translation":[ + 0, + 1.0427486896514893, + 0.015543079003691673 + ] + }, + { + "name":"WGT-Armature_root", + "rotation":[ + 0.7071068286895752, + 0, + 0, + 0.7071068286895752 + ], + "scale":[ + 0.30000001192092896, + 0.30000001192092896, + 0.30000001192092896 + ] + }, + { + "name":"WGT-Armature_spine.ik", + "rotation":[ + 0.6627617478370667, + 0, + 0, + 0.7488303780555725 + ], + "scale":[ + 0.13701453804969788, + 0.13701453804969788, + 0.13701453804969788 + ], + "translation":[ + 0, + 1.3357118368148804, + -0.011555260978639126 + ] + }, + { + "name":"WGT-Armature_toe.ik.L", + "rotation":[ + -0.01186931598931551, + -0.9999295473098755, + 0, + 9.097316819861589e-07 + ], + "scale":[ + 0.09278136491775513, + 0.09278136491775513, + 0.09278136491775513 + ], + "translation":[ + 0.082077756524086, + 0, + 0.17246022820472717 + ] + }, + { + "name":"WGT-Armature_toe.ik.R", + "rotation":[ + -0.011607975699007511, + 0.9999326467514038, + 0, + 7.906297696536058e-07 + ], + "scale":[ + 0.09278120845556259, + 0.09278120845556259, + 0.09278121590614319 + ], + "translation":[ + -0.0820779874920845, + 0, + 0.17245841026306152 + ] + }, + { + "name":"WGT-Armature_upleg.L.001", + "rotation":[ + 0, + -1, + 0, + 4.371138828673793e-08 + ], + "scale":[ + 0.094741091132164, + 0.094741091132164, + 0.094741091132164 + ], + "translation":[ + 0.08207781612873077, + 0.5315314531326294, + 0.24768204987049103 + ] + }, + { + "name":"WGT-Armature_upleg.R.001", + "rotation":[ + 0, + -1, + 0, + 4.371138828673793e-08 + ], + "scale":[ + 0.094741091132164, + 0.094741091132164, + 0.094741091132164 + ], + "translation":[ + -0.08207781612873077, + 0.5315314531326294, + 0.24768204987049103 + ] + }, + { + "name":"WGT-Armature_wrist.ik.L", + "rotation":[ + -0.7071071863174438, + 0, + 0.7071064710617065, + 4.374621767055942e-07 + ], + "scale":[ + 0.08227872848510742, + 0.08227872848510742, + 0.08227872848510742 + ], + "translation":[ + 0.7133315801620483, + 1.4406124353408813, + -0.05548465624451637 + ] + }, + { + "name":"WGT-Armature_wrist.ik.R", + "rotation":[ + -0.70710688829422, + 0, + -0.7071066498756409, + 2.247644914632474e-08 + ], + "scale":[ + 0.08226776123046875, + 0.08226776123046875, + 0.08226776123046875 + ], + "translation":[ + -0.7133318781852722, + 1.4406129121780396, + -0.055484991520643234 + ] + }, + { + "name":"WGT-Mixamo_shoulder.L.001", + "rotation":[ + -0.6299028396606445, + 0.015588964335620403, + 0.7762799263000488, + 0.019211439415812492 + ], + "scale":[ + 0.10837706923484802, + 0.10837706178426743, + 0.10837706923484802 + ], + "translation":[ + 0.04570433869957924, + 1.4458590745925903, + 0.07444843649864197 + ] + }, + { + "name":"WGT-Mixamo_shoulder.R.001", + "rotation":[ + -0.6299028396606445, + -0.015588964335620403, + -0.7762799263000488, + 0.019211439415812492 + ], + "scale":[ + 0.10837706923484802, + 0.10837706178426743, + 0.10837706923484802 + ], + "translation":[ + -0.04570433869957924, + 1.4458590745925903, + 0.07444843649864197 + ] + } + ], + "animations":[ + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"FastRun_Loop", + "samplers":[ + { + "input":15, + "interpolation":"LINEAR", + "output":16 + }, + { + "input":17, + "interpolation":"STEP", + "output":18 + }, + { + "input":17, + "interpolation":"STEP", + "output":19 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":20 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":21 + }, + { + "input":17, + "interpolation":"STEP", + "output":22 + }, + { + "input":17, + "interpolation":"STEP", + "output":23 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":24 + }, + { + "input":17, + "interpolation":"STEP", + "output":25 + }, + { + "input":17, + "interpolation":"STEP", + "output":26 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":27 + }, + { + "input":17, + "interpolation":"STEP", + "output":28 + }, + { + "input":17, + "interpolation":"STEP", + "output":29 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":30 + }, + { + "input":17, + "interpolation":"STEP", + "output":31 + }, + { + "input":17, + "interpolation":"STEP", + "output":32 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":33 + }, + { + "input":17, + "interpolation":"STEP", + "output":34 + }, + { + "input":17, + "interpolation":"STEP", + "output":35 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":36 + }, + { + "input":17, + "interpolation":"STEP", + "output":37 + }, + { + "input":17, + "interpolation":"STEP", + "output":38 + }, + { + "input":17, + "interpolation":"STEP", + "output":39 + }, + { + "input":17, + "interpolation":"STEP", + "output":40 + }, + { + "input":17, + "interpolation":"STEP", + "output":41 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":42 + }, + { + "input":17, + "interpolation":"STEP", + "output":43 + }, + { + "input":17, + "interpolation":"STEP", + "output":44 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":45 + }, + { + "input":17, + "interpolation":"STEP", + "output":46 + }, + { + "input":17, + "interpolation":"STEP", + "output":47 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":48 + }, + { + "input":17, + "interpolation":"STEP", + "output":49 + }, + { + "input":17, + "interpolation":"STEP", + "output":50 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":51 + }, + { + "input":17, + "interpolation":"STEP", + "output":52 + }, + { + "input":17, + "interpolation":"STEP", + "output":53 + }, + { + "input":17, + "interpolation":"STEP", + "output":54 + }, + { + "input":17, + "interpolation":"STEP", + "output":55 + }, + { + "input":17, + "interpolation":"STEP", + "output":56 + }, + { + "input":17, + "interpolation":"STEP", + "output":57 + }, + { + "input":17, + "interpolation":"STEP", + "output":58 + }, + { + "input":17, + "interpolation":"STEP", + "output":59 + }, + { + "input":17, + "interpolation":"STEP", + "output":60 + }, + { + "input":17, + "interpolation":"STEP", + "output":61 + }, + { + "input":17, + "interpolation":"STEP", + "output":62 + }, + { + "input":17, + "interpolation":"STEP", + "output":63 + }, + { + "input":17, + "interpolation":"STEP", + "output":64 + }, + { + "input":17, + "interpolation":"STEP", + "output":65 + }, + { + "input":17, + "interpolation":"STEP", + "output":66 + }, + { + "input":17, + "interpolation":"STEP", + "output":67 + }, + { + "input":17, + "interpolation":"STEP", + "output":68 + }, + { + "input":17, + "interpolation":"STEP", + "output":69 + }, + { + "input":17, + "interpolation":"STEP", + "output":70 + }, + { + "input":17, + "interpolation":"STEP", + "output":71 + }, + { + "input":17, + "interpolation":"STEP", + "output":72 + }, + { + "input":17, + "interpolation":"STEP", + "output":73 + }, + { + "input":17, + "interpolation":"STEP", + "output":74 + }, + { + "input":17, + "interpolation":"STEP", + "output":75 + }, + { + "input":17, + "interpolation":"STEP", + "output":76 + }, + { + "input":17, + "interpolation":"STEP", + "output":77 + }, + { + "input":17, + "interpolation":"STEP", + "output":78 + }, + { + "input":17, + "interpolation":"STEP", + "output":79 + }, + { + "input":17, + "interpolation":"STEP", + "output":80 + }, + { + "input":17, + "interpolation":"STEP", + "output":81 + }, + { + "input":17, + "interpolation":"STEP", + "output":82 + }, + { + "input":17, + "interpolation":"STEP", + "output":83 + }, + { + "input":17, + "interpolation":"STEP", + "output":84 + }, + { + "input":17, + "interpolation":"STEP", + "output":85 + }, + { + "input":17, + "interpolation":"STEP", + "output":86 + }, + { + "input":17, + "interpolation":"STEP", + "output":87 + }, + { + "input":17, + "interpolation":"STEP", + "output":88 + }, + { + "input":17, + "interpolation":"STEP", + "output":89 + }, + { + "input":17, + "interpolation":"STEP", + "output":90 + }, + { + "input":17, + "interpolation":"STEP", + "output":91 + }, + { + "input":17, + "interpolation":"STEP", + "output":92 + }, + { + "input":17, + "interpolation":"STEP", + "output":93 + }, + { + "input":17, + "interpolation":"STEP", + "output":94 + }, + { + "input":17, + "interpolation":"STEP", + "output":95 + }, + { + "input":17, + "interpolation":"STEP", + "output":96 + }, + { + "input":17, + "interpolation":"STEP", + "output":97 + }, + { + "input":17, + "interpolation":"STEP", + "output":98 + }, + { + "input":17, + "interpolation":"STEP", + "output":99 + }, + { + "input":17, + "interpolation":"STEP", + "output":100 + }, + { + "input":17, + "interpolation":"STEP", + "output":101 + }, + { + "input":17, + "interpolation":"STEP", + "output":102 + }, + { + "input":17, + "interpolation":"STEP", + "output":103 + }, + { + "input":17, + "interpolation":"STEP", + "output":104 + }, + { + "input":17, + "interpolation":"STEP", + "output":105 + }, + { + "input":17, + "interpolation":"STEP", + "output":106 + }, + { + "input":17, + "interpolation":"STEP", + "output":107 + }, + { + "input":17, + "interpolation":"STEP", + "output":108 + }, + { + "input":17, + "interpolation":"STEP", + "output":109 + }, + { + "input":17, + "interpolation":"STEP", + "output":110 + }, + { + "input":17, + "interpolation":"STEP", + "output":111 + }, + { + "input":17, + "interpolation":"STEP", + "output":112 + }, + { + "input":17, + "interpolation":"STEP", + "output":113 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":114 + }, + { + "input":17, + "interpolation":"STEP", + "output":115 + }, + { + "input":17, + "interpolation":"STEP", + "output":116 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":117 + }, + { + "input":17, + "interpolation":"STEP", + "output":118 + }, + { + "input":17, + "interpolation":"STEP", + "output":119 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":120 + }, + { + "input":17, + "interpolation":"STEP", + "output":121 + }, + { + "input":17, + "interpolation":"STEP", + "output":122 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":123 + }, + { + "input":17, + "interpolation":"STEP", + "output":124 + }, + { + "input":17, + "interpolation":"STEP", + "output":125 + }, + { + "input":17, + "interpolation":"STEP", + "output":126 + }, + { + "input":17, + "interpolation":"STEP", + "output":127 + }, + { + "input":17, + "interpolation":"STEP", + "output":128 + }, + { + "input":17, + "interpolation":"STEP", + "output":129 + }, + { + "input":17, + "interpolation":"STEP", + "output":130 + }, + { + "input":17, + "interpolation":"STEP", + "output":131 + }, + { + "input":17, + "interpolation":"STEP", + "output":132 + }, + { + "input":17, + "interpolation":"STEP", + "output":133 + }, + { + "input":17, + "interpolation":"STEP", + "output":134 + }, + { + "input":17, + "interpolation":"STEP", + "output":135 + }, + { + "input":17, + "interpolation":"STEP", + "output":136 + }, + { + "input":17, + "interpolation":"STEP", + "output":137 + }, + { + "input":17, + "interpolation":"STEP", + "output":138 + }, + { + "input":17, + "interpolation":"STEP", + "output":139 + }, + { + "input":17, + "interpolation":"STEP", + "output":140 + }, + { + "input":17, + "interpolation":"STEP", + "output":141 + }, + { + "input":17, + "interpolation":"STEP", + "output":142 + }, + { + "input":17, + "interpolation":"STEP", + "output":143 + }, + { + "input":17, + "interpolation":"STEP", + "output":144 + }, + { + "input":17, + "interpolation":"STEP", + "output":145 + }, + { + "input":17, + "interpolation":"STEP", + "output":146 + }, + { + "input":17, + "interpolation":"STEP", + "output":147 + }, + { + "input":17, + "interpolation":"STEP", + "output":148 + }, + { + "input":17, + "interpolation":"STEP", + "output":149 + }, + { + "input":17, + "interpolation":"STEP", + "output":150 + }, + { + "input":17, + "interpolation":"STEP", + "output":151 + }, + { + "input":17, + "interpolation":"STEP", + "output":152 + }, + { + "input":17, + "interpolation":"STEP", + "output":153 + }, + { + "input":17, + "interpolation":"STEP", + "output":154 + }, + { + "input":17, + "interpolation":"STEP", + "output":155 + }, + { + "input":17, + "interpolation":"STEP", + "output":156 + }, + { + "input":17, + "interpolation":"STEP", + "output":157 + }, + { + "input":17, + "interpolation":"STEP", + "output":158 + }, + { + "input":17, + "interpolation":"STEP", + "output":159 + }, + { + "input":17, + "interpolation":"STEP", + "output":19 + }, + { + "input":17, + "interpolation":"STEP", + "output":160 + }, + { + "input":17, + "interpolation":"STEP", + "output":161 + }, + { + "input":17, + "interpolation":"STEP", + "output":162 + }, + { + "input":17, + "interpolation":"STEP", + "output":163 + }, + { + "input":17, + "interpolation":"STEP", + "output":164 + }, + { + "input":17, + "interpolation":"STEP", + "output":165 + }, + { + "input":17, + "interpolation":"STEP", + "output":166 + }, + { + "input":17, + "interpolation":"STEP", + "output":167 + }, + { + "input":17, + "interpolation":"STEP", + "output":168 + }, + { + "input":17, + "interpolation":"STEP", + "output":169 + }, + { + "input":17, + "interpolation":"STEP", + "output":170 + }, + { + "input":17, + "interpolation":"STEP", + "output":171 + }, + { + "input":17, + "interpolation":"STEP", + "output":172 + }, + { + "input":17, + "interpolation":"STEP", + "output":173 + }, + { + "input":17, + "interpolation":"STEP", + "output":174 + }, + { + "input":17, + "interpolation":"STEP", + "output":175 + }, + { + "input":17, + "interpolation":"STEP", + "output":176 + }, + { + "input":17, + "interpolation":"STEP", + "output":177 + }, + { + "input":17, + "interpolation":"STEP", + "output":178 + }, + { + "input":17, + "interpolation":"STEP", + "output":179 + }, + { + "input":17, + "interpolation":"STEP", + "output":180 + }, + { + "input":17, + "interpolation":"STEP", + "output":181 + }, + { + "input":17, + "interpolation":"STEP", + "output":182 + }, + { + "input":17, + "interpolation":"STEP", + "output":183 + }, + { + "input":17, + "interpolation":"STEP", + "output":184 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":185 + }, + { + "input":17, + "interpolation":"STEP", + "output":186 + }, + { + "input":17, + "interpolation":"STEP", + "output":187 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":188 + }, + { + "input":17, + "interpolation":"STEP", + "output":189 + }, + { + "input":17, + "interpolation":"STEP", + "output":190 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":191 + }, + { + "input":17, + "interpolation":"STEP", + "output":192 + }, + { + "input":17, + "interpolation":"STEP", + "output":193 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":194 + }, + { + "input":17, + "interpolation":"STEP", + "output":195 + }, + { + "input":17, + "interpolation":"STEP", + "output":196 + }, + { + "input":17, + "interpolation":"STEP", + "output":197 + }, + { + "input":17, + "interpolation":"STEP", + "output":198 + }, + { + "input":17, + "interpolation":"STEP", + "output":199 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":200 + }, + { + "input":17, + "interpolation":"STEP", + "output":201 + }, + { + "input":17, + "interpolation":"STEP", + "output":202 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":203 + }, + { + "input":17, + "interpolation":"STEP", + "output":204 + }, + { + "input":17, + "interpolation":"STEP", + "output":205 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":206 + }, + { + "input":17, + "interpolation":"STEP", + "output":207 + }, + { + "input":17, + "interpolation":"STEP", + "output":208 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":209 + }, + { + "input":17, + "interpolation":"STEP", + "output":210 + }, + { + "input":17, + "interpolation":"STEP", + "output":211 + }, + { + "input":17, + "interpolation":"STEP", + "output":212 + }, + { + "input":17, + "interpolation":"STEP", + "output":213 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"JogForward_Loop", + "samplers":[ + { + "input":214, + "interpolation":"LINEAR", + "output":215 + }, + { + "input":216, + "interpolation":"STEP", + "output":18 + }, + { + "input":216, + "interpolation":"STEP", + "output":19 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":217 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":218 + }, + { + "input":216, + "interpolation":"STEP", + "output":219 + }, + { + "input":216, + "interpolation":"STEP", + "output":220 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":221 + }, + { + "input":216, + "interpolation":"STEP", + "output":222 + }, + { + "input":216, + "interpolation":"STEP", + "output":223 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":224 + }, + { + "input":216, + "interpolation":"STEP", + "output":225 + }, + { + "input":216, + "interpolation":"STEP", + "output":226 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":227 + }, + { + "input":216, + "interpolation":"STEP", + "output":228 + }, + { + "input":216, + "interpolation":"STEP", + "output":229 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":230 + }, + { + "input":216, + "interpolation":"STEP", + "output":231 + }, + { + "input":216, + "interpolation":"STEP", + "output":232 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":233 + }, + { + "input":216, + "interpolation":"STEP", + "output":189 + }, + { + "input":216, + "interpolation":"STEP", + "output":234 + }, + { + "input":216, + "interpolation":"STEP", + "output":235 + }, + { + "input":216, + "interpolation":"STEP", + "output":236 + }, + { + "input":216, + "interpolation":"STEP", + "output":237 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":238 + }, + { + "input":216, + "interpolation":"STEP", + "output":239 + }, + { + "input":216, + "interpolation":"STEP", + "output":240 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":241 + }, + { + "input":216, + "interpolation":"STEP", + "output":242 + }, + { + "input":216, + "interpolation":"STEP", + "output":243 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":244 + }, + { + "input":216, + "interpolation":"STEP", + "output":245 + }, + { + "input":216, + "interpolation":"STEP", + "output":246 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":247 + }, + { + "input":216, + "interpolation":"STEP", + "output":248 + }, + { + "input":216, + "interpolation":"STEP", + "output":249 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":250 + }, + { + "input":216, + "interpolation":"STEP", + "output":100 + }, + { + "input":216, + "interpolation":"STEP", + "output":251 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":252 + }, + { + "input":216, + "interpolation":"STEP", + "output":253 + }, + { + "input":216, + "interpolation":"STEP", + "output":254 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":255 + }, + { + "input":216, + "interpolation":"STEP", + "output":256 + }, + { + "input":216, + "interpolation":"STEP", + "output":257 + }, + { + "input":216, + "interpolation":"STEP", + "output":258 + }, + { + "input":216, + "interpolation":"STEP", + "output":259 + }, + { + "input":216, + "interpolation":"STEP", + "output":260 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":261 + }, + { + "input":216, + "interpolation":"STEP", + "output":262 + }, + { + "input":216, + "interpolation":"STEP", + "output":263 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":264 + }, + { + "input":216, + "interpolation":"STEP", + "output":265 + }, + { + "input":216, + "interpolation":"STEP", + "output":266 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":267 + }, + { + "input":216, + "interpolation":"STEP", + "output":268 + }, + { + "input":216, + "interpolation":"STEP", + "output":269 + }, + { + "input":216, + "interpolation":"STEP", + "output":270 + }, + { + "input":216, + "interpolation":"STEP", + "output":271 + }, + { + "input":216, + "interpolation":"STEP", + "output":272 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":273 + }, + { + "input":216, + "interpolation":"STEP", + "output":274 + }, + { + "input":216, + "interpolation":"STEP", + "output":275 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":276 + }, + { + "input":216, + "interpolation":"STEP", + "output":277 + }, + { + "input":216, + "interpolation":"STEP", + "output":278 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":279 + }, + { + "input":216, + "interpolation":"STEP", + "output":280 + }, + { + "input":216, + "interpolation":"STEP", + "output":281 + }, + { + "input":216, + "interpolation":"STEP", + "output":282 + }, + { + "input":216, + "interpolation":"STEP", + "output":283 + }, + { + "input":216, + "interpolation":"STEP", + "output":284 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":285 + }, + { + "input":216, + "interpolation":"STEP", + "output":286 + }, + { + "input":216, + "interpolation":"STEP", + "output":287 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":288 + }, + { + "input":216, + "interpolation":"STEP", + "output":289 + }, + { + "input":216, + "interpolation":"STEP", + "output":290 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":291 + }, + { + "input":216, + "interpolation":"STEP", + "output":292 + }, + { + "input":216, + "interpolation":"STEP", + "output":293 + }, + { + "input":216, + "interpolation":"STEP", + "output":294 + }, + { + "input":216, + "interpolation":"STEP", + "output":295 + }, + { + "input":216, + "interpolation":"STEP", + "output":296 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":297 + }, + { + "input":216, + "interpolation":"STEP", + "output":298 + }, + { + "input":216, + "interpolation":"STEP", + "output":299 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":300 + }, + { + "input":216, + "interpolation":"STEP", + "output":301 + }, + { + "input":216, + "interpolation":"STEP", + "output":302 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":303 + }, + { + "input":216, + "interpolation":"STEP", + "output":304 + }, + { + "input":216, + "interpolation":"STEP", + "output":305 + }, + { + "input":216, + "interpolation":"STEP", + "output":306 + }, + { + "input":216, + "interpolation":"STEP", + "output":307 + }, + { + "input":216, + "interpolation":"STEP", + "output":308 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":309 + }, + { + "input":216, + "interpolation":"STEP", + "output":310 + }, + { + "input":216, + "interpolation":"STEP", + "output":311 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":312 + }, + { + "input":216, + "interpolation":"STEP", + "output":313 + }, + { + "input":216, + "interpolation":"STEP", + "output":314 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":315 + }, + { + "input":216, + "interpolation":"STEP", + "output":316 + }, + { + "input":216, + "interpolation":"STEP", + "output":317 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":318 + }, + { + "input":216, + "interpolation":"STEP", + "output":319 + }, + { + "input":216, + "interpolation":"STEP", + "output":320 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":321 + }, + { + "input":216, + "interpolation":"STEP", + "output":322 + }, + { + "input":216, + "interpolation":"STEP", + "output":323 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":324 + }, + { + "input":216, + "interpolation":"STEP", + "output":325 + }, + { + "input":216, + "interpolation":"STEP", + "output":326 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":327 + }, + { + "input":216, + "interpolation":"STEP", + "output":328 + }, + { + "input":216, + "interpolation":"STEP", + "output":329 + }, + { + "input":216, + "interpolation":"STEP", + "output":330 + }, + { + "input":216, + "interpolation":"STEP", + "output":331 + }, + { + "input":216, + "interpolation":"STEP", + "output":332 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":333 + }, + { + "input":216, + "interpolation":"STEP", + "output":40 + }, + { + "input":216, + "interpolation":"STEP", + "output":334 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":335 + }, + { + "input":216, + "interpolation":"STEP", + "output":336 + }, + { + "input":216, + "interpolation":"STEP", + "output":337 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":338 + }, + { + "input":216, + "interpolation":"STEP", + "output":339 + }, + { + "input":216, + "interpolation":"STEP", + "output":340 + }, + { + "input":216, + "interpolation":"STEP", + "output":341 + }, + { + "input":216, + "interpolation":"STEP", + "output":271 + }, + { + "input":216, + "interpolation":"STEP", + "output":342 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":343 + }, + { + "input":216, + "interpolation":"STEP", + "output":344 + }, + { + "input":216, + "interpolation":"STEP", + "output":345 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":346 + }, + { + "input":216, + "interpolation":"STEP", + "output":347 + }, + { + "input":216, + "interpolation":"STEP", + "output":348 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":349 + }, + { + "input":216, + "interpolation":"STEP", + "output":350 + }, + { + "input":216, + "interpolation":"STEP", + "output":351 + }, + { + "input":216, + "interpolation":"STEP", + "output":352 + }, + { + "input":216, + "interpolation":"STEP", + "output":353 + }, + { + "input":216, + "interpolation":"STEP", + "output":354 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":355 + }, + { + "input":216, + "interpolation":"STEP", + "output":356 + }, + { + "input":216, + "interpolation":"STEP", + "output":357 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":358 + }, + { + "input":216, + "interpolation":"STEP", + "output":359 + }, + { + "input":216, + "interpolation":"STEP", + "output":360 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":361 + }, + { + "input":216, + "interpolation":"STEP", + "output":362 + }, + { + "input":216, + "interpolation":"STEP", + "output":363 + }, + { + "input":216, + "interpolation":"STEP", + "output":364 + }, + { + "input":216, + "interpolation":"STEP", + "output":365 + }, + { + "input":216, + "interpolation":"STEP", + "output":366 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":367 + }, + { + "input":216, + "interpolation":"STEP", + "output":368 + }, + { + "input":216, + "interpolation":"STEP", + "output":369 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":370 + }, + { + "input":216, + "interpolation":"STEP", + "output":371 + }, + { + "input":216, + "interpolation":"STEP", + "output":372 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":373 + }, + { + "input":216, + "interpolation":"STEP", + "output":374 + }, + { + "input":216, + "interpolation":"STEP", + "output":375 + }, + { + "input":216, + "interpolation":"STEP", + "output":376 + }, + { + "input":216, + "interpolation":"STEP", + "output":377 + }, + { + "input":216, + "interpolation":"STEP", + "output":378 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":379 + }, + { + "input":216, + "interpolation":"STEP", + "output":380 + }, + { + "input":216, + "interpolation":"STEP", + "output":381 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":382 + }, + { + "input":216, + "interpolation":"STEP", + "output":383 + }, + { + "input":216, + "interpolation":"STEP", + "output":384 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":385 + }, + { + "input":216, + "interpolation":"STEP", + "output":386 + }, + { + "input":216, + "interpolation":"STEP", + "output":387 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":388 + }, + { + "input":216, + "interpolation":"STEP", + "output":389 + }, + { + "input":216, + "interpolation":"STEP", + "output":390 + }, + { + "input":216, + "interpolation":"STEP", + "output":391 + }, + { + "input":216, + "interpolation":"STEP", + "output":85 + }, + { + "input":216, + "interpolation":"STEP", + "output":392 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":393 + }, + { + "input":216, + "interpolation":"STEP", + "output":394 + }, + { + "input":216, + "interpolation":"STEP", + "output":395 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":396 + }, + { + "input":216, + "interpolation":"STEP", + "output":271 + }, + { + "input":216, + "interpolation":"STEP", + "output":397 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":398 + }, + { + "input":216, + "interpolation":"STEP", + "output":399 + }, + { + "input":216, + "interpolation":"STEP", + "output":400 + }, + { + "input":214, + "interpolation":"LINEAR", + "output":401 + }, + { + "input":216, + "interpolation":"STEP", + "output":402 + }, + { + "input":216, + "interpolation":"STEP", + "output":403 + }, + { + "input":216, + "interpolation":"STEP", + "output":404 + }, + { + "input":216, + "interpolation":"STEP", + "output":405 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"RunForward_Loop", + "samplers":[ + { + "input":406, + "interpolation":"LINEAR", + "output":407 + }, + { + "input":408, + "interpolation":"STEP", + "output":18 + }, + { + "input":408, + "interpolation":"STEP", + "output":19 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":409 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":410 + }, + { + "input":408, + "interpolation":"STEP", + "output":411 + }, + { + "input":408, + "interpolation":"STEP", + "output":412 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":413 + }, + { + "input":408, + "interpolation":"STEP", + "output":414 + }, + { + "input":408, + "interpolation":"STEP", + "output":415 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":416 + }, + { + "input":408, + "interpolation":"STEP", + "output":19 + }, + { + "input":408, + "interpolation":"STEP", + "output":417 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":418 + }, + { + "input":408, + "interpolation":"STEP", + "output":419 + }, + { + "input":408, + "interpolation":"STEP", + "output":420 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":421 + }, + { + "input":408, + "interpolation":"STEP", + "output":422 + }, + { + "input":408, + "interpolation":"STEP", + "output":423 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":424 + }, + { + "input":408, + "interpolation":"STEP", + "output":19 + }, + { + "input":408, + "interpolation":"STEP", + "output":425 + }, + { + "input":408, + "interpolation":"STEP", + "output":426 + }, + { + "input":408, + "interpolation":"STEP", + "output":40 + }, + { + "input":408, + "interpolation":"STEP", + "output":427 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":428 + }, + { + "input":408, + "interpolation":"STEP", + "output":429 + }, + { + "input":408, + "interpolation":"STEP", + "output":430 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":431 + }, + { + "input":408, + "interpolation":"STEP", + "output":432 + }, + { + "input":408, + "interpolation":"STEP", + "output":433 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":434 + }, + { + "input":408, + "interpolation":"STEP", + "output":435 + }, + { + "input":408, + "interpolation":"STEP", + "output":436 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":437 + }, + { + "input":408, + "interpolation":"STEP", + "output":438 + }, + { + "input":408, + "interpolation":"STEP", + "output":439 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":440 + }, + { + "input":408, + "interpolation":"STEP", + "output":441 + }, + { + "input":408, + "interpolation":"STEP", + "output":442 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":443 + }, + { + "input":408, + "interpolation":"STEP", + "output":444 + }, + { + "input":408, + "interpolation":"STEP", + "output":445 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":446 + }, + { + "input":408, + "interpolation":"STEP", + "output":447 + }, + { + "input":408, + "interpolation":"STEP", + "output":448 + }, + { + "input":408, + "interpolation":"STEP", + "output":449 + }, + { + "input":408, + "interpolation":"STEP", + "output":450 + }, + { + "input":408, + "interpolation":"STEP", + "output":451 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":452 + }, + { + "input":408, + "interpolation":"STEP", + "output":453 + }, + { + "input":408, + "interpolation":"STEP", + "output":454 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":455 + }, + { + "input":408, + "interpolation":"STEP", + "output":456 + }, + { + "input":408, + "interpolation":"STEP", + "output":457 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":458 + }, + { + "input":408, + "interpolation":"STEP", + "output":459 + }, + { + "input":408, + "interpolation":"STEP", + "output":460 + }, + { + "input":408, + "interpolation":"STEP", + "output":461 + }, + { + "input":408, + "interpolation":"STEP", + "output":462 + }, + { + "input":408, + "interpolation":"STEP", + "output":463 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":464 + }, + { + "input":408, + "interpolation":"STEP", + "output":465 + }, + { + "input":408, + "interpolation":"STEP", + "output":466 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":467 + }, + { + "input":408, + "interpolation":"STEP", + "output":468 + }, + { + "input":408, + "interpolation":"STEP", + "output":469 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":470 + }, + { + "input":408, + "interpolation":"STEP", + "output":471 + }, + { + "input":408, + "interpolation":"STEP", + "output":472 + }, + { + "input":408, + "interpolation":"STEP", + "output":473 + }, + { + "input":408, + "interpolation":"STEP", + "output":474 + }, + { + "input":408, + "interpolation":"STEP", + "output":475 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":476 + }, + { + "input":408, + "interpolation":"STEP", + "output":477 + }, + { + "input":408, + "interpolation":"STEP", + "output":478 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":479 + }, + { + "input":408, + "interpolation":"STEP", + "output":480 + }, + { + "input":408, + "interpolation":"STEP", + "output":481 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":482 + }, + { + "input":408, + "interpolation":"STEP", + "output":483 + }, + { + "input":408, + "interpolation":"STEP", + "output":484 + }, + { + "input":408, + "interpolation":"STEP", + "output":485 + }, + { + "input":408, + "interpolation":"STEP", + "output":486 + }, + { + "input":408, + "interpolation":"STEP", + "output":487 + }, + { + "input":408, + "interpolation":"STEP", + "output":488 + }, + { + "input":408, + "interpolation":"STEP", + "output":489 + }, + { + "input":408, + "interpolation":"STEP", + "output":490 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":491 + }, + { + "input":408, + "interpolation":"STEP", + "output":492 + }, + { + "input":408, + "interpolation":"STEP", + "output":493 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":494 + }, + { + "input":408, + "interpolation":"STEP", + "output":495 + }, + { + "input":408, + "interpolation":"STEP", + "output":496 + }, + { + "input":408, + "interpolation":"STEP", + "output":497 + }, + { + "input":408, + "interpolation":"STEP", + "output":498 + }, + { + "input":408, + "interpolation":"STEP", + "output":499 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":500 + }, + { + "input":408, + "interpolation":"STEP", + "output":225 + }, + { + "input":408, + "interpolation":"STEP", + "output":501 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":502 + }, + { + "input":408, + "interpolation":"STEP", + "output":503 + }, + { + "input":408, + "interpolation":"STEP", + "output":504 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":505 + }, + { + "input":408, + "interpolation":"STEP", + "output":506 + }, + { + "input":408, + "interpolation":"STEP", + "output":507 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":508 + }, + { + "input":408, + "interpolation":"STEP", + "output":509 + }, + { + "input":408, + "interpolation":"STEP", + "output":510 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":511 + }, + { + "input":408, + "interpolation":"STEP", + "output":512 + }, + { + "input":408, + "interpolation":"STEP", + "output":513 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":514 + }, + { + "input":408, + "interpolation":"STEP", + "output":515 + }, + { + "input":408, + "interpolation":"STEP", + "output":516 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":517 + }, + { + "input":408, + "interpolation":"STEP", + "output":518 + }, + { + "input":408, + "interpolation":"STEP", + "output":519 + }, + { + "input":408, + "interpolation":"STEP", + "output":520 + }, + { + "input":408, + "interpolation":"STEP", + "output":521 + }, + { + "input":408, + "interpolation":"STEP", + "output":522 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":523 + }, + { + "input":408, + "interpolation":"STEP", + "output":22 + }, + { + "input":408, + "interpolation":"STEP", + "output":524 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":525 + }, + { + "input":408, + "interpolation":"STEP", + "output":526 + }, + { + "input":408, + "interpolation":"STEP", + "output":527 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":528 + }, + { + "input":408, + "interpolation":"STEP", + "output":529 + }, + { + "input":408, + "interpolation":"STEP", + "output":530 + }, + { + "input":408, + "interpolation":"STEP", + "output":531 + }, + { + "input":408, + "interpolation":"STEP", + "output":85 + }, + { + "input":408, + "interpolation":"STEP", + "output":532 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":533 + }, + { + "input":408, + "interpolation":"STEP", + "output":534 + }, + { + "input":408, + "interpolation":"STEP", + "output":535 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":536 + }, + { + "input":408, + "interpolation":"STEP", + "output":537 + }, + { + "input":408, + "interpolation":"STEP", + "output":538 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":539 + }, + { + "input":408, + "interpolation":"STEP", + "output":540 + }, + { + "input":408, + "interpolation":"STEP", + "output":541 + }, + { + "input":408, + "interpolation":"STEP", + "output":542 + }, + { + "input":408, + "interpolation":"STEP", + "output":543 + }, + { + "input":408, + "interpolation":"STEP", + "output":544 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":545 + }, + { + "input":408, + "interpolation":"STEP", + "output":546 + }, + { + "input":408, + "interpolation":"STEP", + "output":547 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":548 + }, + { + "input":408, + "interpolation":"STEP", + "output":549 + }, + { + "input":408, + "interpolation":"STEP", + "output":550 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":551 + }, + { + "input":408, + "interpolation":"STEP", + "output":552 + }, + { + "input":408, + "interpolation":"STEP", + "output":553 + }, + { + "input":408, + "interpolation":"STEP", + "output":554 + }, + { + "input":408, + "interpolation":"STEP", + "output":555 + }, + { + "input":408, + "interpolation":"STEP", + "output":556 + }, + { + "input":408, + "interpolation":"STEP", + "output":557 + }, + { + "input":408, + "interpolation":"STEP", + "output":558 + }, + { + "input":408, + "interpolation":"STEP", + "output":559 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":560 + }, + { + "input":408, + "interpolation":"STEP", + "output":561 + }, + { + "input":408, + "interpolation":"STEP", + "output":562 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":563 + }, + { + "input":408, + "interpolation":"STEP", + "output":564 + }, + { + "input":408, + "interpolation":"STEP", + "output":565 + }, + { + "input":408, + "interpolation":"STEP", + "output":566 + }, + { + "input":408, + "interpolation":"STEP", + "output":567 + }, + { + "input":408, + "interpolation":"STEP", + "output":568 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":569 + }, + { + "input":408, + "interpolation":"STEP", + "output":570 + }, + { + "input":408, + "interpolation":"STEP", + "output":571 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":572 + }, + { + "input":408, + "interpolation":"STEP", + "output":573 + }, + { + "input":408, + "interpolation":"STEP", + "output":574 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":575 + }, + { + "input":408, + "interpolation":"STEP", + "output":576 + }, + { + "input":408, + "interpolation":"STEP", + "output":577 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":578 + }, + { + "input":408, + "interpolation":"STEP", + "output":579 + }, + { + "input":408, + "interpolation":"STEP", + "output":580 + }, + { + "input":408, + "interpolation":"STEP", + "output":581 + }, + { + "input":408, + "interpolation":"STEP", + "output":19 + }, + { + "input":408, + "interpolation":"STEP", + "output":582 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":583 + }, + { + "input":408, + "interpolation":"STEP", + "output":584 + }, + { + "input":408, + "interpolation":"STEP", + "output":585 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":586 + }, + { + "input":408, + "interpolation":"STEP", + "output":587 + }, + { + "input":408, + "interpolation":"STEP", + "output":588 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":589 + }, + { + "input":408, + "interpolation":"STEP", + "output":19 + }, + { + "input":408, + "interpolation":"STEP", + "output":590 + }, + { + "input":406, + "interpolation":"LINEAR", + "output":591 + }, + { + "input":408, + "interpolation":"STEP", + "output":592 + }, + { + "input":408, + "interpolation":"STEP", + "output":593 + }, + { + "input":408, + "interpolation":"STEP", + "output":594 + }, + { + "input":408, + "interpolation":"STEP", + "output":94 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"StandIdle_Loop", + "samplers":[ + { + "input":595, + "interpolation":"LINEAR", + "output":596 + }, + { + "input":597, + "interpolation":"STEP", + "output":18 + }, + { + "input":597, + "interpolation":"STEP", + "output":19 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":598 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":599 + }, + { + "input":597, + "interpolation":"STEP", + "output":600 + }, + { + "input":597, + "interpolation":"STEP", + "output":601 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":602 + }, + { + "input":597, + "interpolation":"STEP", + "output":603 + }, + { + "input":597, + "interpolation":"STEP", + "output":604 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":605 + }, + { + "input":597, + "interpolation":"STEP", + "output":606 + }, + { + "input":597, + "interpolation":"STEP", + "output":607 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":608 + }, + { + "input":597, + "interpolation":"STEP", + "output":609 + }, + { + "input":597, + "interpolation":"STEP", + "output":610 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":611 + }, + { + "input":597, + "interpolation":"STEP", + "output":612 + }, + { + "input":597, + "interpolation":"STEP", + "output":613 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":614 + }, + { + "input":597, + "interpolation":"STEP", + "output":615 + }, + { + "input":597, + "interpolation":"STEP", + "output":616 + }, + { + "input":597, + "interpolation":"STEP", + "output":617 + }, + { + "input":597, + "interpolation":"STEP", + "output":19 + }, + { + "input":597, + "interpolation":"STEP", + "output":618 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":619 + }, + { + "input":597, + "interpolation":"STEP", + "output":620 + }, + { + "input":597, + "interpolation":"STEP", + "output":621 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":622 + }, + { + "input":597, + "interpolation":"STEP", + "output":623 + }, + { + "input":597, + "interpolation":"STEP", + "output":624 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":625 + }, + { + "input":597, + "interpolation":"STEP", + "output":626 + }, + { + "input":597, + "interpolation":"STEP", + "output":627 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":628 + }, + { + "input":597, + "interpolation":"STEP", + "output":629 + }, + { + "input":597, + "interpolation":"STEP", + "output":630 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":631 + }, + { + "input":597, + "interpolation":"STEP", + "output":632 + }, + { + "input":597, + "interpolation":"STEP", + "output":633 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":634 + }, + { + "input":597, + "interpolation":"STEP", + "output":567 + }, + { + "input":597, + "interpolation":"STEP", + "output":635 + }, + { + "input":597, + "interpolation":"STEP", + "output":636 + }, + { + "input":597, + "interpolation":"STEP", + "output":637 + }, + { + "input":597, + "interpolation":"STEP", + "output":638 + }, + { + "input":597, + "interpolation":"STEP", + "output":639 + }, + { + "input":597, + "interpolation":"STEP", + "output":640 + }, + { + "input":597, + "interpolation":"STEP", + "output":641 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":642 + }, + { + "input":597, + "interpolation":"STEP", + "output":643 + }, + { + "input":597, + "interpolation":"STEP", + "output":644 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":645 + }, + { + "input":597, + "interpolation":"STEP", + "output":646 + }, + { + "input":597, + "interpolation":"STEP", + "output":647 + }, + { + "input":597, + "interpolation":"STEP", + "output":648 + }, + { + "input":597, + "interpolation":"STEP", + "output":649 + }, + { + "input":597, + "interpolation":"STEP", + "output":650 + }, + { + "input":597, + "interpolation":"STEP", + "output":651 + }, + { + "input":597, + "interpolation":"STEP", + "output":652 + }, + { + "input":597, + "interpolation":"STEP", + "output":653 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":654 + }, + { + "input":597, + "interpolation":"STEP", + "output":256 + }, + { + "input":597, + "interpolation":"STEP", + "output":655 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":656 + }, + { + "input":597, + "interpolation":"STEP", + "output":657 + }, + { + "input":597, + "interpolation":"STEP", + "output":658 + }, + { + "input":597, + "interpolation":"STEP", + "output":659 + }, + { + "input":597, + "interpolation":"STEP", + "output":19 + }, + { + "input":597, + "interpolation":"STEP", + "output":660 + }, + { + "input":597, + "interpolation":"STEP", + "output":661 + }, + { + "input":597, + "interpolation":"STEP", + "output":662 + }, + { + "input":597, + "interpolation":"STEP", + "output":663 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":664 + }, + { + "input":597, + "interpolation":"STEP", + "output":543 + }, + { + "input":597, + "interpolation":"STEP", + "output":665 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":666 + }, + { + "input":597, + "interpolation":"STEP", + "output":667 + }, + { + "input":597, + "interpolation":"STEP", + "output":668 + }, + { + "input":597, + "interpolation":"STEP", + "output":669 + }, + { + "input":597, + "interpolation":"STEP", + "output":19 + }, + { + "input":597, + "interpolation":"STEP", + "output":670 + }, + { + "input":597, + "interpolation":"STEP", + "output":671 + }, + { + "input":597, + "interpolation":"STEP", + "output":672 + }, + { + "input":597, + "interpolation":"STEP", + "output":673 + }, + { + "input":597, + "interpolation":"STEP", + "output":674 + }, + { + "input":597, + "interpolation":"STEP", + "output":675 + }, + { + "input":597, + "interpolation":"STEP", + "output":676 + }, + { + "input":597, + "interpolation":"STEP", + "output":677 + }, + { + "input":597, + "interpolation":"STEP", + "output":678 + }, + { + "input":597, + "interpolation":"STEP", + "output":679 + }, + { + "input":597, + "interpolation":"STEP", + "output":680 + }, + { + "input":597, + "interpolation":"STEP", + "output":681 + }, + { + "input":597, + "interpolation":"STEP", + "output":682 + }, + { + "input":597, + "interpolation":"STEP", + "output":683 + }, + { + "input":597, + "interpolation":"STEP", + "output":684 + }, + { + "input":597, + "interpolation":"STEP", + "output":685 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":686 + }, + { + "input":597, + "interpolation":"STEP", + "output":687 + }, + { + "input":597, + "interpolation":"STEP", + "output":688 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":689 + }, + { + "input":597, + "interpolation":"STEP", + "output":690 + }, + { + "input":597, + "interpolation":"STEP", + "output":691 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":692 + }, + { + "input":597, + "interpolation":"STEP", + "output":693 + }, + { + "input":597, + "interpolation":"STEP", + "output":694 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":695 + }, + { + "input":597, + "interpolation":"STEP", + "output":696 + }, + { + "input":597, + "interpolation":"STEP", + "output":697 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":698 + }, + { + "input":597, + "interpolation":"STEP", + "output":699 + }, + { + "input":597, + "interpolation":"STEP", + "output":700 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":701 + }, + { + "input":597, + "interpolation":"STEP", + "output":702 + }, + { + "input":597, + "interpolation":"STEP", + "output":703 + }, + { + "input":597, + "interpolation":"STEP", + "output":704 + }, + { + "input":597, + "interpolation":"STEP", + "output":705 + }, + { + "input":597, + "interpolation":"STEP", + "output":706 + }, + { + "input":597, + "interpolation":"STEP", + "output":707 + }, + { + "input":597, + "interpolation":"STEP", + "output":22 + }, + { + "input":597, + "interpolation":"STEP", + "output":708 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":709 + }, + { + "input":597, + "interpolation":"STEP", + "output":710 + }, + { + "input":597, + "interpolation":"STEP", + "output":711 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":712 + }, + { + "input":597, + "interpolation":"STEP", + "output":713 + }, + { + "input":597, + "interpolation":"STEP", + "output":714 + }, + { + "input":597, + "interpolation":"STEP", + "output":715 + }, + { + "input":597, + "interpolation":"STEP", + "output":716 + }, + { + "input":597, + "interpolation":"STEP", + "output":717 + }, + { + "input":597, + "interpolation":"STEP", + "output":718 + }, + { + "input":597, + "interpolation":"STEP", + "output":719 + }, + { + "input":597, + "interpolation":"STEP", + "output":720 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":721 + }, + { + "input":597, + "interpolation":"STEP", + "output":722 + }, + { + "input":597, + "interpolation":"STEP", + "output":723 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":724 + }, + { + "input":597, + "interpolation":"STEP", + "output":85 + }, + { + "input":597, + "interpolation":"STEP", + "output":725 + }, + { + "input":597, + "interpolation":"STEP", + "output":726 + }, + { + "input":597, + "interpolation":"STEP", + "output":727 + }, + { + "input":597, + "interpolation":"STEP", + "output":728 + }, + { + "input":597, + "interpolation":"STEP", + "output":729 + }, + { + "input":597, + "interpolation":"STEP", + "output":730 + }, + { + "input":597, + "interpolation":"STEP", + "output":731 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":732 + }, + { + "input":597, + "interpolation":"STEP", + "output":733 + }, + { + "input":597, + "interpolation":"STEP", + "output":734 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":735 + }, + { + "input":597, + "interpolation":"STEP", + "output":736 + }, + { + "input":597, + "interpolation":"STEP", + "output":737 + }, + { + "input":597, + "interpolation":"STEP", + "output":738 + }, + { + "input":597, + "interpolation":"STEP", + "output":739 + }, + { + "input":597, + "interpolation":"STEP", + "output":740 + }, + { + "input":597, + "interpolation":"STEP", + "output":741 + }, + { + "input":597, + "interpolation":"STEP", + "output":742 + }, + { + "input":597, + "interpolation":"STEP", + "output":743 + }, + { + "input":597, + "interpolation":"STEP", + "output":744 + }, + { + "input":597, + "interpolation":"STEP", + "output":745 + }, + { + "input":597, + "interpolation":"STEP", + "output":746 + }, + { + "input":597, + "interpolation":"STEP", + "output":747 + }, + { + "input":597, + "interpolation":"STEP", + "output":748 + }, + { + "input":597, + "interpolation":"STEP", + "output":749 + }, + { + "input":597, + "interpolation":"STEP", + "output":750 + }, + { + "input":597, + "interpolation":"STEP", + "output":751 + }, + { + "input":597, + "interpolation":"STEP", + "output":752 + }, + { + "input":597, + "interpolation":"STEP", + "output":753 + }, + { + "input":597, + "interpolation":"STEP", + "output":754 + }, + { + "input":597, + "interpolation":"STEP", + "output":755 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":756 + }, + { + "input":597, + "interpolation":"STEP", + "output":739 + }, + { + "input":597, + "interpolation":"STEP", + "output":757 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":758 + }, + { + "input":597, + "interpolation":"STEP", + "output":759 + }, + { + "input":597, + "interpolation":"STEP", + "output":760 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":761 + }, + { + "input":597, + "interpolation":"STEP", + "output":762 + }, + { + "input":597, + "interpolation":"STEP", + "output":763 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":764 + }, + { + "input":597, + "interpolation":"STEP", + "output":765 + }, + { + "input":597, + "interpolation":"STEP", + "output":766 + }, + { + "input":597, + "interpolation":"STEP", + "output":767 + }, + { + "input":597, + "interpolation":"STEP", + "output":768 + }, + { + "input":597, + "interpolation":"STEP", + "output":769 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":770 + }, + { + "input":597, + "interpolation":"STEP", + "output":771 + }, + { + "input":597, + "interpolation":"STEP", + "output":772 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":773 + }, + { + "input":597, + "interpolation":"STEP", + "output":774 + }, + { + "input":597, + "interpolation":"STEP", + "output":775 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":776 + }, + { + "input":597, + "interpolation":"STEP", + "output":777 + }, + { + "input":597, + "interpolation":"STEP", + "output":778 + }, + { + "input":595, + "interpolation":"LINEAR", + "output":779 + }, + { + "input":597, + "interpolation":"STEP", + "output":780 + }, + { + "input":597, + "interpolation":"STEP", + "output":781 + }, + { + "input":597, + "interpolation":"STEP", + "output":782 + }, + { + "input":597, + "interpolation":"STEP", + "output":783 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"WalkForward_Loop", + "samplers":[ + { + "input":784, + "interpolation":"LINEAR", + "output":785 + }, + { + "input":786, + "interpolation":"STEP", + "output":18 + }, + { + "input":786, + "interpolation":"STEP", + "output":19 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":787 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":788 + }, + { + "input":786, + "interpolation":"STEP", + "output":789 + }, + { + "input":786, + "interpolation":"STEP", + "output":790 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":791 + }, + { + "input":786, + "interpolation":"STEP", + "output":792 + }, + { + "input":786, + "interpolation":"STEP", + "output":793 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":794 + }, + { + "input":786, + "interpolation":"STEP", + "output":795 + }, + { + "input":786, + "interpolation":"STEP", + "output":796 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":797 + }, + { + "input":786, + "interpolation":"STEP", + "output":798 + }, + { + "input":786, + "interpolation":"STEP", + "output":799 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":800 + }, + { + "input":786, + "interpolation":"STEP", + "output":801 + }, + { + "input":786, + "interpolation":"STEP", + "output":802 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":803 + }, + { + "input":786, + "interpolation":"STEP", + "output":804 + }, + { + "input":786, + "interpolation":"STEP", + "output":805 + }, + { + "input":786, + "interpolation":"STEP", + "output":806 + }, + { + "input":786, + "interpolation":"STEP", + "output":19 + }, + { + "input":786, + "interpolation":"STEP", + "output":807 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":808 + }, + { + "input":786, + "interpolation":"STEP", + "output":809 + }, + { + "input":786, + "interpolation":"STEP", + "output":810 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":811 + }, + { + "input":786, + "interpolation":"STEP", + "output":812 + }, + { + "input":786, + "interpolation":"STEP", + "output":813 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":814 + }, + { + "input":786, + "interpolation":"STEP", + "output":815 + }, + { + "input":786, + "interpolation":"STEP", + "output":816 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":817 + }, + { + "input":786, + "interpolation":"STEP", + "output":818 + }, + { + "input":786, + "interpolation":"STEP", + "output":819 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":820 + }, + { + "input":786, + "interpolation":"STEP", + "output":821 + }, + { + "input":786, + "interpolation":"STEP", + "output":822 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":823 + }, + { + "input":786, + "interpolation":"STEP", + "output":824 + }, + { + "input":786, + "interpolation":"STEP", + "output":825 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":826 + }, + { + "input":786, + "interpolation":"STEP", + "output":827 + }, + { + "input":786, + "interpolation":"STEP", + "output":828 + }, + { + "input":786, + "interpolation":"STEP", + "output":829 + }, + { + "input":786, + "interpolation":"STEP", + "output":830 + }, + { + "input":786, + "interpolation":"STEP", + "output":831 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":832 + }, + { + "input":786, + "interpolation":"STEP", + "output":833 + }, + { + "input":786, + "interpolation":"STEP", + "output":834 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":835 + }, + { + "input":786, + "interpolation":"STEP", + "output":836 + }, + { + "input":786, + "interpolation":"STEP", + "output":837 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":838 + }, + { + "input":786, + "interpolation":"STEP", + "output":839 + }, + { + "input":786, + "interpolation":"STEP", + "output":840 + }, + { + "input":786, + "interpolation":"STEP", + "output":841 + }, + { + "input":786, + "interpolation":"STEP", + "output":842 + }, + { + "input":786, + "interpolation":"STEP", + "output":843 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":844 + }, + { + "input":786, + "interpolation":"STEP", + "output":777 + }, + { + "input":786, + "interpolation":"STEP", + "output":845 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":846 + }, + { + "input":786, + "interpolation":"STEP", + "output":847 + }, + { + "input":786, + "interpolation":"STEP", + "output":848 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":849 + }, + { + "input":786, + "interpolation":"STEP", + "output":850 + }, + { + "input":786, + "interpolation":"STEP", + "output":851 + }, + { + "input":786, + "interpolation":"STEP", + "output":852 + }, + { + "input":786, + "interpolation":"STEP", + "output":853 + }, + { + "input":786, + "interpolation":"STEP", + "output":854 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":855 + }, + { + "input":786, + "interpolation":"STEP", + "output":856 + }, + { + "input":786, + "interpolation":"STEP", + "output":857 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":858 + }, + { + "input":786, + "interpolation":"STEP", + "output":859 + }, + { + "input":786, + "interpolation":"STEP", + "output":860 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":861 + }, + { + "input":786, + "interpolation":"STEP", + "output":862 + }, + { + "input":786, + "interpolation":"STEP", + "output":863 + }, + { + "input":786, + "interpolation":"STEP", + "output":864 + }, + { + "input":786, + "interpolation":"STEP", + "output":865 + }, + { + "input":786, + "interpolation":"STEP", + "output":866 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":867 + }, + { + "input":786, + "interpolation":"STEP", + "output":868 + }, + { + "input":786, + "interpolation":"STEP", + "output":869 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":870 + }, + { + "input":786, + "interpolation":"STEP", + "output":871 + }, + { + "input":786, + "interpolation":"STEP", + "output":872 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":873 + }, + { + "input":786, + "interpolation":"STEP", + "output":874 + }, + { + "input":786, + "interpolation":"STEP", + "output":875 + }, + { + "input":786, + "interpolation":"STEP", + "output":876 + }, + { + "input":786, + "interpolation":"STEP", + "output":877 + }, + { + "input":786, + "interpolation":"STEP", + "output":878 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":879 + }, + { + "input":786, + "interpolation":"STEP", + "output":880 + }, + { + "input":786, + "interpolation":"STEP", + "output":881 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":882 + }, + { + "input":786, + "interpolation":"STEP", + "output":91 + }, + { + "input":786, + "interpolation":"STEP", + "output":883 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":884 + }, + { + "input":786, + "interpolation":"STEP", + "output":885 + }, + { + "input":786, + "interpolation":"STEP", + "output":886 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":887 + }, + { + "input":786, + "interpolation":"STEP", + "output":888 + }, + { + "input":786, + "interpolation":"STEP", + "output":889 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":890 + }, + { + "input":786, + "interpolation":"STEP", + "output":891 + }, + { + "input":786, + "interpolation":"STEP", + "output":892 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":893 + }, + { + "input":786, + "interpolation":"STEP", + "output":894 + }, + { + "input":786, + "interpolation":"STEP", + "output":895 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":896 + }, + { + "input":786, + "interpolation":"STEP", + "output":897 + }, + { + "input":786, + "interpolation":"STEP", + "output":898 + }, + { + "input":786, + "interpolation":"STEP", + "output":899 + }, + { + "input":786, + "interpolation":"STEP", + "output":900 + }, + { + "input":786, + "interpolation":"STEP", + "output":901 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":902 + }, + { + "input":786, + "interpolation":"STEP", + "output":903 + }, + { + "input":786, + "interpolation":"STEP", + "output":904 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":905 + }, + { + "input":786, + "interpolation":"STEP", + "output":906 + }, + { + "input":786, + "interpolation":"STEP", + "output":907 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":908 + }, + { + "input":786, + "interpolation":"STEP", + "output":909 + }, + { + "input":786, + "interpolation":"STEP", + "output":910 + }, + { + "input":786, + "interpolation":"STEP", + "output":911 + }, + { + "input":786, + "interpolation":"STEP", + "output":19 + }, + { + "input":786, + "interpolation":"STEP", + "output":912 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":913 + }, + { + "input":786, + "interpolation":"STEP", + "output":914 + }, + { + "input":786, + "interpolation":"STEP", + "output":915 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":916 + }, + { + "input":786, + "interpolation":"STEP", + "output":917 + }, + { + "input":786, + "interpolation":"STEP", + "output":918 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":919 + }, + { + "input":786, + "interpolation":"STEP", + "output":920 + }, + { + "input":786, + "interpolation":"STEP", + "output":921 + }, + { + "input":786, + "interpolation":"STEP", + "output":922 + }, + { + "input":786, + "interpolation":"STEP", + "output":923 + }, + { + "input":786, + "interpolation":"STEP", + "output":924 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":925 + }, + { + "input":786, + "interpolation":"STEP", + "output":926 + }, + { + "input":786, + "interpolation":"STEP", + "output":927 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":928 + }, + { + "input":786, + "interpolation":"STEP", + "output":929 + }, + { + "input":786, + "interpolation":"STEP", + "output":930 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":931 + }, + { + "input":786, + "interpolation":"STEP", + "output":932 + }, + { + "input":786, + "interpolation":"STEP", + "output":933 + }, + { + "input":786, + "interpolation":"STEP", + "output":934 + }, + { + "input":786, + "interpolation":"STEP", + "output":935 + }, + { + "input":786, + "interpolation":"STEP", + "output":936 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":937 + }, + { + "input":786, + "interpolation":"STEP", + "output":938 + }, + { + "input":786, + "interpolation":"STEP", + "output":939 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":940 + }, + { + "input":786, + "interpolation":"STEP", + "output":941 + }, + { + "input":786, + "interpolation":"STEP", + "output":942 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":943 + }, + { + "input":786, + "interpolation":"STEP", + "output":944 + }, + { + "input":786, + "interpolation":"STEP", + "output":945 + }, + { + "input":786, + "interpolation":"STEP", + "output":946 + }, + { + "input":786, + "interpolation":"STEP", + "output":947 + }, + { + "input":786, + "interpolation":"STEP", + "output":948 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":949 + }, + { + "input":786, + "interpolation":"STEP", + "output":950 + }, + { + "input":786, + "interpolation":"STEP", + "output":951 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":952 + }, + { + "input":786, + "interpolation":"STEP", + "output":783 + }, + { + "input":786, + "interpolation":"STEP", + "output":953 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":954 + }, + { + "input":786, + "interpolation":"STEP", + "output":955 + }, + { + "input":786, + "interpolation":"STEP", + "output":956 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":957 + }, + { + "input":786, + "interpolation":"STEP", + "output":958 + }, + { + "input":786, + "interpolation":"STEP", + "output":959 + }, + { + "input":786, + "interpolation":"STEP", + "output":960 + }, + { + "input":786, + "interpolation":"STEP", + "output":961 + }, + { + "input":786, + "interpolation":"STEP", + "output":962 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":963 + }, + { + "input":786, + "interpolation":"STEP", + "output":964 + }, + { + "input":786, + "interpolation":"STEP", + "output":965 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":966 + }, + { + "input":786, + "interpolation":"STEP", + "output":967 + }, + { + "input":786, + "interpolation":"STEP", + "output":968 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":969 + }, + { + "input":786, + "interpolation":"STEP", + "output":970 + }, + { + "input":786, + "interpolation":"STEP", + "output":971 + }, + { + "input":784, + "interpolation":"LINEAR", + "output":972 + }, + { + "input":786, + "interpolation":"STEP", + "output":973 + }, + { + "input":786, + "interpolation":"STEP", + "output":974 + }, + { + "input":786, + "interpolation":"STEP", + "output":975 + }, + { + "input":786, + "interpolation":"STEP", + "output":976 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"SliceTime_Ground_Enter", + "samplers":[ + { + "input":977, + "interpolation":"LINEAR", + "output":978 + }, + { + "input":979, + "interpolation":"STEP", + "output":18 + }, + { + "input":979, + "interpolation":"STEP", + "output":19 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":980 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":981 + }, + { + "input":979, + "interpolation":"STEP", + "output":982 + }, + { + "input":979, + "interpolation":"STEP", + "output":983 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":984 + }, + { + "input":979, + "interpolation":"STEP", + "output":985 + }, + { + "input":979, + "interpolation":"STEP", + "output":986 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":987 + }, + { + "input":979, + "interpolation":"STEP", + "output":988 + }, + { + "input":979, + "interpolation":"STEP", + "output":989 + }, + { + "input":979, + "interpolation":"STEP", + "output":990 + }, + { + "input":979, + "interpolation":"STEP", + "output":991 + }, + { + "input":979, + "interpolation":"STEP", + "output":992 + }, + { + "input":979, + "interpolation":"STEP", + "output":993 + }, + { + "input":979, + "interpolation":"STEP", + "output":994 + }, + { + "input":979, + "interpolation":"STEP", + "output":995 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":996 + }, + { + "input":979, + "interpolation":"STEP", + "output":997 + }, + { + "input":979, + "interpolation":"STEP", + "output":998 + }, + { + "input":979, + "interpolation":"STEP", + "output":999 + }, + { + "input":979, + "interpolation":"STEP", + "output":552 + }, + { + "input":979, + "interpolation":"STEP", + "output":1000 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1001 + }, + { + "input":979, + "interpolation":"STEP", + "output":1002 + }, + { + "input":979, + "interpolation":"STEP", + "output":1003 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1004 + }, + { + "input":979, + "interpolation":"STEP", + "output":1005 + }, + { + "input":979, + "interpolation":"STEP", + "output":1006 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1007 + }, + { + "input":979, + "interpolation":"STEP", + "output":1008 + }, + { + "input":979, + "interpolation":"STEP", + "output":1009 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1010 + }, + { + "input":979, + "interpolation":"STEP", + "output":1011 + }, + { + "input":979, + "interpolation":"STEP", + "output":1012 + }, + { + "input":979, + "interpolation":"STEP", + "output":1013 + }, + { + "input":979, + "interpolation":"STEP", + "output":1014 + }, + { + "input":979, + "interpolation":"STEP", + "output":1015 + }, + { + "input":979, + "interpolation":"STEP", + "output":1016 + }, + { + "input":979, + "interpolation":"STEP", + "output":1017 + }, + { + "input":979, + "interpolation":"STEP", + "output":1018 + }, + { + "input":979, + "interpolation":"STEP", + "output":1019 + }, + { + "input":979, + "interpolation":"STEP", + "output":1020 + }, + { + "input":979, + "interpolation":"STEP", + "output":1021 + }, + { + "input":979, + "interpolation":"STEP", + "output":1022 + }, + { + "input":979, + "interpolation":"STEP", + "output":19 + }, + { + "input":979, + "interpolation":"STEP", + "output":1023 + }, + { + "input":979, + "interpolation":"STEP", + "output":1024 + }, + { + "input":979, + "interpolation":"STEP", + "output":1025 + }, + { + "input":979, + "interpolation":"STEP", + "output":1026 + }, + { + "input":979, + "interpolation":"STEP", + "output":1027 + }, + { + "input":979, + "interpolation":"STEP", + "output":1028 + }, + { + "input":979, + "interpolation":"STEP", + "output":1029 + }, + { + "input":979, + "interpolation":"STEP", + "output":1030 + }, + { + "input":979, + "interpolation":"STEP", + "output":1031 + }, + { + "input":979, + "interpolation":"STEP", + "output":1032 + }, + { + "input":979, + "interpolation":"STEP", + "output":1033 + }, + { + "input":979, + "interpolation":"STEP", + "output":1034 + }, + { + "input":979, + "interpolation":"STEP", + "output":1035 + }, + { + "input":979, + "interpolation":"STEP", + "output":1036 + }, + { + "input":979, + "interpolation":"STEP", + "output":719 + }, + { + "input":979, + "interpolation":"STEP", + "output":1037 + }, + { + "input":979, + "interpolation":"STEP", + "output":1038 + }, + { + "input":979, + "interpolation":"STEP", + "output":1039 + }, + { + "input":979, + "interpolation":"STEP", + "output":1040 + }, + { + "input":979, + "interpolation":"STEP", + "output":1041 + }, + { + "input":979, + "interpolation":"STEP", + "output":1042 + }, + { + "input":979, + "interpolation":"STEP", + "output":1043 + }, + { + "input":979, + "interpolation":"STEP", + "output":1044 + }, + { + "input":979, + "interpolation":"STEP", + "output":1045 + }, + { + "input":979, + "interpolation":"STEP", + "output":1046 + }, + { + "input":979, + "interpolation":"STEP", + "output":1047 + }, + { + "input":979, + "interpolation":"STEP", + "output":1048 + }, + { + "input":979, + "interpolation":"STEP", + "output":1049 + }, + { + "input":979, + "interpolation":"STEP", + "output":1050 + }, + { + "input":979, + "interpolation":"STEP", + "output":1051 + }, + { + "input":979, + "interpolation":"STEP", + "output":1052 + }, + { + "input":979, + "interpolation":"STEP", + "output":1053 + }, + { + "input":979, + "interpolation":"STEP", + "output":1054 + }, + { + "input":979, + "interpolation":"STEP", + "output":1055 + }, + { + "input":979, + "interpolation":"STEP", + "output":1056 + }, + { + "input":979, + "interpolation":"STEP", + "output":1057 + }, + { + "input":979, + "interpolation":"STEP", + "output":1058 + }, + { + "input":979, + "interpolation":"STEP", + "output":1059 + }, + { + "input":979, + "interpolation":"STEP", + "output":1060 + }, + { + "input":979, + "interpolation":"STEP", + "output":1061 + }, + { + "input":979, + "interpolation":"STEP", + "output":1062 + }, + { + "input":979, + "interpolation":"STEP", + "output":1063 + }, + { + "input":979, + "interpolation":"STEP", + "output":1064 + }, + { + "input":979, + "interpolation":"STEP", + "output":1065 + }, + { + "input":979, + "interpolation":"STEP", + "output":1066 + }, + { + "input":979, + "interpolation":"STEP", + "output":1067 + }, + { + "input":979, + "interpolation":"STEP", + "output":1068 + }, + { + "input":979, + "interpolation":"STEP", + "output":567 + }, + { + "input":979, + "interpolation":"STEP", + "output":1069 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1070 + }, + { + "input":979, + "interpolation":"STEP", + "output":383 + }, + { + "input":979, + "interpolation":"STEP", + "output":1071 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1072 + }, + { + "input":979, + "interpolation":"STEP", + "output":1073 + }, + { + "input":979, + "interpolation":"STEP", + "output":1074 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1075 + }, + { + "input":979, + "interpolation":"STEP", + "output":1076 + }, + { + "input":979, + "interpolation":"STEP", + "output":1077 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1078 + }, + { + "input":979, + "interpolation":"STEP", + "output":1079 + }, + { + "input":979, + "interpolation":"STEP", + "output":1080 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1081 + }, + { + "input":979, + "interpolation":"STEP", + "output":1082 + }, + { + "input":979, + "interpolation":"STEP", + "output":1083 + }, + { + "input":979, + "interpolation":"STEP", + "output":1084 + }, + { + "input":979, + "interpolation":"STEP", + "output":1085 + }, + { + "input":979, + "interpolation":"STEP", + "output":1086 + }, + { + "input":979, + "interpolation":"STEP", + "output":1087 + }, + { + "input":979, + "interpolation":"STEP", + "output":1088 + }, + { + "input":979, + "interpolation":"STEP", + "output":1089 + }, + { + "input":979, + "interpolation":"STEP", + "output":1090 + }, + { + "input":979, + "interpolation":"STEP", + "output":145 + }, + { + "input":979, + "interpolation":"STEP", + "output":1091 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1092 + }, + { + "input":979, + "interpolation":"STEP", + "output":139 + }, + { + "input":979, + "interpolation":"STEP", + "output":1093 + }, + { + "input":979, + "interpolation":"STEP", + "output":1094 + }, + { + "input":979, + "interpolation":"STEP", + "output":1095 + }, + { + "input":979, + "interpolation":"STEP", + "output":1096 + }, + { + "input":979, + "interpolation":"STEP", + "output":1097 + }, + { + "input":979, + "interpolation":"STEP", + "output":1098 + }, + { + "input":979, + "interpolation":"STEP", + "output":1099 + }, + { + "input":979, + "interpolation":"STEP", + "output":1100 + }, + { + "input":979, + "interpolation":"STEP", + "output":168 + }, + { + "input":979, + "interpolation":"STEP", + "output":1101 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1102 + }, + { + "input":979, + "interpolation":"STEP", + "output":1103 + }, + { + "input":979, + "interpolation":"STEP", + "output":1104 + }, + { + "input":979, + "interpolation":"STEP", + "output":1105 + }, + { + "input":979, + "interpolation":"STEP", + "output":1106 + }, + { + "input":979, + "interpolation":"STEP", + "output":1107 + }, + { + "input":979, + "interpolation":"STEP", + "output":1108 + }, + { + "input":979, + "interpolation":"STEP", + "output":1109 + }, + { + "input":979, + "interpolation":"STEP", + "output":1110 + }, + { + "input":979, + "interpolation":"STEP", + "output":1111 + }, + { + "input":979, + "interpolation":"STEP", + "output":1112 + }, + { + "input":979, + "interpolation":"STEP", + "output":1113 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1114 + }, + { + "input":979, + "interpolation":"STEP", + "output":1115 + }, + { + "input":979, + "interpolation":"STEP", + "output":1116 + }, + { + "input":979, + "interpolation":"STEP", + "output":1117 + }, + { + "input":979, + "interpolation":"STEP", + "output":1118 + }, + { + "input":979, + "interpolation":"STEP", + "output":1119 + }, + { + "input":979, + "interpolation":"STEP", + "output":1120 + }, + { + "input":979, + "interpolation":"STEP", + "output":1121 + }, + { + "input":979, + "interpolation":"STEP", + "output":1122 + }, + { + "input":979, + "interpolation":"STEP", + "output":1123 + }, + { + "input":979, + "interpolation":"STEP", + "output":1124 + }, + { + "input":979, + "interpolation":"STEP", + "output":1125 + }, + { + "input":979, + "interpolation":"STEP", + "output":1126 + }, + { + "input":979, + "interpolation":"STEP", + "output":1127 + }, + { + "input":979, + "interpolation":"STEP", + "output":1128 + }, + { + "input":979, + "interpolation":"STEP", + "output":1129 + }, + { + "input":979, + "interpolation":"STEP", + "output":1130 + }, + { + "input":979, + "interpolation":"STEP", + "output":1131 + }, + { + "input":979, + "interpolation":"STEP", + "output":1132 + }, + { + "input":979, + "interpolation":"STEP", + "output":1133 + }, + { + "input":979, + "interpolation":"STEP", + "output":1134 + }, + { + "input":979, + "interpolation":"STEP", + "output":1135 + }, + { + "input":979, + "interpolation":"STEP", + "output":754 + }, + { + "input":979, + "interpolation":"STEP", + "output":1136 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1137 + }, + { + "input":979, + "interpolation":"STEP", + "output":1138 + }, + { + "input":979, + "interpolation":"STEP", + "output":1139 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1140 + }, + { + "input":979, + "interpolation":"STEP", + "output":1141 + }, + { + "input":979, + "interpolation":"STEP", + "output":1142 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1143 + }, + { + "input":979, + "interpolation":"STEP", + "output":1144 + }, + { + "input":979, + "interpolation":"STEP", + "output":1145 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1146 + }, + { + "input":979, + "interpolation":"STEP", + "output":1147 + }, + { + "input":979, + "interpolation":"STEP", + "output":1148 + }, + { + "input":979, + "interpolation":"STEP", + "output":1149 + }, + { + "input":979, + "interpolation":"STEP", + "output":1150 + }, + { + "input":979, + "interpolation":"STEP", + "output":1151 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1152 + }, + { + "input":979, + "interpolation":"STEP", + "output":1153 + }, + { + "input":979, + "interpolation":"STEP", + "output":1154 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1155 + }, + { + "input":979, + "interpolation":"STEP", + "output":1156 + }, + { + "input":979, + "interpolation":"STEP", + "output":1157 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1158 + }, + { + "input":979, + "interpolation":"STEP", + "output":1159 + }, + { + "input":979, + "interpolation":"STEP", + "output":1160 + }, + { + "input":977, + "interpolation":"LINEAR", + "output":1161 + }, + { + "input":979, + "interpolation":"STEP", + "output":1162 + }, + { + "input":979, + "interpolation":"STEP", + "output":1163 + }, + { + "input":979, + "interpolation":"STEP", + "output":1164 + }, + { + "input":979, + "interpolation":"STEP", + "output":1165 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"SliceTime_Aim_UpDown", + "samplers":[ + { + "input":1166, + "interpolation":"STEP", + "output":1167 + }, + { + "input":1166, + "interpolation":"STEP", + "output":18 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1168 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1169 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1170 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1171 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1173 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1174 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1175 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1176 + }, + { + "input":1166, + "interpolation":"STEP", + "output":903 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1177 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1178 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1179 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1180 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1181 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1182 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1183 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1184 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1185 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1186 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1187 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1188 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1189 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1190 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1191 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1192 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1193 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1194 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1195 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1196 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1197 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1198 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1199 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1200 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1201 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1202 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1203 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1204 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1205 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1206 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1207 + }, + { + "input":1166, + "interpolation":"STEP", + "output":133 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1208 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1209 + }, + { + "input":1166, + "interpolation":"STEP", + "output":133 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1210 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1211 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1212 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1213 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1214 + }, + { + "input":1166, + "interpolation":"STEP", + "output":271 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1215 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1216 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1217 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1218 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1219 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1220 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1221 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1222 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1223 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1224 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1225 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1226 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1227 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1228 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1229 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1230 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1231 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1232 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1233 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1234 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1212 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1235 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1236 + }, + { + "input":1166, + "interpolation":"STEP", + "output":271 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1237 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1238 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1239 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1240 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1241 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1165 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1242 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1243 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1244 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1245 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1246 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1247 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1248 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1249 + }, + { + "input":1166, + "interpolation":"STEP", + "output":350 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1250 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1251 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1252 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1253 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1254 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1255 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1256 + }, + { + "input":1166, + "interpolation":"STEP", + "output":672 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1257 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1258 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1259 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1260 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1261 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1262 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1263 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1264 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1265 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1266 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1267 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1268 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1269 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1270 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1271 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1272 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1273 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1274 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1275 + }, + { + "input":1166, + "interpolation":"STEP", + "output":771 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1276 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1277 + }, + { + "input":1166, + "interpolation":"STEP", + "output":100 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1278 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1279 + }, + { + "input":1166, + "interpolation":"STEP", + "output":672 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1280 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1281 + }, + { + "input":1166, + "interpolation":"STEP", + "output":389 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1282 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1283 + }, + { + "input":1166, + "interpolation":"STEP", + "output":64 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1284 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1285 + }, + { + "input":1166, + "interpolation":"STEP", + "output":40 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1286 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1287 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1288 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1289 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1290 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1291 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1292 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1293 + }, + { + "input":1166, + "interpolation":"STEP", + "output":716 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1294 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1295 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1296 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1297 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1298 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1299 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1300 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1301 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1302 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1303 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1304 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1305 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1306 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1307 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1308 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1309 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1310 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1311 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1312 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1313 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1314 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1315 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1316 + }, + { + "input":1166, + "interpolation":"STEP", + "output":801 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1317 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1318 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1319 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1320 + }, + { + "input":1166, + "interpolation":"STEP", + "output":22 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1321 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1322 + }, + { + "input":1166, + "interpolation":"STEP", + "output":801 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1323 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1324 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1325 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1326 + }, + { + "input":1166, + "interpolation":"STEP", + "output":801 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1327 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1328 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1329 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1330 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1331 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1332 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1333 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1334 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1335 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"SliceTime_Ground_Idle_Loop", + "samplers":[ + { + "input":1336, + "interpolation":"STEP", + "output":1337 + }, + { + "input":1336, + "interpolation":"STEP", + "output":18 + }, + { + "input":1336, + "interpolation":"STEP", + "output":19 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1338 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1339 + }, + { + "input":1336, + "interpolation":"STEP", + "output":982 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1340 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1341 + }, + { + "input":1336, + "interpolation":"STEP", + "output":19 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1342 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1343 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1344 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1345 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1346 + }, + { + "input":1336, + "interpolation":"STEP", + "output":637 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1347 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1348 + }, + { + "input":1336, + "interpolation":"STEP", + "output":85 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1349 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1350 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1185 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1351 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1352 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1353 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1354 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1355 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1356 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1357 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1358 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1359 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1360 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1361 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1362 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1363 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1364 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1365 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1366 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1367 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1368 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1369 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1370 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1115 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1371 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1372 + }, + { + "input":1336, + "interpolation":"STEP", + "output":22 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1373 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1374 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1375 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1376 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1377 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1378 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1379 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1380 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1381 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1382 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1383 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1384 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1385 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1386 + }, + { + "input":1336, + "interpolation":"STEP", + "output":649 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1387 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1388 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1389 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1390 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1391 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1392 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1393 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1394 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1395 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1396 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1397 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1398 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1399 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1400 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1401 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1402 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1403 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1404 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1405 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1406 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1407 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1408 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1409 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1410 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1411 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1412 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1413 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1414 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1415 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1416 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1417 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1418 + }, + { + "input":1336, + "interpolation":"STEP", + "output":944 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1419 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1420 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1421 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1422 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1423 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1424 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1425 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1426 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1427 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1428 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1429 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1430 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1431 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1432 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1433 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1434 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1435 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1436 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1437 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1438 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1439 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1440 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1441 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1442 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1443 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1444 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1445 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1446 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1447 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1448 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1449 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1450 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1451 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1452 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1453 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1454 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1455 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1456 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1457 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1458 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1459 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1460 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1461 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1462 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1463 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1464 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1465 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1466 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1467 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1468 + }, + { + "input":1336, + "interpolation":"STEP", + "output":19 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1469 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1470 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1471 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1472 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1473 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1474 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1475 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1476 + }, + { + "input":1336, + "interpolation":"STEP", + "output":710 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1477 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1478 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1479 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1480 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1481 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1482 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1483 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1484 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1485 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1486 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1487 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1488 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1489 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1490 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1491 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1492 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1493 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1494 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1495 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1496 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1497 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1498 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1499 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1500 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1501 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1502 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1503 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1504 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1505 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1506 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1507 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1508 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1509 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1510 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1511 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1512 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1513 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1514 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1515 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1516 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1517 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1518 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1519 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1520 + }, + { + "input":1336, + "interpolation":"STEP", + "output":1521 + } + ] + }, + { + "channels":[ + { + "sampler":0, + "target":{ + "node":65, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":65, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":65, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":64, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":64, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":64, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":53, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":53, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":53, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":52, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":52, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":52, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":51, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":51, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":51, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":0, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":26, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":26, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":26, + "path":"scale" + } + }, + { + "sampler":27, + "target":{ + "node":25, + "path":"translation" + } + }, + { + "sampler":28, + "target":{ + "node":25, + "path":"rotation" + } + }, + { + "sampler":29, + "target":{ + "node":25, + "path":"scale" + } + }, + { + "sampler":30, + "target":{ + "node":24, + "path":"translation" + } + }, + { + "sampler":31, + "target":{ + "node":24, + "path":"rotation" + } + }, + { + "sampler":32, + "target":{ + "node":24, + "path":"scale" + } + }, + { + "sampler":33, + "target":{ + "node":23, + "path":"translation" + } + }, + { + "sampler":34, + "target":{ + "node":23, + "path":"rotation" + } + }, + { + "sampler":35, + "target":{ + "node":23, + "path":"scale" + } + }, + { + "sampler":36, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":37, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":38, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":39, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":40, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":41, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":42, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":43, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":44, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":45, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":46, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":47, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":48, + "target":{ + "node":10, + "path":"translation" + } + }, + { + "sampler":49, + "target":{ + "node":10, + "path":"rotation" + } + }, + { + "sampler":50, + "target":{ + "node":10, + "path":"scale" + } + }, + { + "sampler":51, + "target":{ + "node":9, + "path":"translation" + } + }, + { + "sampler":52, + "target":{ + "node":9, + "path":"rotation" + } + }, + { + "sampler":53, + "target":{ + "node":9, + "path":"scale" + } + }, + { + "sampler":54, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":55, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":56, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":57, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":58, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":59, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":60, + "target":{ + "node":14, + "path":"translation" + } + }, + { + "sampler":61, + "target":{ + "node":14, + "path":"rotation" + } + }, + { + "sampler":62, + "target":{ + "node":14, + "path":"scale" + } + }, + { + "sampler":63, + "target":{ + "node":13, + "path":"translation" + } + }, + { + "sampler":64, + "target":{ + "node":13, + "path":"rotation" + } + }, + { + "sampler":65, + "target":{ + "node":13, + "path":"scale" + } + }, + { + "sampler":66, + "target":{ + "node":12, + "path":"translation" + } + }, + { + "sampler":67, + "target":{ + "node":12, + "path":"rotation" + } + }, + { + "sampler":68, + "target":{ + "node":12, + "path":"scale" + } + }, + { + "sampler":69, + "target":{ + "node":11, + "path":"translation" + } + }, + { + "sampler":70, + "target":{ + "node":11, + "path":"rotation" + } + }, + { + "sampler":71, + "target":{ + "node":11, + "path":"scale" + } + }, + { + "sampler":72, + "target":{ + "node":18, + "path":"translation" + } + }, + { + "sampler":73, + "target":{ + "node":18, + "path":"rotation" + } + }, + { + "sampler":74, + "target":{ + "node":18, + "path":"scale" + } + }, + { + "sampler":75, + "target":{ + "node":17, + "path":"translation" + } + }, + { + "sampler":76, + "target":{ + "node":17, + "path":"rotation" + } + }, + { + "sampler":77, + "target":{ + "node":17, + "path":"scale" + } + }, + { + "sampler":78, + "target":{ + "node":16, + "path":"translation" + } + }, + { + "sampler":79, + "target":{ + "node":16, + "path":"rotation" + } + }, + { + "sampler":80, + "target":{ + "node":16, + "path":"scale" + } + }, + { + "sampler":81, + "target":{ + "node":15, + "path":"translation" + } + }, + { + "sampler":82, + "target":{ + "node":15, + "path":"rotation" + } + }, + { + "sampler":83, + "target":{ + "node":15, + "path":"scale" + } + }, + { + "sampler":84, + "target":{ + "node":22, + "path":"translation" + } + }, + { + "sampler":85, + "target":{ + "node":22, + "path":"rotation" + } + }, + { + "sampler":86, + "target":{ + "node":22, + "path":"scale" + } + }, + { + "sampler":87, + "target":{ + "node":21, + "path":"translation" + } + }, + { + "sampler":88, + "target":{ + "node":21, + "path":"rotation" + } + }, + { + "sampler":89, + "target":{ + "node":21, + "path":"scale" + } + }, + { + "sampler":90, + "target":{ + "node":20, + "path":"translation" + } + }, + { + "sampler":91, + "target":{ + "node":20, + "path":"rotation" + } + }, + { + "sampler":92, + "target":{ + "node":20, + "path":"scale" + } + }, + { + "sampler":93, + "target":{ + "node":19, + "path":"translation" + } + }, + { + "sampler":94, + "target":{ + "node":19, + "path":"rotation" + } + }, + { + "sampler":95, + "target":{ + "node":19, + "path":"scale" + } + }, + { + "sampler":96, + "target":{ + "node":50, + "path":"translation" + } + }, + { + "sampler":97, + "target":{ + "node":50, + "path":"rotation" + } + }, + { + "sampler":98, + "target":{ + "node":50, + "path":"scale" + } + }, + { + "sampler":99, + "target":{ + "node":49, + "path":"translation" + } + }, + { + "sampler":100, + "target":{ + "node":49, + "path":"rotation" + } + }, + { + "sampler":101, + "target":{ + "node":49, + "path":"scale" + } + }, + { + "sampler":102, + "target":{ + "node":48, + "path":"translation" + } + }, + { + "sampler":103, + "target":{ + "node":48, + "path":"rotation" + } + }, + { + "sampler":104, + "target":{ + "node":48, + "path":"scale" + } + }, + { + "sampler":105, + "target":{ + "node":47, + "path":"translation" + } + }, + { + "sampler":106, + "target":{ + "node":47, + "path":"rotation" + } + }, + { + "sampler":107, + "target":{ + "node":47, + "path":"scale" + } + }, + { + "sampler":108, + "target":{ + "node":30, + "path":"translation" + } + }, + { + "sampler":109, + "target":{ + "node":30, + "path":"rotation" + } + }, + { + "sampler":110, + "target":{ + "node":30, + "path":"scale" + } + }, + { + "sampler":111, + "target":{ + "node":29, + "path":"translation" + } + }, + { + "sampler":112, + "target":{ + "node":29, + "path":"rotation" + } + }, + { + "sampler":113, + "target":{ + "node":29, + "path":"scale" + } + }, + { + "sampler":114, + "target":{ + "node":28, + "path":"translation" + } + }, + { + "sampler":115, + "target":{ + "node":28, + "path":"rotation" + } + }, + { + "sampler":116, + "target":{ + "node":28, + "path":"scale" + } + }, + { + "sampler":117, + "target":{ + "node":27, + "path":"translation" + } + }, + { + "sampler":118, + "target":{ + "node":27, + "path":"rotation" + } + }, + { + "sampler":119, + "target":{ + "node":27, + "path":"scale" + } + }, + { + "sampler":120, + "target":{ + "node":34, + "path":"translation" + } + }, + { + "sampler":121, + "target":{ + "node":34, + "path":"rotation" + } + }, + { + "sampler":122, + "target":{ + "node":34, + "path":"scale" + } + }, + { + "sampler":123, + "target":{ + "node":33, + "path":"translation" + } + }, + { + "sampler":124, + "target":{ + "node":33, + "path":"rotation" + } + }, + { + "sampler":125, + "target":{ + "node":33, + "path":"scale" + } + }, + { + "sampler":126, + "target":{ + "node":32, + "path":"translation" + } + }, + { + "sampler":127, + "target":{ + "node":32, + "path":"rotation" + } + }, + { + "sampler":128, + "target":{ + "node":32, + "path":"scale" + } + }, + { + "sampler":129, + "target":{ + "node":31, + "path":"translation" + } + }, + { + "sampler":130, + "target":{ + "node":31, + "path":"rotation" + } + }, + { + "sampler":131, + "target":{ + "node":31, + "path":"scale" + } + }, + { + "sampler":132, + "target":{ + "node":38, + "path":"translation" + } + }, + { + "sampler":133, + "target":{ + "node":38, + "path":"rotation" + } + }, + { + "sampler":134, + "target":{ + "node":38, + "path":"scale" + } + }, + { + "sampler":135, + "target":{ + "node":37, + "path":"translation" + } + }, + { + "sampler":136, + "target":{ + "node":37, + "path":"rotation" + } + }, + { + "sampler":137, + "target":{ + "node":37, + "path":"scale" + } + }, + { + "sampler":138, + "target":{ + "node":36, + "path":"translation" + } + }, + { + "sampler":139, + "target":{ + "node":36, + "path":"rotation" + } + }, + { + "sampler":140, + "target":{ + "node":36, + "path":"scale" + } + }, + { + "sampler":141, + "target":{ + "node":35, + "path":"translation" + } + }, + { + "sampler":142, + "target":{ + "node":35, + "path":"rotation" + } + }, + { + "sampler":143, + "target":{ + "node":35, + "path":"scale" + } + }, + { + "sampler":144, + "target":{ + "node":42, + "path":"translation" + } + }, + { + "sampler":145, + "target":{ + "node":42, + "path":"rotation" + } + }, + { + "sampler":146, + "target":{ + "node":42, + "path":"scale" + } + }, + { + "sampler":147, + "target":{ + "node":41, + "path":"translation" + } + }, + { + "sampler":148, + "target":{ + "node":41, + "path":"rotation" + } + }, + { + "sampler":149, + "target":{ + "node":41, + "path":"scale" + } + }, + { + "sampler":150, + "target":{ + "node":40, + "path":"translation" + } + }, + { + "sampler":151, + "target":{ + "node":40, + "path":"rotation" + } + }, + { + "sampler":152, + "target":{ + "node":40, + "path":"scale" + } + }, + { + "sampler":153, + "target":{ + "node":39, + "path":"translation" + } + }, + { + "sampler":154, + "target":{ + "node":39, + "path":"rotation" + } + }, + { + "sampler":155, + "target":{ + "node":39, + "path":"scale" + } + }, + { + "sampler":156, + "target":{ + "node":46, + "path":"translation" + } + }, + { + "sampler":157, + "target":{ + "node":46, + "path":"rotation" + } + }, + { + "sampler":158, + "target":{ + "node":46, + "path":"scale" + } + }, + { + "sampler":159, + "target":{ + "node":45, + "path":"translation" + } + }, + { + "sampler":160, + "target":{ + "node":45, + "path":"rotation" + } + }, + { + "sampler":161, + "target":{ + "node":45, + "path":"scale" + } + }, + { + "sampler":162, + "target":{ + "node":44, + "path":"translation" + } + }, + { + "sampler":163, + "target":{ + "node":44, + "path":"rotation" + } + }, + { + "sampler":164, + "target":{ + "node":44, + "path":"scale" + } + }, + { + "sampler":165, + "target":{ + "node":43, + "path":"translation" + } + }, + { + "sampler":166, + "target":{ + "node":43, + "path":"rotation" + } + }, + { + "sampler":167, + "target":{ + "node":43, + "path":"scale" + } + }, + { + "sampler":168, + "target":{ + "node":58, + "path":"translation" + } + }, + { + "sampler":169, + "target":{ + "node":58, + "path":"rotation" + } + }, + { + "sampler":170, + "target":{ + "node":58, + "path":"scale" + } + }, + { + "sampler":171, + "target":{ + "node":57, + "path":"translation" + } + }, + { + "sampler":172, + "target":{ + "node":57, + "path":"rotation" + } + }, + { + "sampler":173, + "target":{ + "node":57, + "path":"scale" + } + }, + { + "sampler":174, + "target":{ + "node":56, + "path":"translation" + } + }, + { + "sampler":175, + "target":{ + "node":56, + "path":"rotation" + } + }, + { + "sampler":176, + "target":{ + "node":56, + "path":"scale" + } + }, + { + "sampler":177, + "target":{ + "node":55, + "path":"translation" + } + }, + { + "sampler":178, + "target":{ + "node":55, + "path":"rotation" + } + }, + { + "sampler":179, + "target":{ + "node":55, + "path":"scale" + } + }, + { + "sampler":180, + "target":{ + "node":54, + "path":"translation" + } + }, + { + "sampler":181, + "target":{ + "node":54, + "path":"rotation" + } + }, + { + "sampler":182, + "target":{ + "node":54, + "path":"scale" + } + }, + { + "sampler":183, + "target":{ + "node":63, + "path":"translation" + } + }, + { + "sampler":184, + "target":{ + "node":63, + "path":"rotation" + } + }, + { + "sampler":185, + "target":{ + "node":63, + "path":"scale" + } + }, + { + "sampler":186, + "target":{ + "node":62, + "path":"translation" + } + }, + { + "sampler":187, + "target":{ + "node":62, + "path":"rotation" + } + }, + { + "sampler":188, + "target":{ + "node":62, + "path":"scale" + } + }, + { + "sampler":189, + "target":{ + "node":61, + "path":"translation" + } + }, + { + "sampler":190, + "target":{ + "node":61, + "path":"rotation" + } + }, + { + "sampler":191, + "target":{ + "node":61, + "path":"scale" + } + }, + { + "sampler":192, + "target":{ + "node":60, + "path":"translation" + } + }, + { + "sampler":193, + "target":{ + "node":60, + "path":"rotation" + } + }, + { + "sampler":194, + "target":{ + "node":60, + "path":"scale" + } + }, + { + "sampler":195, + "target":{ + "node":59, + "path":"translation" + } + }, + { + "sampler":196, + "target":{ + "node":59, + "path":"rotation" + } + }, + { + "sampler":197, + "target":{ + "node":59, + "path":"scale" + } + } + ], + "name":"SliceTime_Ground_Aim_Angle_Loop", + "samplers":[ + { + "input":1166, + "interpolation":"STEP", + "output":1337 + }, + { + "input":1166, + "interpolation":"STEP", + "output":18 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1338 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1339 + }, + { + "input":1166, + "interpolation":"STEP", + "output":982 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1340 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1341 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1342 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1343 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1344 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1345 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1346 + }, + { + "input":1166, + "interpolation":"STEP", + "output":637 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1347 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1348 + }, + { + "input":1166, + "interpolation":"STEP", + "output":85 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1349 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1350 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1185 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1351 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1352 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1353 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1354 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1355 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1356 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1357 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1522 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1523 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1524 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1525 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1526 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1527 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1528 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1529 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1530 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1531 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1532 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1533 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1534 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1535 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1536 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1537 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1538 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1539 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1540 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1541 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1542 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1543 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1544 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1545 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1546 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1547 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1548 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1549 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1550 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1551 + }, + { + "input":1166, + "interpolation":"STEP", + "output":914 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1552 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1553 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1554 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1555 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1556 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1557 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1558 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1559 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1560 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1561 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1562 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1563 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1564 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1565 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1566 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1567 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1568 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1569 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1570 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1571 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1572 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1573 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1574 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1575 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1576 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1577 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1578 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1579 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1580 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1581 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1582 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1583 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1584 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1585 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1586 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1587 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1422 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1423 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1424 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1425 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1588 + }, + { + "input":1166, + "interpolation":"STEP", + "output":213 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1589 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1590 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1591 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1592 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1593 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1594 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1595 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1596 + }, + { + "input":1166, + "interpolation":"STEP", + "output":719 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1597 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1598 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1599 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1600 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1601 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1602 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1603 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1604 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1605 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1606 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1607 + }, + { + "input":1166, + "interpolation":"STEP", + "output":985 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1608 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1609 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1610 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1611 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1612 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1613 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1614 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1615 + }, + { + "input":1166, + "interpolation":"STEP", + "output":19 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1616 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1617 + }, + { + "input":1166, + "interpolation":"STEP", + "output":777 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1618 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1619 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1620 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1621 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1622 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1623 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1624 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1625 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1626 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1627 + }, + { + "input":1172, + "interpolation":"LINEAR", + "output":1628 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1629 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1630 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1631 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1632 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1633 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1634 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1635 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1636 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1637 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1638 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1639 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1640 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1641 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1642 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1643 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1644 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1645 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1646 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1647 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1648 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1649 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1650 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1492 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1651 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1652 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1653 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1654 + }, + { + "input":1166, + "interpolation":"STEP", + "output":771 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1655 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1656 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1605 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1657 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1658 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1659 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1660 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1661 + }, + { + "input":1166, + "interpolation":"STEP", + "output":719 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1507 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1662 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1663 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1664 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1665 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1666 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1667 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1668 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1669 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1670 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1671 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1672 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1673 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1674 + }, + { + "input":1166, + "interpolation":"STEP", + "output":1675 + } + ] + } + ], + "materials":[ + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 2.0, + 2.0, + 2.0 + ] + } + }, + "name":"Beta_HighLimbsGeoSG3", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.8370000123977661, + 0.30230802297592163, + 0.26365500688552856, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 2.0, + 2.0, + 2.0 + ] + } + }, + "name":"Beta_Joints_MAT1", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.3333333432674408, + 0.12452887743711472, + 0.10101473331451416, + 1 + ], + "metallicFactor":0.5, + "roughnessFactor":0.5527864098548889 + } + } + ], + "meshes":[ + { + "name":"Beta_Surface", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3, + "JOINTS_0":4, + "WEIGHTS_0":5 + }, + "indices":6, + "material":0 + }, + { + "attributes":{ + "POSITION":7, + "NORMAL":8, + "TEXCOORD_0":9, + "TANGENT":10, + "JOINTS_0":11, + "WEIGHTS_0":12 + }, + "indices":13, + "material":1 + } + ] + } + ], + "skins":[ + { + "inverseBindMatrices":14, + "joints":[ + 65, + 64, + 53, + 52, + 51, + 2, + 1, + 0, + 26, + 25, + 24, + 23, + 6, + 5, + 4, + 3, + 10, + 9, + 8, + 7, + 14, + 13, + 12, + 11, + 18, + 17, + 16, + 15, + 22, + 21, + 20, + 19, + 50, + 49, + 48, + 47, + 30, + 29, + 28, + 27, + 34, + 33, + 32, + 31, + 38, + 37, + 36, + 35, + 42, + 41, + 40, + 39, + 46, + 45, + 44, + 43, + 58, + 57, + 56, + 55, + 54, + 63, + 62, + 61, + 60, + 59 + ], + "name":"Mixamo" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":15901, + "max":[ + 0.9025658369064331, + 1.8088831901550293, + 0.17174169421195984 + ], + "min":[ + -0.9025661945343018, + -0.0003219323407392949, + -0.14895710349082947 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":15901, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":15901, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5121, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5126, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":84816, + "type":"SCALAR" + }, + { + "bufferView":7, + "componentType":5126, + "count":12473, + "max":[ + 0.8834667205810547, + 1.5964422225952148, + 0.1250191628932953 + ], + "min":[ + -0.8834670782089233, + -0.0003511549439281225, + -0.12990522384643555 + ], + "type":"VEC3" + }, + { + "bufferView":8, + "componentType":5126, + "count":12473, + "type":"VEC3" + }, + { + "bufferView":9, + "componentType":5126, + "count":12473, + "type":"VEC2" + }, + { + "bufferView":10, + "componentType":5126, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":11, + "componentType":5121, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":12, + "componentType":5126, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":13, + "componentType":5123, + "count":62520, + "type":"SCALAR" + }, + { + "bufferView":14, + "componentType":5126, + "count":66, + "type":"MAT4" + }, + { + "bufferView":15, + "componentType":5126, + "count":32, + "max":[ + 0.5333333333333333 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":16, + "componentType":5126, + "count":32, + "type":"VEC3" + }, + { + "bufferView":17, + "componentType":5126, + "count":2, + "max":[ + 0.5333333333333333 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":18, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":19, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":20, + "componentType":5126, + "count":32, + "type":"VEC3" + }, + { + "bufferView":21, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":22, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":23, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":24, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":25, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":26, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":27, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":28, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":29, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":30, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":31, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":32, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":33, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":34, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":35, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":36, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":37, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":38, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":39, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":40, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":41, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":42, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":43, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":44, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":45, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":46, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":47, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":48, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":49, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":50, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":51, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":52, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":53, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":54, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":55, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":56, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":57, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":58, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":59, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":60, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":61, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":62, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":63, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":64, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":65, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":66, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":67, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":68, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":69, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":70, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":71, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":72, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":73, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":74, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":75, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":76, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":77, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":78, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":79, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":80, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":81, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":82, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":83, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":84, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":85, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":86, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":87, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":88, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":89, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":90, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":91, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":92, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":93, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":94, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":95, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":96, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":97, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":98, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":99, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":100, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":101, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":102, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":103, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":104, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":105, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":106, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":107, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":108, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":109, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":110, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":111, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":112, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":113, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":114, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":115, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":116, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":117, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":118, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":119, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":120, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":121, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":122, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":123, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":124, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":125, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":126, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":127, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":128, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":129, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":130, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":131, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":132, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":133, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":134, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":135, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":136, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":137, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":138, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":139, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":140, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":141, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":142, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":143, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":144, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":145, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":146, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":147, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":148, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":149, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":150, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":151, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":152, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":153, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":154, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":155, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":156, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":157, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":158, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":159, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":160, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":161, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":162, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":163, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":164, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":165, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":166, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":167, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":168, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":169, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":170, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":171, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":172, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":173, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":174, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":175, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":176, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":177, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":178, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":179, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":180, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":181, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":182, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":183, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":184, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":185, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":186, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":187, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":188, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":189, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":190, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":191, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":192, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":193, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":194, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":195, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":196, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":197, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":198, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":199, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":200, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":201, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":202, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":203, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":204, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":205, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":206, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":207, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":208, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":209, + "componentType":5126, + "count":32, + "type":"VEC4" + }, + { + "bufferView":210, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":211, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":212, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":213, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":214, + "componentType":5126, + "count":50, + "max":[ + 0.8333333333333334 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":215, + "componentType":5126, + "count":50, + "type":"VEC3" + }, + { + "bufferView":216, + "componentType":5126, + "count":2, + "max":[ + 0.8333333333333334 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":217, + "componentType":5126, + "count":50, + "type":"VEC3" + }, + { + "bufferView":218, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":219, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":220, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":221, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":222, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":223, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":224, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":225, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":226, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":227, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":228, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":229, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":230, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":231, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":232, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":233, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":234, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":235, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":236, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":237, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":238, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":239, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":240, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":241, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":242, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":243, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":244, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":245, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":246, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":247, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":248, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":249, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":250, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":251, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":252, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":253, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":254, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":255, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":256, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":257, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":258, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":259, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":260, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":261, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":262, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":263, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":264, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":265, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":266, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":267, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":268, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":269, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":270, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":271, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":272, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":273, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":274, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":275, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":276, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":277, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":278, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":279, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":280, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":281, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":282, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":283, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":284, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":285, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":286, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":287, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":288, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":289, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":290, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":291, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":292, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":293, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":294, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":295, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":296, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":297, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":298, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":299, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":300, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":301, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":302, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":303, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":304, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":305, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":306, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":307, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":308, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":309, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":310, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":311, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":312, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":313, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":314, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":315, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":316, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":317, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":318, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":319, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":320, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":321, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":322, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":323, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":324, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":325, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":326, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":327, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":328, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":329, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":330, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":331, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":332, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":333, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":334, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":335, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":336, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":337, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":338, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":339, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":340, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":341, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":342, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":343, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":344, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":345, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":346, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":347, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":348, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":349, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":350, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":351, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":352, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":353, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":354, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":355, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":356, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":357, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":358, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":359, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":360, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":361, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":362, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":363, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":364, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":365, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":366, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":367, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":368, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":369, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":370, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":371, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":372, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":373, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":374, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":375, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":376, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":377, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":378, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":379, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":380, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":381, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":382, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":383, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":384, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":385, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":386, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":387, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":388, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":389, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":390, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":391, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":392, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":393, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":394, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":395, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":396, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":397, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":398, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":399, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":400, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":401, + "componentType":5126, + "count":50, + "type":"VEC4" + }, + { + "bufferView":402, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":403, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":404, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":405, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":406, + "componentType":5126, + "count":54, + "max":[ + 0.9 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":407, + "componentType":5126, + "count":54, + "type":"VEC3" + }, + { + "bufferView":408, + "componentType":5126, + "count":2, + "max":[ + 0.9 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":409, + "componentType":5126, + "count":54, + "type":"VEC3" + }, + { + "bufferView":410, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":411, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":412, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":413, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":414, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":415, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":416, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":417, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":418, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":419, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":420, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":421, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":422, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":423, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":424, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":425, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":426, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":427, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":428, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":429, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":430, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":431, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":432, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":433, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":434, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":435, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":436, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":437, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":438, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":439, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":440, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":441, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":442, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":443, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":444, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":445, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":446, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":447, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":448, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":449, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":450, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":451, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":452, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":453, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":454, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":455, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":456, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":457, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":458, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":459, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":460, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":461, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":462, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":463, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":464, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":465, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":466, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":467, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":468, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":469, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":470, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":471, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":472, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":473, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":474, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":475, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":476, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":477, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":478, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":479, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":480, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":481, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":482, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":483, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":484, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":485, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":486, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":487, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":488, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":489, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":490, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":491, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":492, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":493, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":494, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":495, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":496, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":497, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":498, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":499, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":500, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":501, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":502, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":503, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":504, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":505, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":506, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":507, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":508, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":509, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":510, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":511, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":512, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":513, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":514, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":515, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":516, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":517, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":518, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":519, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":520, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":521, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":522, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":523, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":524, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":525, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":526, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":527, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":528, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":529, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":530, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":531, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":532, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":533, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":534, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":535, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":536, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":537, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":538, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":539, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":540, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":541, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":542, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":543, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":544, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":545, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":546, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":547, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":548, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":549, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":550, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":551, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":552, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":553, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":554, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":555, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":556, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":557, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":558, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":559, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":560, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":561, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":562, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":563, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":564, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":565, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":566, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":567, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":568, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":569, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":570, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":571, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":572, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":573, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":574, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":575, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":576, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":577, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":578, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":579, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":580, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":581, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":582, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":583, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":584, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":585, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":586, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":587, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":588, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":589, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":590, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":591, + "componentType":5126, + "count":54, + "type":"VEC4" + }, + { + "bufferView":592, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":593, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":594, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":595, + "componentType":5126, + "count":361, + "max":[ + 6.016666666666667 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":596, + "componentType":5126, + "count":361, + "type":"VEC3" + }, + { + "bufferView":597, + "componentType":5126, + "count":2, + "max":[ + 6.016666666666667 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":598, + "componentType":5126, + "count":361, + "type":"VEC3" + }, + { + "bufferView":599, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":600, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":601, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":602, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":603, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":604, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":605, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":606, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":607, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":608, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":609, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":610, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":611, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":612, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":613, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":614, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":615, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":616, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":617, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":618, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":619, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":620, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":621, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":622, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":623, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":624, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":625, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":626, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":627, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":628, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":629, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":630, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":631, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":632, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":633, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":634, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":635, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":636, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":637, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":638, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":639, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":640, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":641, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":642, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":643, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":644, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":645, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":646, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":647, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":648, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":649, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":650, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":651, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":652, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":653, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":654, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":655, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":656, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":657, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":658, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":659, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":660, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":661, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":662, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":663, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":664, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":665, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":666, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":667, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":668, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":669, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":670, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":671, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":672, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":673, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":674, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":675, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":676, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":677, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":678, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":679, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":680, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":681, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":682, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":683, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":684, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":685, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":686, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":687, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":688, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":689, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":690, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":691, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":692, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":693, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":694, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":695, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":696, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":697, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":698, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":699, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":700, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":701, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":702, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":703, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":704, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":705, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":706, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":707, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":708, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":709, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":710, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":711, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":712, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":713, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":714, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":715, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":716, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":717, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":718, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":719, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":720, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":721, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":722, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":723, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":724, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":725, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":726, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":727, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":728, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":729, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":730, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":731, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":732, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":733, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":734, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":735, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":736, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":737, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":738, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":739, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":740, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":741, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":742, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":743, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":744, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":745, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":746, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":747, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":748, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":749, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":750, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":751, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":752, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":753, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":754, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":755, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":756, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":757, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":758, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":759, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":760, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":761, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":762, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":763, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":764, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":765, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":766, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":767, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":768, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":769, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":770, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":771, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":772, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":773, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":774, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":775, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":776, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":777, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":778, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":779, + "componentType":5126, + "count":361, + "type":"VEC4" + }, + { + "bufferView":780, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":781, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":782, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":783, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":784, + "componentType":5126, + "count":58, + "max":[ + 0.9666666666666667 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":785, + "componentType":5126, + "count":58, + "type":"VEC3" + }, + { + "bufferView":786, + "componentType":5126, + "count":2, + "max":[ + 0.9666666666666667 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":787, + "componentType":5126, + "count":58, + "type":"VEC3" + }, + { + "bufferView":788, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":789, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":790, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":791, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":792, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":793, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":794, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":795, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":796, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":797, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":798, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":799, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":800, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":801, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":802, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":803, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":804, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":805, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":806, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":807, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":808, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":809, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":810, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":811, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":812, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":813, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":814, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":815, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":816, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":817, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":818, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":819, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":820, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":821, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":822, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":823, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":824, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":825, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":826, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":827, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":828, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":829, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":830, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":831, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":832, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":833, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":834, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":835, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":836, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":837, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":838, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":839, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":840, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":841, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":842, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":843, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":844, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":845, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":846, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":847, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":848, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":849, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":850, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":851, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":852, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":853, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":854, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":855, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":856, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":857, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":858, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":859, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":860, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":861, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":862, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":863, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":864, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":865, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":866, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":867, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":868, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":869, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":870, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":871, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":872, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":873, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":874, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":875, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":876, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":877, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":878, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":879, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":880, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":881, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":882, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":883, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":884, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":885, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":886, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":887, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":888, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":889, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":890, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":891, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":892, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":893, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":894, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":895, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":896, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":897, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":898, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":899, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":900, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":901, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":902, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":903, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":904, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":905, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":906, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":907, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":908, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":909, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":910, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":911, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":912, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":913, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":914, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":915, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":916, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":917, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":918, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":919, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":920, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":921, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":922, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":923, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":924, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":925, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":926, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":927, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":928, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":929, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":930, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":931, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":932, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":933, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":934, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":935, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":936, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":937, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":938, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":939, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":940, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":941, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":942, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":943, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":944, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":945, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":946, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":947, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":948, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":949, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":950, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":951, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":952, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":953, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":954, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":955, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":956, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":957, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":958, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":959, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":960, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":961, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":962, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":963, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":964, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":965, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":966, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":967, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":968, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":969, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":970, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":971, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":972, + "componentType":5126, + "count":58, + "type":"VEC4" + }, + { + "bufferView":973, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":974, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":975, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":976, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":977, + "componentType":5126, + "count":36, + "max":[ + 0.6 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":978, + "componentType":5126, + "count":36, + "type":"VEC3" + }, + { + "bufferView":979, + "componentType":5126, + "count":2, + "max":[ + 0.6 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":980, + "componentType":5126, + "count":36, + "type":"VEC3" + }, + { + "bufferView":981, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":982, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":983, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":984, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":985, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":986, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":987, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":988, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":989, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":990, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":991, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":992, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":993, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":994, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":995, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":996, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":997, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":998, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":999, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1000, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1001, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1002, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1003, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1004, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1005, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1006, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1007, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1008, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1009, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1010, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1011, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1012, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1013, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1014, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1015, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1016, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1017, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1018, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1019, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1020, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1021, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1022, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1023, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1024, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1025, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1026, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1027, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1028, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1029, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1030, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1031, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1032, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1033, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1034, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1035, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1036, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1037, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1038, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1039, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1040, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1041, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1042, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1043, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1044, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1045, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1046, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1047, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1048, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1049, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1050, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1051, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1052, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1053, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1054, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1055, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1056, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1057, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1058, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1059, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1060, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1061, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1062, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1063, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1064, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1065, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1066, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1067, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1068, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1069, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1070, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1071, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1072, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1073, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1074, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1075, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1076, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1077, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1078, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1079, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1080, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1081, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1082, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1083, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1084, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1085, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1086, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1087, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1088, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1089, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1090, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1091, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1092, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1093, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1094, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1095, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1096, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1097, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1098, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1099, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1100, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1101, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1102, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1103, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1104, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1105, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1106, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1107, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1108, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1109, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1110, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1111, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1112, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1113, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1114, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1115, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1116, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1117, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1118, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1119, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1120, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1121, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1122, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1123, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1124, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1125, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1126, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1127, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1128, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1129, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1130, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1131, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1132, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1133, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1134, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1135, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1136, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1137, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1138, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1139, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1140, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1141, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1142, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1143, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1144, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1145, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1146, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1147, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1148, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1149, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1150, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1151, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1152, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1153, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1154, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1155, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1156, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1157, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1158, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1159, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1160, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1161, + "componentType":5126, + "count":36, + "type":"VEC4" + }, + { + "bufferView":1162, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1163, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1164, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1165, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1166, + "componentType":5126, + "count":2, + "max":[ + 1 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":1167, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1168, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1169, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1170, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1171, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1172, + "componentType":5126, + "count":60, + "max":[ + 1 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":1173, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1174, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1175, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1176, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1177, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1178, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1179, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1180, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1181, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1182, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1183, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1184, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1185, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1186, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1187, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1188, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1189, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1190, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1191, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1192, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1193, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1194, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1195, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1196, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1197, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1198, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1199, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1200, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1201, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1202, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1203, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1204, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1205, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1206, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1207, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1208, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1209, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1210, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1211, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1212, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1213, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1214, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1215, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1216, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1217, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1218, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1219, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1220, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1221, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1222, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1223, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1224, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1225, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1226, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1227, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1228, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1229, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1230, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1231, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1232, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1233, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1234, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1235, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1236, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1237, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1238, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1239, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1240, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1241, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1242, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1243, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1244, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1245, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1246, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1247, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1248, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1249, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1250, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1251, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1252, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1253, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1254, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1255, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1256, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1257, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1258, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1259, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1260, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1261, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1262, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1263, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1264, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1265, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1266, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1267, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1268, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1269, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1270, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1271, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1272, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1273, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1274, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1275, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1276, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1277, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1278, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1279, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1280, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1281, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1282, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1283, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1284, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1285, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1286, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1287, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1288, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1289, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1290, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1291, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1292, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1293, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1294, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1295, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1296, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1297, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1298, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1299, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1300, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1301, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1302, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1303, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1304, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1305, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1306, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1307, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1308, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1309, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1310, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1311, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1312, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1313, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1314, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1315, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1316, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1317, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1318, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1319, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1320, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1321, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1322, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1323, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1324, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1325, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1326, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1327, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1328, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1329, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1330, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1331, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1332, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1333, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1334, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1335, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1336, + "componentType":5126, + "count":2, + "max":[ + 0.03333333333333333 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":1337, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1338, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1339, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1340, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1341, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1342, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1343, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1344, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1345, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1346, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1347, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1348, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1349, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1350, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1351, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1352, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1353, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1354, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1355, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1356, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1357, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1358, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1359, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1360, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1361, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1362, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1363, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1364, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1365, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1366, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1367, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1368, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1369, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1370, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1371, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1372, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1373, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1374, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1375, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1376, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1377, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1378, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1379, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1380, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1381, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1382, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1383, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1384, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1385, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1386, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1387, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1388, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1389, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1390, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1391, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1392, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1393, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1394, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1395, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1396, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1397, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1398, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1399, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1400, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1401, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1402, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1403, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1404, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1405, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1406, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1407, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1408, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1409, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1410, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1411, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1412, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1413, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1414, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1415, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1416, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1417, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1418, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1419, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1420, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1421, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1422, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1423, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1424, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1425, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1426, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1427, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1428, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1429, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1430, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1431, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1432, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1433, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1434, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1435, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1436, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1437, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1438, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1439, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1440, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1441, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1442, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1443, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1444, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1445, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1446, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1447, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1448, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1449, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1450, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1451, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1452, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1453, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1454, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1455, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1456, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1457, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1458, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1459, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1460, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1461, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1462, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1463, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1464, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1465, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1466, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1467, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1468, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1469, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1470, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1471, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1472, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1473, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1474, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1475, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1476, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1477, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1478, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1479, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1480, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1481, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1482, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1483, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1484, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1485, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1486, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1487, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1488, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1489, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1490, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1491, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1492, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1493, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1494, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1495, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1496, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1497, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1498, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1499, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1500, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1501, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1502, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1503, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1504, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1505, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1506, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1507, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1508, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1509, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1510, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1511, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1512, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1513, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1514, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1515, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1516, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1517, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1518, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1519, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1520, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1521, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1522, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1523, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1524, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1525, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1526, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1527, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1528, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1529, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1530, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1531, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1532, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1533, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1534, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1535, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1536, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1537, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1538, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1539, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1540, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1541, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1542, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1543, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1544, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1545, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1546, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1547, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1548, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1549, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1550, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1551, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1552, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1553, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1554, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1555, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1556, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1557, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1558, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1559, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1560, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1561, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1562, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1563, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1564, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1565, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1566, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1567, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1568, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1569, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1570, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1571, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1572, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1573, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1574, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1575, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1576, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1577, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1578, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1579, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1580, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1581, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1582, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1583, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1584, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1585, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1586, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1587, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1588, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1589, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1590, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1591, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1592, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1593, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1594, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1595, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1596, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1597, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1598, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1599, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1600, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1601, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1602, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1603, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1604, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1605, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1606, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1607, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1608, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1609, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1610, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1611, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1612, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1613, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1614, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1615, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1616, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1617, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1618, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1619, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1620, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1621, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1622, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1623, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1624, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1625, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1626, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1627, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1628, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":1629, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1630, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1631, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1632, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1633, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1634, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1635, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1636, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1637, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1638, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1639, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1640, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1641, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1642, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1643, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1644, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1645, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1646, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1647, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1648, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1649, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1650, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1651, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1652, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1653, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1654, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1655, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1656, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1657, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1658, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1659, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1660, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1661, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1662, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1663, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1664, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1665, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1666, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1667, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1668, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1669, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1670, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1671, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1672, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1673, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":1674, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":1675, + "componentType":5126, + "count":2, + "type":"VEC3" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":190812, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":190812, + "byteOffset":190812, + "target":34962 + }, + { + "buffer":0, + "byteLength":127208, + "byteOffset":381624, + "target":34962 + }, + { + "buffer":0, + "byteLength":254416, + "byteOffset":508832, + "target":34962 + }, + { + "buffer":0, + "byteLength":63604, + "byteOffset":763248, + "target":34962 + }, + { + "buffer":0, + "byteLength":254416, + "byteOffset":826852, + "target":34962 + }, + { + "buffer":0, + "byteLength":169632, + "byteOffset":1081268, + "target":34963 + }, + { + "buffer":0, + "byteLength":149676, + "byteOffset":1250900, + "target":34962 + }, + { + "buffer":0, + "byteLength":149676, + "byteOffset":1400576, + "target":34962 + }, + { + "buffer":0, + "byteLength":99784, + "byteOffset":1550252, + "target":34962 + }, + { + "buffer":0, + "byteLength":199568, + "byteOffset":1650036, + "target":34962 + }, + { + "buffer":0, + "byteLength":49892, + "byteOffset":1849604, + "target":34962 + }, + { + "buffer":0, + "byteLength":199568, + "byteOffset":1899496, + "target":34962 + }, + { + "buffer":0, + "byteLength":125040, + "byteOffset":2099064, + "target":34963 + }, + { + "buffer":0, + "byteLength":4224, + "byteOffset":2224104 + }, + { + "buffer":0, + "byteLength":128, + "byteOffset":2228328 + }, + { + "buffer":0, + "byteLength":384, + "byteOffset":2228456 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2228840 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2228848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2228880 + }, + { + "buffer":0, + "byteLength":384, + "byteOffset":2228904 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2229288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2229800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2229824 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2229848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2230360 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2230384 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2230408 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2230920 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2230944 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2230968 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2231480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2231504 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2231528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232040 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232064 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2232088 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232600 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232624 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2232648 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232680 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2232704 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2232728 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2233240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2233264 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2233288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2233800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2233824 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2233848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2234360 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2234384 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2234408 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2234920 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2234944 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2234968 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235000 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235024 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235048 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235080 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235104 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235128 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235160 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235184 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235264 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235320 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235344 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235368 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235400 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235424 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235448 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235504 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235560 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235584 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235608 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235640 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235664 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235688 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235720 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235744 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235768 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235824 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235880 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235904 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2235928 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235960 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2235984 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236008 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236040 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236064 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236088 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236120 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236144 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236168 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236200 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236224 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236248 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236280 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236304 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236328 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236360 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236384 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236408 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236440 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236464 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2236488 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236520 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2236544 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2236568 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2237080 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2237104 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2237128 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2237640 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2237664 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2237688 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238200 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238224 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2238248 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238760 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238784 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2238808 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238840 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238864 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2238888 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238920 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2238944 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2238968 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239000 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239024 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239048 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239080 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239104 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239128 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239160 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239184 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239264 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239320 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239344 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239368 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239400 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239424 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239448 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239504 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239560 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239584 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239608 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239640 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239664 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239688 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239720 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239744 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239776 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239800 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239824 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239856 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239880 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239904 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239936 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2239960 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2239984 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240016 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240040 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2240064 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240096 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240120 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2240144 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240176 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240200 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2240224 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240256 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240280 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2240304 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240336 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240360 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2240384 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2240920 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2240944 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2241456 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2241480 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2241504 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242016 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242040 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2242064 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242576 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242600 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2242624 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242656 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2242680 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2242704 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2243216 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2243240 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2243264 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2243776 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2243800 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2243824 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2244336 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2244360 + }, + { + "buffer":0, + "byteLength":512, + "byteOffset":2244384 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2244896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2244920 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2244944 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2244976 + }, + { + "buffer":0, + "byteLength":200, + "byteOffset":2245000 + }, + { + "buffer":0, + "byteLength":600, + "byteOffset":2245200 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2245800 + }, + { + "buffer":0, + "byteLength":600, + "byteOffset":2245808 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2246408 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2247208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2247232 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2247256 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2248056 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2248080 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2248104 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2248904 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2248928 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2248952 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2249752 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2249776 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2249800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2250600 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2250624 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2250648 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2251448 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2251472 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2251504 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2251528 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2251552 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2252352 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2252376 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2252400 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2253200 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2253224 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2253248 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2254048 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2254072 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2254096 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2254896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2254920 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2254944 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2255744 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2255768 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2256568 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2256592 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2256616 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2257416 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2257440 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2257464 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2257496 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2257520 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2257544 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2258344 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2258368 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2258392 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2259192 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2259216 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2259240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260040 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260064 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2260088 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260120 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260144 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2260168 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260968 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2260992 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2261016 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2261816 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2261840 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2261864 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2262664 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2262688 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2262712 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2262744 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2262768 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2262792 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2263592 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2263616 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2263640 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2264440 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2264464 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2264488 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2265288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2265312 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2265336 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2265368 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2265392 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2265416 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2266216 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2266240 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2266264 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2267064 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2267088 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2267112 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2267912 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2267936 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2267960 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2267992 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2268016 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2268040 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2268840 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2268864 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2268888 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2269688 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2269712 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2269736 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2270536 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2270560 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2270584 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2271384 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2271408 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2271432 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2272232 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2272256 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2272280 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2273080 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2273104 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2273128 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2273928 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2273952 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2273976 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2274008 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2274032 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2274056 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2274856 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2274880 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2275680 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2275704 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2275728 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2276528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2276552 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2276576 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2276608 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2276632 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2277432 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2277456 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2277480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2278280 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2278304 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2278328 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2279128 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2279152 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2279176 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2279208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2279232 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2279256 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2280056 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2280080 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2280104 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2280904 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2280928 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2280952 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2281752 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2281776 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2281800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2281832 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2281856 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2281880 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2282680 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2282704 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2282728 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2283528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2283552 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2283576 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2284376 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2284400 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2284424 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2284456 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2284480 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2284504 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2285304 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2285328 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2285352 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2286152 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2286176 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2286200 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2287000 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2287024 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2287048 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2287848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2287872 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2287896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2287928 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2287952 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2288752 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2288776 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2288800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2289600 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2289624 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2290424 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2290448 + }, + { + "buffer":0, + "byteLength":800, + "byteOffset":2290472 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2291272 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2291296 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2291320 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2291352 + }, + { + "buffer":0, + "byteLength":216, + "byteOffset":2291376 + }, + { + "buffer":0, + "byteLength":648, + "byteOffset":2291592 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2292240 + }, + { + "buffer":0, + "byteLength":648, + "byteOffset":2292248 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2292896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2293760 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2293784 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2293808 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2294672 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2294696 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2294720 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2295584 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2295608 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2296472 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2296496 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2296520 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2297384 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2297408 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2297432 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2298296 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2298320 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2298352 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2298376 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2299240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2299264 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2299288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2300152 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2300176 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2300200 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2301064 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2301088 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2301112 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2301976 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2302000 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2302024 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2302888 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2302912 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2302936 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2303800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2303824 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2303848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2304712 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2304736 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2304760 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2304792 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2304816 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2304840 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2305704 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2305728 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2305752 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2306616 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2306640 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2306664 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2307528 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2307552 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2307576 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2307608 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2307632 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2307656 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2308520 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2308544 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2308568 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2309432 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2309456 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2309480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2310344 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2310368 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2310392 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2310424 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2310448 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2310472 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2311336 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2311360 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2311384 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2312248 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2312272 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2312296 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313160 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313184 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2313208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313240 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313264 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2313288 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313320 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2313344 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2313368 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2314232 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2314256 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2314280 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2315144 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2315168 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2315192 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2315224 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2315248 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2315272 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2316136 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2316160 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2317024 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2317048 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2317072 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2317936 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2317960 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2317984 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2318848 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2318872 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2318896 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2319760 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2319784 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2319808 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2320672 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2320696 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2320720 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2321584 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2321608 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2321632 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2321664 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2321688 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2321712 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2322576 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2322600 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2323464 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2323488 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2323512 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2324376 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2324400 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2324424 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2324456 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2324480 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2325344 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2325368 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2325392 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2326256 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2326280 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2326304 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2327168 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2327192 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2327216 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2327248 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2327272 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2327296 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2328160 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2328184 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2328208 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2329072 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2329096 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2329120 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2329984 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2330008 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2330032 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2330064 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2330088 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2330112 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2330144 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2330168 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2330192 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2331056 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2331080 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2331104 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2331968 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2331992 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2332016 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2332048 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2332072 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2332096 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2332960 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2332984 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2333008 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2333872 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2333896 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2333920 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2334784 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2334808 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2334832 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2335696 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2335720 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2335744 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2335776 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2335800 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2336664 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2336688 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2336712 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2337576 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2337600 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2337624 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2338488 + }, + { + "buffer":0, + "byteLength":864, + "byteOffset":2338512 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2339376 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2339400 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2339424 + }, + { + "buffer":0, + "byteLength":1444, + "byteOffset":2339456 + }, + { + "buffer":0, + "byteLength":4332, + "byteOffset":2340900 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2345232 + }, + { + "buffer":0, + "byteLength":4332, + "byteOffset":2345240 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2349572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2355348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2355372 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2355396 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2361172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2361196 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2361220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2366996 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2367020 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2367044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2372820 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2372844 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2372868 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2378644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2378668 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2378692 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2384468 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2384492 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2384516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2384548 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2384572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2390348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2390372 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2390396 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2396172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2396196 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2396220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2401996 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2402020 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2402044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2407820 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2407844 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2407868 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2413644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2413668 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2413692 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2419468 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2419492 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2419524 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2419548 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2419572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2419604 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2419628 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2419652 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2425428 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2425452 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2425476 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431276 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2431300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431332 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431356 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2431380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431412 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2431436 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2431460 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2437236 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2437260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2443036 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2443060 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2443084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2443116 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2443140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2443172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2443196 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2443220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2448996 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2449020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2454796 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2454820 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2454844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2454876 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2454900 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2454932 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2454956 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2454980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455036 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2455060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455116 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2455140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455196 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2455220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2455276 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2455300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2461076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2461100 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2461124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2466900 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2466924 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2466948 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2472724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2472748 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2472772 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2478548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2478572 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2478596 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2484372 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2484396 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2484420 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2490196 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2490220 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2490244 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2490276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2490300 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2490324 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2490356 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2490380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2496156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2496180 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2496204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2501980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2502004 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2502028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2502060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2502084 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2502108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2502140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2502164 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2502188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2507964 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2507988 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2508012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2513788 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2513812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2513844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2513868 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2513892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2513924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2513948 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2513972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2519748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2519772 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2519796 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525596 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2525620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525652 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525676 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2525700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525732 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2525780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525836 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2525860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525916 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2525940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2525996 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2526020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2526052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2526076 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2526100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2531876 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2531900 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2537676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2537700 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2537724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2543500 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2543524 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2543548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2549324 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2549348 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2549372 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2549404 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2549428 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2549452 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2555228 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2555252 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2555276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2561052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2561076 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2561100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2566876 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2566900 + }, + { + "buffer":0, + "byteLength":5776, + "byteOffset":2566924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2572700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2572724 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2572748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2572780 + }, + { + "buffer":0, + "byteLength":232, + "byteOffset":2572804 + }, + { + "buffer":0, + "byteLength":696, + "byteOffset":2573036 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2573732 + }, + { + "buffer":0, + "byteLength":696, + "byteOffset":2573740 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2574436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2575364 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2575388 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2575412 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2576340 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2576364 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2576388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2577316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2577340 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2577364 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2578292 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2578316 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2578340 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2579268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2579292 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2579316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2580244 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2580268 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2580292 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2580324 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2580348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2581276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2581300 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2581324 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2582252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2582276 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2582300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2583228 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2583252 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2583276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2584204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2584228 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2584252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2585180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2585204 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2585228 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2586156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2586180 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2586204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2587132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2587156 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2587180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2587212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2587236 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2587260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2588188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2588212 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2588236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2589164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2589188 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2589212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2590140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2590164 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2590188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2590220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2590244 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2590268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2591196 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2591220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2592148 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2592172 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2592196 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2593124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2593148 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2593172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2593204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2593228 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2593252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2594180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2594204 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2594228 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2595156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2595180 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2595204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2596132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2596156 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2596180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2596212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2596236 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2596260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2597188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2597212 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2597236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2598164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2598188 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2598212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2599140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2599164 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2599188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2599220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2599244 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2599268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2600196 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2600220 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2600244 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2601172 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2601196 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2602124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2602148 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2602172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2603100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2603124 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2603148 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2604076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2604100 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2604124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2605052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2605076 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2605100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2606028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2606052 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2606076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2606108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2606132 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2606156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2607084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2607108 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2607132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2608060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2608084 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2608108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2609036 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2609060 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2609084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2609116 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2609140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2610068 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2610092 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2610116 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2611044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2611068 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2611092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2612020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2612044 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2612068 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2612100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2612124 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2612148 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2613076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2613100 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2613124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2614052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2614076 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2614100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2615028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2615052 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2615076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2615108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2615132 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2615156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2616084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2616108 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2616132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2617060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2617084 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2617108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2618036 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2618060 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2618084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2618116 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2618140 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2618164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2619092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2619116 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2619140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2620068 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2620092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2621020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2621044 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2621068 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2621996 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2622020 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2622044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2622076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2622100 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2622124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2623052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2623076 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2623100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2624028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2624052 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2624076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2625004 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2625028 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2625052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2625980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2626004 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2626028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2626060 + }, + { + "buffer":0, + "byteLength":144, + "byteOffset":2626084 + }, + { + "buffer":0, + "byteLength":432, + "byteOffset":2626228 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2626660 + }, + { + "buffer":0, + "byteLength":432, + "byteOffset":2626668 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2627100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2627676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2627700 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2627724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2628300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2628324 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2628348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2628924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2628948 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2628972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629004 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629028 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2629052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629108 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2629132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629708 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629732 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2629756 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2629788 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2629812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2630388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2630412 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2630436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2631012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2631036 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2631060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2631636 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2631660 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2631684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632284 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632308 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632340 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632364 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632420 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632444 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632468 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632500 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632524 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632580 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632604 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632636 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632660 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632716 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632740 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632764 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632796 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632820 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632876 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632900 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2632956 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2632980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633036 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633116 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633196 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633276 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633332 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633356 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633412 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633436 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633460 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633492 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633516 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633540 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633596 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633652 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633676 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633732 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2633780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2633812 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2633836 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2634412 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2634436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2635012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2635036 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2635060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2635636 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2635660 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2635684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636284 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2636308 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636884 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636908 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2636932 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636964 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2636988 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2637012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637068 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2637092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637124 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2637148 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637724 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2637748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637804 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2637828 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637884 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2637908 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2637940 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2637964 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638540 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638564 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2638588 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638644 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2638668 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638724 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2638748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2638804 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2638828 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639404 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639428 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639452 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639484 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639508 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639532 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639588 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639612 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639668 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639692 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639748 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639772 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639804 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639828 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639852 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639884 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639908 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2639932 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2639964 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2639988 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2640564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2640588 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2640612 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2641188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2641212 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2641236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2641812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2641836 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2641860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2642436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2642460 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2642484 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2642516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2642540 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2642564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2643140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2643164 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2643188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2643764 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2643788 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2643812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2644388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2644412 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":2644436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645036 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2645060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645092 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2645116 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645148 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2645172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2645228 + }, + { + "buffer":0, + "byteLength":240, + "byteOffset":2645252 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2645492 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2646452 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2646476 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2646500 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647460 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647484 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647540 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647596 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647620 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647700 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647836 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647916 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2647940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2647996 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648076 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648156 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648236 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648260 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648292 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648348 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648372 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648404 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648428 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648452 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648484 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648508 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648540 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648564 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648588 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648644 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648668 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648724 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648804 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648828 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648884 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648908 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2648964 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2648988 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649020 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649076 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649156 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649180 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649212 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649292 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649372 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649396 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649428 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649452 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649484 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649508 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649540 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649564 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649588 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649620 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649700 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649756 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649780 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649804 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649836 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649916 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2649940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2649996 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650076 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650132 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650188 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650244 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650300 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650324 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650356 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650412 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650468 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650492 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650572 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650596 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650628 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650652 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650708 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650732 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650764 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650788 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650868 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2650948 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2650972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651004 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651028 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651108 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651188 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651244 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651300 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651324 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651356 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651412 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651468 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651492 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651524 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651580 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651604 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651636 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651660 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651692 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651716 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651740 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":2651772 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651804 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651828 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651860 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651884 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651916 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2651940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2651996 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652052 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652108 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652164 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652244 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652324 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652404 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652428 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652460 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652484 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652508 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652540 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652564 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652588 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652644 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652668 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652700 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652836 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652916 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2652940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2652996 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653020 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653076 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653100 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653132 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653212 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653292 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653372 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653396 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653428 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653452 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653476 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653508 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653532 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653556 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653588 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653612 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653636 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653668 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653692 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653716 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653772 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653796 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653828 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653852 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653876 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653908 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653932 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2653956 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2653988 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654012 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654068 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654148 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654228 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654284 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654308 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654332 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654364 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654388 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654412 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654444 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654468 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654492 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654524 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654548 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654572 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654604 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654628 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654652 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654708 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654732 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654764 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654788 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654868 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2654948 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2654972 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655004 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655028 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655052 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655108 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655132 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655188 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655212 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655244 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655268 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655292 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655324 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655404 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655428 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655460 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655484 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655508 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655540 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655596 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655620 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655644 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655700 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655724 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655756 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655780 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655804 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655836 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655860 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655884 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655916 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655940 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2655964 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2655996 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656020 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656044 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656100 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656180 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656204 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656260 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656284 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656316 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656340 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656364 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656396 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656420 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656444 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656476 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656500 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656524 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656556 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656580 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656604 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656636 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656660 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2656684 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2656716 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2656740 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2657700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2657724 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2657748 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2658708 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2658732 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2658756 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659716 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659740 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2659764 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659796 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659820 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2659844 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659876 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659900 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2659924 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659956 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2659980 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660004 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660036 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660060 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660084 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660116 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660140 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660164 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660196 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660252 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660276 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660332 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660356 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660412 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660468 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660492 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660548 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660572 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660596 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660628 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660652 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660708 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660732 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660756 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660788 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660812 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660836 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660868 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660892 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660916 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660948 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2660972 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2660996 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661052 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2661076 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661132 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2661156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661212 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2661236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2661268 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2661292 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2662252 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2662276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2663236 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2663260 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2663284 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2664244 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2664268 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2664292 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665252 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2665276 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665308 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665332 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2665356 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665388 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665412 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2665436 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665468 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2665492 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2665516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666476 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2666500 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666532 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666556 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2666580 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666612 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666636 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2666660 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2666692 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2666716 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667676 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2667700 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667732 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2667780 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667812 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667836 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2667860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2667916 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2667940 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2668900 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2668924 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2668948 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2668980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669004 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669084 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669164 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669220 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669244 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669268 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669300 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669324 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669348 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669380 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669404 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669428 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669460 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669484 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669516 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669540 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669564 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669596 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669620 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669652 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669676 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669708 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669732 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669756 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669788 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669820 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669844 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669868 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669900 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669924 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2669948 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2669980 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2670004 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2670028 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2670060 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2670084 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":2670108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2670140 + } + ], + "buffers":[ + { + "byteLength":2670164, + "uri":"AL_Protagonist.bin" + } + ] +} diff --git a/Assets/Animations/AL_Protagonist.gltf.import b/Assets/Animations/AL_Protagonist.gltf.import new file mode 100644 index 0000000..650720d --- /dev/null +++ b/Assets/Animations/AL_Protagonist.gltf.import @@ -0,0 +1,18557 @@ +[remap] + +importer="animation_library" +importer_version=1 +type="AnimationLibrary" +uid="uid://0ld7i4obtkc0" +path="res://.godot/imported/AL_Protagonist.gltf-488a7b54edf81d3290ededfa3d186ca4.res" + +[deps] + +source_file="res://Assets/Animations/AL_Protagonist.gltf" +dest_files=["res://.godot/imported/AL_Protagonist.gltf-488a7b54edf81d3290ededfa3d186ca4.res"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"animations": { +"FastRun": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/FastRun.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://c36fdijdu6mef", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"JogForward": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/JogForward.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://dg8q1yovhugcd", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"RunForward": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/RunForward.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://dq8b1cfnufnsk", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"SliceTime_Aim_UpDown": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/SliceTime_Aim_UpDown.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://cwhmsum6yywpb", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"SliceTime_Ground_Aim_Angle": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Angle.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://dv64maqptxyjc", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"SliceTime_Ground_Enter": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Enter.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://2mtady60tgk0", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"SliceTime_Ground_Idle": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/SliceTime_Ground_Idle.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://w4q6qihfdeh6", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"StandIdle": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/StandIdle.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://xb7jjsbredql", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +}, +"WalkForward": { +"save_to_file/enabled": true, +"save_to_file/fallback_path": "res://Assets/Animations/AL_Protagonist/WalkForward.anim", +"save_to_file/keep_custom_tracks": true, +"save_to_file/path": "uid://bb27p74hoagsx", +"settings/loop_mode": 1, +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"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/fallback_path": "", +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +} +}, +"nodes": { +"PATH:Mixamo/Skeleton3D": { +"import/skip_import": true +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/Animations/AL_Protagonist/FastRun.anim b/Assets/Animations/AL_Protagonist/FastRun.anim new file mode 100644 index 0000000..6b7a135 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/FastRun.anim differ diff --git a/Assets/Animations/AL_Protagonist/JogForward.anim b/Assets/Animations/AL_Protagonist/JogForward.anim new file mode 100644 index 0000000..8ddec15 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/JogForward.anim differ diff --git a/Assets/Animations/AL_Protagonist/RunForward.anim b/Assets/Animations/AL_Protagonist/RunForward.anim new file mode 100644 index 0000000..365cb8f Binary files /dev/null and b/Assets/Animations/AL_Protagonist/RunForward.anim differ diff --git a/Assets/Animations/AL_Protagonist/SliceTime_Aim_UpDown.anim b/Assets/Animations/AL_Protagonist/SliceTime_Aim_UpDown.anim new file mode 100644 index 0000000..13daa59 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/SliceTime_Aim_UpDown.anim differ diff --git a/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Angle.anim b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Angle.anim new file mode 100644 index 0000000..7e51b4f Binary files /dev/null and b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Angle.anim differ diff --git a/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Enter.anim b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Enter.anim new file mode 100644 index 0000000..fb698a1 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Aim_Enter.anim differ diff --git a/Assets/Animations/AL_Protagonist/SliceTime_Ground_Enter.anim b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Enter.anim new file mode 100644 index 0000000..73a953e Binary files /dev/null and b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Enter.anim differ diff --git a/Assets/Animations/AL_Protagonist/SliceTime_Ground_Idle.anim b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Idle.anim new file mode 100644 index 0000000..a2bd54d Binary files /dev/null and b/Assets/Animations/AL_Protagonist/SliceTime_Ground_Idle.anim differ diff --git a/Assets/Animations/AL_Protagonist/StandIdle.anim b/Assets/Animations/AL_Protagonist/StandIdle.anim new file mode 100644 index 0000000..b671666 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/StandIdle.anim differ diff --git a/Assets/Animations/AL_Protagonist/WalkForward.anim b/Assets/Animations/AL_Protagonist/WalkForward.anim new file mode 100644 index 0000000..0a2a443 Binary files /dev/null and b/Assets/Animations/AL_Protagonist/WalkForward.anim differ diff --git a/Assets/Animations/AN_PlayerStateMachine.tres b/Assets/Animations/AN_PlayerStateMachine.tres new file mode 100644 index 0000000..fc309f5 --- /dev/null +++ b/Assets/Animations/AN_PlayerStateMachine.tres @@ -0,0 +1,157 @@ +[gd_resource type="AnimationNodeStateMachine" format=3 uid="uid://bpig32x87krbb"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_m5daq"] +animation = &"AL_Protagonist/SliceTime_Ground_Enter" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_pdsvv"] +animation = &"AL_Protagonist/SliceTime_Ground_Idle" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_m5daq"] +filter_enabled = true +filters = ["Mixamo/Skeleton3D:spine", "Mixamo/Skeleton3D:spine1", "Mixamo/Skeleton3D:spine2"] + +[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_pdsvv"] + +[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_yol58"] + +[sub_resource type="AnimationNodeTimeSeek" id="AnimationNodeTimeSeek_yol58"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_brslx"] +animation = &"AL_Protagonist/SliceTime_Ground_Aim_Angle" + +[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_c6kgd"] +filter_enabled = true +filters = ["Mixamo/Skeleton3D:arm.L", "Mixamo/Skeleton3D:arm.R", "Mixamo/Skeleton3D:forearm.L", "Mixamo/Skeleton3D:forearm.R", "Mixamo/Skeleton3D:hand.L", "Mixamo/Skeleton3D:hand.R", "Mixamo/Skeleton3D:handindex1.L", "Mixamo/Skeleton3D:handindex1.R", "Mixamo/Skeleton3D:handindex2.L", "Mixamo/Skeleton3D:handindex2.R", "Mixamo/Skeleton3D:handindex3.L", "Mixamo/Skeleton3D:handindex3.R", "Mixamo/Skeleton3D:handindex4.L", "Mixamo/Skeleton3D:handindex4.R", "Mixamo/Skeleton3D:handmiddle1.L", "Mixamo/Skeleton3D:handmiddle1.R", "Mixamo/Skeleton3D:handmiddle2.L", "Mixamo/Skeleton3D:handmiddle2.R", "Mixamo/Skeleton3D:handmiddle3.L", "Mixamo/Skeleton3D:handmiddle3.R", "Mixamo/Skeleton3D:handmiddle4.L", "Mixamo/Skeleton3D:handmiddle4.R", "Mixamo/Skeleton3D:handpinky1.L", "Mixamo/Skeleton3D:handpinky1.R", "Mixamo/Skeleton3D:handpinky2.L", "Mixamo/Skeleton3D:handpinky2.R", "Mixamo/Skeleton3D:handpinky3.L", "Mixamo/Skeleton3D:handpinky3.R", "Mixamo/Skeleton3D:handpinky4.L", "Mixamo/Skeleton3D:handpinky4.R", "Mixamo/Skeleton3D:handring1.L", "Mixamo/Skeleton3D:handring1.R", "Mixamo/Skeleton3D:handring2.L", "Mixamo/Skeleton3D:handring2.R", "Mixamo/Skeleton3D:handring3.L", "Mixamo/Skeleton3D:handring3.R", "Mixamo/Skeleton3D:handring4.L", "Mixamo/Skeleton3D:handring4.R", "Mixamo/Skeleton3D:handthumb1.L", "Mixamo/Skeleton3D:handthumb1.R", "Mixamo/Skeleton3D:handthumb2.L", "Mixamo/Skeleton3D:handthumb2.R", "Mixamo/Skeleton3D:handthumb3.L", "Mixamo/Skeleton3D:handthumb3.R", "Mixamo/Skeleton3D:handthumb4.L", "Mixamo/Skeleton3D:handthumb4.R", "Mixamo/Skeleton3D:shoulder.L", "Mixamo/Skeleton3D:shoulder.R"] + +[sub_resource type="AnimationNodeTimeSeek" id="AnimationNodeTimeSeek_brslx"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hwoy0"] +animation = &"AL_Protagonist/SliceTime_Aim_UpDown" + +[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_a4ggk"] +graph_offset = Vector2(-90.20443, 88.50985) +nodes/output/position = Vector2(1680, 346.66666) +nodes/TimeScale/node = SubResource("AnimationNodeTimeScale_yol58") +nodes/TimeScale/position = Vector2(1040, 400) +nodes/slice_time_pitch/node = SubResource("AnimationNodeTimeSeek_brslx") +nodes/slice_time_pitch/position = Vector2(853.3333, 400) +nodes/slice_time_pitch_animation/node = SubResource("AnimationNodeAnimation_hwoy0") +nodes/slice_time_pitch_animation/position = Vector2(506.66666, 400) +nodes/Animation/node = SubResource("AnimationNodeAnimation_pdsvv") +nodes/Animation/position = Vector2(853.3333, 186.66667) +nodes/Blend2/node = SubResource("AnimationNodeBlend2_m5daq") +nodes/Blend2/position = Vector2(1226.6666, 240) +nodes/slice_time_angle_blend/node = SubResource("AnimationNodeBlend2_c6kgd") +nodes/slice_time_angle_blend/position = Vector2(1440, 346.66666) +nodes/slice_time_angle_animation/node = SubResource("AnimationNodeAnimation_brslx") +nodes/slice_time_angle_animation/position = Vector2(640, 613.3333) +"nodes/TimeScale 2/node" = SubResource("AnimationNodeTimeScale_pdsvv") +"nodes/TimeScale 2/position" = Vector2(1226.6666, 560) +nodes/slice_time_angle/node = SubResource("AnimationNodeTimeSeek_yol58") +nodes/slice_time_angle/position = Vector2(1040, 613.3333) +node_connections = [&"output", 0, &"slice_time_angle_blend", &"TimeScale", 0, &"slice_time_pitch", &"slice_time_pitch", 0, &"slice_time_pitch_animation", &"Blend2", 0, &"Animation", &"Blend2", 1, &"TimeScale", &"slice_time_angle_blend", 0, &"Blend2", &"slice_time_angle_blend", 1, &"TimeScale 2", &"TimeScale 2", 0, &"slice_time_angle", &"slice_time_angle", 0, &"slice_time_angle_animation"] + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c6kgd"] +animation = &"AL_Protagonist/FastRun" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_yol58"] +animation = &"AL_Protagonist/JogForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a4ggk"] +animation = &"AL_Protagonist/RunForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_br8iv"] +animation = &"AL_Protagonist/WalkForward" + +[sub_resource type="AnimationNodeBlendSpace2D" id="AnimationNodeBlendSpace2D_c6kgd"] +blend_point_0/node = SubResource("AnimationNodeAnimation_c6kgd") +blend_point_0/pos = Vector2(0, 1) +blend_point_0/name = &"AL_Protagonist_FastRun" +blend_point_1/node = SubResource("AnimationNodeAnimation_yol58") +blend_point_1/pos = Vector2(1, 0) +blend_point_1/name = &"AL_Protagonist_JogForward" +blend_point_2/node = SubResource("AnimationNodeAnimation_a4ggk") +blend_point_2/pos = Vector2(0, -1) +blend_point_2/name = &"AL_Protagonist_RunForward" +blend_point_3/node = SubResource("AnimationNodeAnimation_br8iv") +blend_point_3/pos = Vector2(-1, 0) +blend_point_3/name = &"AL_Protagonist_WalkForward" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_c6kgd"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_br8iv"] +xfade_time = 0.1 +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_yol58"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_brslx"] + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hwoy0"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_c6kgd"] +state_machine_type = 2 +states/End/position = Vector2(777.6188, 87.209885) +states/Start/position = Vector2(170.66667, -21.33332) +states/slice_time_enter/node = SubResource("AnimationNodeAnimation_m5daq") +states/slice_time_enter/position = Vector2(442.0142, -21.185173) +states/slice_time_idle/node = SubResource("AnimationNodeBlendTree_a4ggk") +states/slice_time_idle/position = Vector2(441.64224, 87.11249) +states/slice_time_swing/node = SubResource("AnimationNodeBlendSpace2D_c6kgd") +states/slice_time_swing/position = Vector2(441.83017, 210.33333) +transitions = ["Start", "slice_time_enter", SubResource("AnimationNodeStateMachineTransition_c6kgd"), "slice_time_enter", "slice_time_idle", SubResource("AnimationNodeStateMachineTransition_br8iv"), "slice_time_idle", "End", SubResource("AnimationNodeStateMachineTransition_yol58"), "slice_time_idle", "slice_time_swing", SubResource("AnimationNodeStateMachineTransition_brslx"), "slice_time_swing", "slice_time_idle", SubResource("AnimationNodeStateMachineTransition_hwoy0")] +graph_offset = Vector2(-345, -43) + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2ddk3"] +animation = &"AL_Protagonist/JogForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_baibx"] +animation = &"AL_Protagonist/RunForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j3mgm"] +animation = &"AL_Protagonist/WalkForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tx82o"] +animation = &"AL_Protagonist/StandIdle" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cskv4"] +animation = &"AL_Protagonist/FastRun" + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_enbxg"] +min_space = 0.0 +sync_mode = 2 +blend_point_0/node = SubResource("AnimationNodeAnimation_2ddk3") +blend_point_0/pos = 0.4 +blend_point_0/name = &"JogForward" +blend_point_1/node = SubResource("AnimationNodeAnimation_baibx") +blend_point_1/pos = 0.7 +blend_point_1/name = &"RunForward" +blend_point_2/node = SubResource("AnimationNodeAnimation_j3mgm") +blend_point_2/pos = 0.1 +blend_point_2/name = &"Walk" +blend_point_3/node = SubResource("AnimationNodeAnimation_tx82o") +blend_point_3/pos = 0.0 +blend_point_3/name = &"StandIdle" +blend_point_4/node = SubResource("AnimationNodeAnimation_cskv4") +blend_point_4/pos = 1.0 +blend_point_4/name = &"FastRun" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vtyg2"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_m5daq"] +xfade_time = 0.05 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_pdsvv"] +xfade_time = 0.1 + +[resource] +states/slice_time/node = SubResource("AnimationNodeStateMachine_c6kgd") +states/slice_time/position = Vector2(466.7691, -11.666668) +states/walk/node = SubResource("AnimationNodeBlendSpace1D_enbxg") +states/walk/position = Vector2(466.0768, 99.98781) +transitions = ["Start", "walk", SubResource("AnimationNodeStateMachineTransition_vtyg2"), "walk", "slice_time", SubResource("AnimationNodeStateMachineTransition_m5daq"), "slice_time", "walk", SubResource("AnimationNodeStateMachineTransition_pdsvv")] +graph_offset = Vector2(-125, -120) diff --git a/Assets/Classes/Character3D.tscn b/Assets/Classes/Character3D.tscn new file mode 100644 index 0000000..cbd3198 --- /dev/null +++ b/Assets/Classes/Character3D.tscn @@ -0,0 +1,213 @@ +[gd_scene format=3 uid="uid://0lx4ngfees3q"] + +[ext_resource type="Material" uid="uid://cp2iyvxs5kx7e" path="res://Assets/Visuals/Materials/TestInternals/M_TestInternals_X.material" id="1_j4hkv"] +[ext_resource type="ArrayMesh" uid="uid://bio6w8k7th2hl" path="res://Assets/Visuals/Meshes/Mixamo/M_MixamoBot.mesh" id="1_q30x1"] +[ext_resource type="Skin" uid="uid://c05u3ucifnrbf" path="res://Assets/Visuals/Meshes/Mixamo/M_MixamoBot_Skin.res" id="2_5rrk6"] +[ext_resource type="Material" uid="uid://bws54cnypkiv5" path="res://Assets/Visuals/Materials/TestInternals/M_TestInternals_Y.material" id="2_n3aqr"] +[ext_resource type="Material" uid="uid://bo7tv8v1l0fae" path="res://Assets/Visuals/Materials/TestInternals/M_TestInternals_Z.material" id="3_yglml"] +[ext_resource type="PackedScene" uid="uid://gww8eh64wivh" path="res://Assets/Classes/CharacterSkeleton3D_Mixamo.tscn" id="4_5rrk6"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_6ql8e"] +radius = 0.28466797 +height = 1.8 + +[node name="Character3D" type="Character3D" unique_id=999352838 node_paths=PackedStringArray("character_skeleton")] +character_skeleton = NodePath("SK_Mixamo") +inner_materials = Array[Material]([ExtResource("1_j4hkv"), ExtResource("2_n3aqr"), ExtResource("3_yglml")]) +collision_layer = 32 +collision_mask = 4127 +axis_lock_angular_x = true +axis_lock_angular_z = true +slide_on_ceiling = false +wall_min_slide_angle = 0.0 +floor_block_on_wall = false +floor_max_angle = 1.134464 +floor_snap_length = 1.0 +platform_on_leave = 1 +platform_floor_layers = 15 + +[node name="SK_Mixamo" parent="." unique_id=581893179 instance=ExtResource("4_5rrk6")] + +[node name="Skeleton3D" parent="SK_Mixamo/Mixamo" parent_id_path=PackedInt32Array(581893179, 2043084189) index="0" unique_id=2131179153] +bones/1/rotation = Quaternion(0.7070774, -0.014512554, -0.053851094, 0.70493335) +bones/2/rotation = Quaternion(-0.06994802, 0.0033397526, 0.015703727, 0.9974215) +bones/3/rotation = Quaternion(0.020657148, 0.004828219, 0.027607745, 0.9993937) +bones/4/rotation = Quaternion(0.033533357, 0.005183548, 0.027543202, 0.9990446) +bones/5/rotation = Quaternion(-0.09092616, 0.0013580021, 0.0035546608, 0.99585044) +bones/6/rotation = Quaternion(0.037028432, 0.01514831, -0.043936312, 0.998233) +bones/8/rotation = Quaternion(0.5689832, 0.5034715, -0.53907186, 0.3635604) +bones/9/rotation = Quaternion(0.5121756, 0.20680031, 0.22299673, 0.8032324) +bones/10/rotation = Quaternion(0.00041285282, -0.0054894676, 0.07487302, 0.99717796) +bones/11/rotation = Quaternion(-0.10021837, -0.15261312, 0.15411322, 0.9710379) +bones/12/rotation = Quaternion(0.13139476, -0.068772115, -0.09848447, 0.98402584) +bones/13/rotation = Quaternion(0.11572104, 0.0037949113, -0.011323974, 0.99320996) +bones/16/rotation = Quaternion(0.10913105, -0.013618527, -0.05825219, 0.99222565) +bones/17/rotation = Quaternion(0.1839835, -0.00011634631, 0.00759299, 0.9829) +bones/20/rotation = Quaternion(0.29428992, 0.036763135, -0.06319124, 0.952916) +bones/21/rotation = Quaternion(0.19389318, -0.0009122426, 0.034089025, 0.98042977) +bones/24/rotation = Quaternion(0.23719214, 0.0015130005, -0.05232881, 0.9700513) +bones/25/rotation = Quaternion(0.16301115, -0.0016753589, 0.0064124707, 0.986602) +bones/32/rotation = Quaternion(-0.54132825, 0.5279593, -0.5441873, -0.36343208) +bones/33/rotation = Quaternion(0.49516356, -0.28254545, -0.20874529, 0.794611) +bones/34/rotation = Quaternion(0.0007105733, 0.007958211, -0.08885677, 0.9960124) +bones/35/rotation = Quaternion(-0.19940083, 0.25536585, -0.11320268, 0.93926185) +bones/36/rotation = Quaternion(0.10714945, 0.06486132, 0.06327172, 0.9901054) +bones/37/rotation = Quaternion(0.033671703, -0.0022612377, 0.005809159, 0.99941355) +bones/40/rotation = Quaternion(0.11921085, 0.007055906, 0.052995063, 0.9914285) +bones/41/rotation = Quaternion(0.09017588, 0.00050523, -0.0031689038, 0.9959208) +bones/44/rotation = Quaternion(0.19352928, -0.00703466, 0.033535603, 0.980496) +bones/45/rotation = Quaternion(0.10803804, 0.0074064597, -0.035549562, 0.9934834) +bones/48/rotation = Quaternion(0.17641634, 0.011210623, 0.033813037, 0.9836709) +bones/49/rotation = Quaternion(0.081244655, 0.0027819287, -0.004343866, 0.9966809) +bones/56/rotation = Quaternion(0.023963299, 0.13896492, 0.98709136, -0.07592902) +bones/57/rotation = Quaternion(-0.16623498, -0.00079989235, -0.0048006116, 0.9860742) +bones/58/rotation = Quaternion(0.42952615, -0.16164944, 0.041433524, 0.88750225) +bones/59/rotation = Quaternion(0.3344413, -0.021151507, 0.01833087, 0.9420009) +bones/61/rotation = Quaternion(-0.06011262, 0.033437554, 0.995919, -0.058428895) +bones/62/rotation = Quaternion(-0.11042191, -0.00011304428, 0.002122978, 0.9938826) +bones/63/rotation = Quaternion(0.49471012, 0.08229075, -0.06810121, 0.8624688) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="SK_Mixamo/Mixamo/Skeleton3D" index="0" unique_id=1316399456] +layers = 128 +mesh = ExtResource("1_q30x1") +skin = ExtResource("2_5rrk6") +skeleton = NodePath("..") + +[node name="Physical Bone hips" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="0" unique_id=1860743939] +transform = Transform3D(0.9937782, -0.09662614, -0.055391263, -0.05569287, -0.00042506048, -0.99844784, 0.096452616, 0.9953207, -0.005803803, -0.05551448, 1.0853629, 0.0038513746) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5904166e-05, 1.7952234e-06, 0.051956046) +body_offset = Transform3D(1.0000001, -6.7725778e-06, 1.4709076e-07, 1.5133992e-07, -8.749636e-05, -1.0000002, 6.787479e-06, 1, -8.754432e-05, -3.59118e-05, 0.051956058, 2.7529895e-06) + +[node name="Physical Bone spine1" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="1" unique_id=408345383] +transform = Transform3D(0.99703705, -0.07382387, 0.021617575, 0.028800925, 0.09767003, -0.99480206, 0.071328744, 0.99247706, 0.099506825, -0.05006896, 1.2805601, -0.014138946) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.774396e-05, 1.3048638e-05, 0.04662572) +body_offset = Transform3D(1, 0.0003511235, -2.0675361e-07, -9.080395e-08, -0.00017531961, -1.0000004, -0.0003511086, 1.0000002, -0.00017537922, -1.7738901e-05, 0.046625733, -4.865229e-06) + +[node name="Physical Bone neck" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="2" unique_id=1535717496] +transform = Transform3D(-0.9945854, 0.046706192, 0.09283587, -0.088870466, 0.08081231, -0.99275947, -0.053870294, -0.99563444, -0.07622394, -0.069372535, 1.5440956, -0.021342471) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.6787325e-05, -0.00019246526, 0.049544223) +body_offset = Transform3D(-0.99999964, -6.671995e-05, -0.000889149, 0.0008311132, 0.29108077, -0.9566984, 0.00032262132, -0.95669883, -0.29108065, -1.2747943e-05, 0.047454953, 0.014237255) + +[node name="Physical Bone head" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="3" unique_id=1485677274] +transform = Transform3D(-0.999204, 0.038511157, 0.010413321, 0.002015395, 0.3094185, -0.95092386, -0.039843254, -0.95014584, -0.30924985, -0.07508933, 1.7045408, 0.018526671) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.984281e-06, -0.00059915707, 0.11833329) +body_offset = Transform3D(-1.0000001, -5.7928264e-05, -2.9304065e-05, 7.841736e-07, 0.43962353, -0.8981827, 6.489828e-05, -0.89818245, -0.4396235, -5.5134296e-07, 0.10654831, 0.051483944) + +[node name="Physical Bone arm_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="4" unique_id=774724508] +transform = Transform3D(0.55336374, -0.79948944, -0.23367749, 0.13410552, -0.19137038, 0.9723132, -0.8220732, -0.56938034, 0.0013185183, 0.13083021, 1.2856593, -0.032589346) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00010087741, 0.0052500037, 0.14489613) +body_offset = Transform3D(0.9999218, 0.012489021, -0.0009824246, -0.001010001, 0.0022079481, -0.99999774, -0.012486845, 0.9999201, 0.0022203063, 0.00017765164, 0.14488411, -0.0055725574) + +[node name="Physical Bone forearm_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="5" unique_id=842109744] +transform = Transform3D(-0.80621654, -0.57305545, -0.14704546, -0.19036245, 0.015942292, 0.9815845, -0.56015813, 0.8193615, -0.12194119, 0.19006433, 1.0136222, -0.0306693) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0025715854, 0.016925486, 0.14391209) +body_offset = Transform3D(0.0122612715, -0.99992526, 0.00018530339, -0.0005366206, -0.00019212812, -1.0000005, 0.9999251, 0.012261242, -0.0005390644, 0.01686602, 0.14391679, -0.002701342) + +[node name="Physical Bone hand_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="6" unique_id=570185914] +transform = Transform3D(0.8224615, 0.56723833, -0.04240041, 0.3937558, -0.5139557, 0.76210636, 0.41050395, -0.64349854, -0.64606214, 0.20045856, 0.82956886, 0.034320503) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0027515392, -0.0017664213, 0.059115905) +body_offset = Transform3D(-0.22248574, 0.9450608, 0.23950297, 0.0024927706, 0.24621114, -0.9692137, -0.9749334, -0.21503894, -0.057134286, -0.011876881, 0.057724, 0.005680263) + +[node name="Physical Bone handring1_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="7" unique_id=289227335] +transform = Transform3D(0.34860373, -0.9088432, 0.22908399, -0.2984655, 0.12404957, 0.9463245, -0.8884784, -0.3982659, -0.2280142, 0.21984424, 0.7681776, 0.040389262) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0076710996, 0.0070526474, 0.025089921) +body_offset = Transform3D(0.99998206, 0.001893729, 0.005794272, 0.005793512, 0.0005544722, -0.99998385, -0.0018970668, 0.9999985, 0.00054350495, -0.007829696, 0.025041163, -0.007051721) + +[node name="Physical Bone handthumb1_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="8" unique_id=373471647] +transform = Transform3D(0.094879255, -0.9478813, 0.30416957, -0.62964183, 0.1795258, 0.75585824, -0.7710701, -0.26323316, -0.57979244, 0.16962495, 0.8504055, 0.052577876) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.01238505, -0.0018494526, 0.024488091) +body_offset = Transform3D(0.9999264, 0.0028759837, 0.011863083, 0.01186958, -0.002222702, -0.99992764, -0.0028494745, 0.9999939, -0.0022567213, -0.012669325, 0.024335206, 0.0019399952) + +[node name="Physical Bone arm_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="9" unique_id=1396695687] +transform = Transform3D(0.50606304, 0.85012525, 0.14555828, -0.19213931, -0.053403802, 0.97991353, 0.8408227, -0.52386546, 0.13631679, -0.22061527, 1.2620637, -0.060669944) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.018685877, 0.0030442153, 0.1431838) +body_offset = Transform3D(0.99993825, -0.010372788, 0.0040185153, 0.0040364936, 0.0017025471, -0.999991, 0.010365665, 0.9999448, 0.0017442033, 0.018140912, 0.14325273, -0.0031000972) + +[node name="Physical Bone forearm_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="10" unique_id=17461685] +transform = Transform3D(-0.85834384, 0.51042724, 0.05205699, 0.053403012, -0.012030676, 0.99850065, 0.5102882, 0.85983676, -0.016931895, -0.25389597, 0.98714954, -0.09347011) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.039249e-05, 0.0002501608, 0.14580911) +body_offset = Transform3D(0.010620207, 0.999943, 0.0012638029, 0.00033808127, 0.0012602229, -0.99999976, -0.9999436, 0.010620356, -0.00032476522, -0.00043463707, 0.14580876, 6.508827e-05) + +[node name="Physical Bone hand_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="11" unique_id=1629606064] +transform = Transform3D(0.88922334, -0.355134, 0.28837782, -0.4313167, -0.4407324, 0.7872236, -0.15247242, -0.82439965, -0.5450848, -0.27361828, 0.808637, -0.06299278) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0023779424, 0.00044483924, 0.05133775) +body_offset = Transform3D(-0.22854206, -0.94442815, -0.23627248, 0.0018606931, 0.24227172, -0.97020715, 0.9735323, -0.22217232, -0.053612363, 0.012006357, 0.04970491, 0.005166173) + +[node name="Physical Bone handring1_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="12" unique_id=2088621090] +transform = Transform3D(0.029276166, 0.9993374, 0.021627463, 0.2792285, -0.028951706, 0.95978814, 0.9597783, -0.022059914, -0.27989107, -0.295417, 0.747357, -0.0736915) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.068101e-05, 2.4088913e-06, 0.017609771) +body_offset = Transform3D(0.99995667, -0.00027059764, -0.009342611, -0.00934273, 0.00040178653, -0.99995685, 0.0002742838, 0.9999998, 0.0003992119, 0.00013384223, 0.017609298, -9.447336e-06) + +[node name="Physical Bone handthumb1_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="13" unique_id=135555111] +transform = Transform3D(-0.1986187, 0.9797615, -0.02486274, 0.5691736, 0.13596132, 0.8108983, 0.79786724, 0.14690834, -0.5846588, -0.25345334, 0.8139766, -0.042249538) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0014283787, 1.10513665e-05, 0.02259814) +body_offset = Transform3D(0.9999346, 0.0023916438, -0.011231631, -0.011228442, -0.0014522895, -0.9999366, -0.0024076626, 0.99999624, -0.0014252439, 0.0016820729, 0.022580683, 1.771748e-05) + +[node name="Physical Bone upleg_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="14" unique_id=923922514] +transform = Transform3D(-0.99579585, -0.05129463, -0.075891025, -0.08714643, 0.27531877, 0.95739496, -0.028214991, 0.95998365, -0.27863145, 0.036772594, 0.7613994, 0.0638543) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.000278073, -0.009256174, 0.21149088) +body_offset = Transform3D(0.99999976, 4.4703484e-07, -0.0009456044, -0.0009455718, 0.00046670437, -0.9999999, -4.284084e-08, 1, 0.0004669428, -7.8082085e-05, 0.21149546, 0.009157419) + +[node name="Physical Bone leg_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="15" unique_id=535849418] +transform = Transform3D(-0.9965199, -0.010636592, -0.082673535, -0.081990056, -0.05367246, 0.99518687, -0.015022688, 0.998502, 0.052613575, 0.07644388, 0.3137424, 0.10453981) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0028661678, 0.0035803071, 0.22435634) +body_offset = Transform3D(0.99991626, -0.012624778, 0.0029551238, 0.0029728748, 0.0013844781, -0.999995, 0.012620597, 0.99991953, 0.0014219284, -0.0034837276, 0.22434172, -0.0039352104) + +[node name="Physical Bone foot_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="16" unique_id=718743270] +transform = Transform3D(-0.9531683, 7.949591e-05, -0.30244064, -0.026195223, 0.99622035, 0.08281841, 0.30130407, 0.08686238, -0.9495635, 0.10320862, 0.04028795, 0.13123047) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00043513466, 0.04985817, 0.04070116) +body_offset = Transform3D(0.99999845, -0.00013178587, 0.0020099878, 0.0015563667, -0.5828936, -0.8125475, 0.0012786984, 0.8125493, -0.5828922, -0.0005103722, 0.06213296, -0.016788393) + +[node name="Physical Bone toebase_L" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="17" unique_id=224697510] +transform = Transform3D(-0.9445295, 0.00795163, 0.3283303, 0.014333452, 0.9997524, 0.017021602, -0.32811362, 0.020783512, -0.9444096, 0.1452908, 0.03389091, 0.23631652) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03245211, -0.031093447, 0.029969037) +body_offset = Transform3D(0.77255785, 6.886432e-05, -0.6349452, -0.63494515, -8.6406246e-05, -0.7725578, -0.00010805717, 1.0000006, -2.3115426e-05, -0.0060402974, 0.043755442, 0.031097667) + +[node name="Physical Bone upleg_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="18" unique_id=1622275105] +transform = Transform3D(-0.9751611, -0.21586475, -0.049633157, -0.06530561, 0.06608306, 0.9956748, -0.21165118, 0.9741845, -0.0785388, -0.130891, 0.7447027, -0.0018863864) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.092965e-05, -8.840744e-05, 0.22673883) +body_offset = Transform3D(0.9999999, 0.0006028712, 1.1101365e-06, 1.2144446e-06, -8.660555e-05, -1.0000001, -0.0006028861, 0.99999994, -8.6545944e-05, -9.112805e-05, 0.22673881, 0.00010808557) + +[node name="Physical Bone leg_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="19" unique_id=1771928892] +transform = Transform3D(-0.974692, -0.19960698, -0.10066115, -0.06922611, -0.15864956, 0.9849051, -0.21256378, 0.9669475, 0.14081644, -0.09676251, 0.30150002, -0.016631916) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00037728917, -0.00076461653, 0.23053569) +body_offset = Transform3D(0.9999986, 0.0016539991, -1.8650666e-05, -2.6091933e-05, 0.0045284033, -0.99999017, -0.0016538799, 0.99998856, 0.004528433, -0.00037172437, 0.23053688, -0.00027873367) + +[node name="Physical Bone foot_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="20" unique_id=928779467] +transform = Transform3D(-0.91475195, -0.030493675, 0.40286353, -0.0028341783, 0.9976074, 0.06907586, -0.40400597, 0.062045496, -0.91264975, -0.09905729, 0.036714476, 0.007474523) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.0072373e-05, 0.048926163, 0.061618242) +body_offset = Transform3D(0.9999963, 0.002702307, 1.1652708e-05, 0.0015845299, -0.58287257, -0.8125621, -0.00218907, 0.81255937, -0.58287466, -0.0001630038, 0.07858632, -0.0038396344) + +[node name="Physical Bone toebase_R" parent="SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(581893179, 1854161429) index="21" unique_id=535152855] +transform = Transform3D(-0.9487055, 0.025674168, -0.31511703, 0.03479, 0.9991222, -0.02333684, 0.31424126, -0.03310271, -0.9487659, -0.1404807, 0.03453047, 0.08814509) +collision_layer = 128 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.033251025, -0.031052781, 0.028545128) +body_offset = Transform3D(0.75228596, -2.841279e-05, 0.6588367, 0.6588367, -6.175414e-05, -0.7522862, 6.2096864e-05, 1.0000002, -2.7798116e-05, 0.006206818, 0.043379188, 0.031055646) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1453410389] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.89956665, 0) +shape = SubResource("CapsuleShape3D_6ql8e") +debug_color = Color(0.39215687, 0.78431374, 0, 1) + +[editable path="SK_Mixamo"] diff --git a/Assets/Classes/CharacterController.tscn5531323313.tmp b/Assets/Classes/CharacterController.tscn5531323313.tmp new file mode 100644 index 0000000..4c7abf4 --- /dev/null +++ b/Assets/Classes/CharacterController.tscn5531323313.tmp @@ -0,0 +1,287 @@ +[gd_scene format=3 uid="uid://0lx4ngfees3q"] + +[ext_resource type="PackedScene" uid="uid://cb4kbixfs5g4w" path="res://Assets/Mixamo.gltf" id="1_2ddk3"] +[ext_resource type="Script" uid="uid://couw105c3bde4" path="res://addons/godot_state_charts/state_chart.gd" id="1_wb1c3"] +[ext_resource type="InputResource" uid="uid://dji2q0ekqofcx" path="res://Input/camera_movement.tres" id="2_vtyg2"] +[ext_resource type="Script" uid="uid://jk2jm1g6q853" path="res://addons/godot_state_charts/compound_state.gd" id="3_2ddk3"] +[ext_resource type="Script" uid="uid://cytafq8i1y8qm" path="res://addons/godot_state_charts/atomic_state.gd" id="4_baibx"] +[ext_resource type="Script" uid="uid://cf1nsco3w0mf6" path="res://addons/godot_state_charts/transition.gd" id="6_j3mgm"] + +[sub_resource type="GDScript" id="GDScript_g15lx"] +script/source = "extends CharacterBody3D + +@export var _mesh : Node3D +@export var _animation_tree : AnimationTree +" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_2ddk3"] +animation = &"JogForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_baibx"] +animation = &"RunForward" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j3mgm"] +animation = &"Walk" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tx82o"] +animation = &"StandIdle" + +[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_enbxg"] +min_space = 0.0 +sync_mode = 2 +blend_point_0/node = SubResource("AnimationNodeAnimation_2ddk3") +blend_point_0/pos = 0.6 +blend_point_0/name = &"JogForward" +blend_point_1/node = SubResource("AnimationNodeAnimation_baibx") +blend_point_1/pos = 1.0 +blend_point_1/name = &"RunForward" +blend_point_2/node = SubResource("AnimationNodeAnimation_j3mgm") +blend_point_2/pos = 0.3 +blend_point_2/name = &"Walk" +blend_point_3/node = SubResource("AnimationNodeAnimation_tx82o") +blend_point_3/pos = 0.13 +blend_point_3/name = &"StandIdle" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vtyg2"] +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_fj36c"] +states/walk/node = SubResource("AnimationNodeBlendSpace1D_enbxg") +states/walk/position = Vector2(582, 120.329216) +transitions = ["Start", "walk", SubResource("AnimationNodeStateMachineTransition_vtyg2")] + +[sub_resource type="GDScript" id="GDScript_vtyg2"] +script/source = "extends Node3D + +@export var camera_input_resource : InputResource + + +func _ready() -> void: + InputHandler.add_input_resource(self, camera_input_resource) +" + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_6ql8e"] +radius = 0.2783203 + +[sub_resource type="GDScript" id="GDScript_6ql8e"] +script/source = "extends Node + +@export_category(\"Nodes\") +@export var _controlled_body : CharacterBody3D +@export var _camera_rotator_y : Node3D +@export var _state_chart : StateChart +@export var _animation_tree : AnimationTree + +@export_category(\"Input Settings\") +@export var _walk_reaction_speed : float = 1.0 + +@export_category(\"Input Resources\") +@export var _player_movement : InputResource + +var _target_movement_speed : float = 0.0 +var _current_movement_speed : float = 0.0 +var _root_motion_accumulator : Vector3 = Vector3.ZERO + +signal state_changed(StringName) + + +func _ready() -> void: + InputHandler.add_input_resource(self, _player_movement) + + +func _process(_delta:float) -> void: + _current_movement_speed = lerpf(_current_movement_speed, _target_movement_speed, _delta * _walk_reaction_speed) + _animation_tree[\"parameters/walk/blend_position\"] = _current_movement_speed + + _root_motion_accumulator += _animation_tree.get_root_motion_position() + +func _physics_process(_delta:float) -> void: + _controlled_body.set_velocity(_root_motion_accumulator / _delta) + _controlled_body.move_and_slide() + _root_motion_accumulator = Vector3.ZERO + + +func _on_movement_2d(_delta:float, _vector:Vector2): + _target_movement_speed = _vector.length_squared() + + +func _on_walking_state_entered() -> void: + emit_signal(\"state_changed\", \"walk\") + +func _on_walking_state_physics_processing(_delta:float) -> void: + if !_controlled_body.is_on_floor(): + _state_chart.call(\"send_event\", \"fall\") +" + +[node name="CharacterBody3D" type="CharacterBody3D" unique_id=513899147 node_paths=PackedStringArray("_mesh", "_animation_tree")] +script = SubResource("GDScript_g15lx") +_mesh = NodePath("Mixamo") +_animation_tree = NodePath("AnimationTree") + +[node name="Mixamo" parent="." unique_id=864303276 instance=ExtResource("1_2ddk3")] + +[node name="Skeleton3D" parent="Mixamo/Armature" parent_id_path=PackedInt32Array(864303276, 440462832) index="0" unique_id=1320078933] +bones/1/position = Vector3(0.04870448, 1.032008, 0.028295368) +bones/1/rotation = Quaternion(0.0038603812, -0.042781625, -0.02686718, 0.9987157) +bones/2/rotation = Quaternion(-0.07096221, 0.004199123, 0.015538491, 0.9973492) +bones/3/rotation = Quaternion(0.018365402, 0.006404549, 0.027779015, 0.99942493) +bones/4/rotation = Quaternion(0.03124219, 0.0067619453, 0.02769415, 0.99910533) +bones/5/rotation = Quaternion(-0.09391238, 0.0024459476, 0.00025220038, 0.9955775) +bones/6/position = Vector3(-9.210181e-09, 0.09341891, 0.028410409) +bones/6/rotation = Quaternion(0.030966053, 0.013115423, -0.040265556, 0.99862295) +bones/8/rotation = Quaternion(0.5692528, 0.50322324, -0.53913254, 0.36339208) +bones/9/rotation = Quaternion(0.5071702, 0.2261647, 0.19236062, 0.80908924) +bones/10/rotation = Quaternion(0.0002893699, -0.002175361, 0.13162343, 0.99129736) +bones/11/rotation = Quaternion(-0.11637703, -0.15321882, 0.118520975, 0.97413206) +bones/12/position = Vector3(-0.022598628, 0.0910931, 0.0051802346) +bones/12/rotation = Quaternion(0.12757003, -0.06862957, -0.09849325, 0.984538) +bones/13/rotation = Quaternion(0.11326781, 0.0038000888, -0.01111646, 0.9934951) +bones/14/rotation = Quaternion(2.2009235e-06, -1.6751927e-07, -6.63283e-05, 1) +bones/16/position = Vector3(-3.8366372e-07, 0.09533401, -4.4685564e-07) +bones/16/rotation = Quaternion(0.09561433, -0.0127436975, -0.059153922, 0.99357754) +bones/17/rotation = Quaternion(0.14413114, -2.6676324e-05, 0.0054576104, 0.98954356) +bones/18/rotation = Quaternion(-4.040993e-06, -1.6275888e-07, 2.0526211e-05, 1) +bones/20/position = Vector3(0.03806265, 0.08077777, 0.004868677) +bones/20/rotation = Quaternion(0.2557746, 0.040497564, -0.06891092, 0.9634265) +bones/21/rotation = Quaternion(0.15475252, -0.0008494721, 0.026853941, 0.98758787) +bones/22/rotation = Quaternion(8.52236e-06, 5.516414e-07, -6.652472e-05, 1) +bones/24/position = Vector3(0.01865083, 0.09104527, 0.0004301249) +bones/24/rotation = Quaternion(0.19702755, 0.004634122, -0.056227524, 0.9787733) +bones/25/rotation = Quaternion(0.12224227, -0.0012653368, 0.0022697877, 0.9924969) +bones/26/rotation = Quaternion(-4.033557e-06, -2.9809286e-07, -6.354228e-07, 1) +bones/28/position = Vector3(-0.026817447, 0.02466187, 0.015762206) +bones/28/rotation = Quaternion(0.21899925, -0.11900992, 0.12523858, 0.96030796) +bones/29/rotation = Quaternion(-0.05057509, 0.017804269, -0.10103139, 0.99343747) +bones/30/rotation = Quaternion(-0.0015304416, 0.0007451259, -0.006073877, 0.99998015) +bones/32/rotation = Quaternion(-0.5434131, 0.52665854, -0.54123205, -0.3666074) +bones/33/rotation = Quaternion(0.49145934, -0.29928944, -0.17875111, 0.79808617) +bones/34/position = Vector3(-9.903693e-08, 0.27841544, -1.116235e-07) +bones/34/rotation = Quaternion(0.0002243128, 0.0015434523, -0.143857, 0.9895973) +bones/35/position = Vector3(1.6371088e-07, 0.28328842, 1.3556392e-07) +bones/35/rotation = Quaternion(-0.20313145, 0.2536574, -0.08786419, 0.9416345) +bones/36/position = Vector3(0.022598363, 0.09108294, 0.005178664) +bones/36/rotation = Quaternion(0.0982438, 0.060115937, 0.06501357, 0.9912152) +bones/37/rotation = Quaternion(0.024330059, -0.0058166035, 0.0073140506, 0.9996603) +bones/38/rotation = Quaternion(1.0574793e-05, -1.8729077e-07, -8.8072324e-05, 1) +bones/40/position = Vector3(-2.4792166e-07, 0.095325135, 4.594313e-07) +bones/40/rotation = Quaternion(0.11668334, 0.00690057, 0.053179618, 0.9917204) +bones/41/rotation = Quaternion(0.08763589, 0.0004980627, -0.0029992005, 0.99614793) +bones/42/rotation = Quaternion(2.0195055e-06, -1.5769648e-07, -0.00032192204, 0.99999994) +bones/44/position = Vector3(-0.038062826, 0.08076688, 0.0048670825) +bones/44/rotation = Quaternion(0.19296765, -0.0071753766, 0.033997346, 0.98058975) +bones/45/rotation = Quaternion(0.10743011, 0.0074210684, -0.0354787, 0.99355173) +bones/46/rotation = Quaternion(5.616749e-06, -2.462882e-07, -0.0004968697, 0.9999999) +bones/48/position = Vector3(-0.018651353, 0.09103608, 0.00043070197) +bones/48/rotation = Quaternion(0.17583169, 0.011183629, 0.033857506, 0.98377424) +bones/49/rotation = Quaternion(0.080434814, 0.00278104, -0.004288758, 0.99674684) +bones/50/rotation = Quaternion(2.066391e-06, -8.3535085e-08, -0.00011254099, 1) +bones/52/position = Vector3(0.02681857, 0.02464834, 0.01573964) +bones/52/rotation = Quaternion(0.20387587, 0.15056956, -0.11117494, 0.960939) +bones/53/position = Vector3(3.5733688e-08, 0.041889846, -3.7099937e-08) +bones/53/rotation = Quaternion(-0.041160505, -0.009343234, 0.13904583, 0.9893861) +bones/54/position = Vector3(2.8207126e-10, 0.034163237, 1.5927924e-08) +bones/54/rotation = Quaternion(-0.0016655411, -0.00080757204, 0.0069194976, 0.9999744) +bones/56/rotation = Quaternion(0.023338497, 0.13932115, 0.98709935, -0.07536546) +bones/57/rotation = Quaternion(-0.16320044, -0.00086023705, -0.004683052, 0.9865815) +bones/58/rotation = Quaternion(0.42804745, -0.15841259, 0.038895346, 0.8889139) +bones/59/rotation = Quaternion(0.33653727, -0.024077026, 0.023762424, 0.94106245) +bones/61/rotation = Quaternion(-0.06063849, 0.031957228, 0.995892, -0.05916911) +bones/62/rotation = Quaternion(-0.10745853, -0.00017616706, 0.0019304121, 0.9942077) +bones/63/rotation = Quaternion(0.49414507, 0.08582836, -0.07049879, 0.8622553) +bones/64/rotation = Quaternion(0.35782322, -0.007803631, 0.006070163, 0.933737) + +[node name="AnimationTree" type="AnimationTree" parent="." unique_id=756651854] +root_node = NodePath("../Mixamo") +root_motion_track = NodePath("Armature/Skeleton3D:root") +tree_root = SubResource("AnimationNodeStateMachine_fj36c") +anim_player = NodePath("../Mixamo/AnimationPlayer") +parameters/walk/blend_position = 0.0 + +[node name="CameraGimbalY" type="Node3D" parent="." unique_id=635211592] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 1, 0) +script = SubResource("GDScript_vtyg2") +camera_input_resource = ExtResource("2_vtyg2") + +[node name="CameraGimbalX" type="Node3D" parent="CameraGimbalY" unique_id=1955443837] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 0) + +[node name="SpringArm3D" type="SpringArm3D" parent="CameraGimbalY/CameraGimbalX" unique_id=627807718] +spring_length = 2.0 + +[node name="Camera3D" type="Camera3D" parent="CameraGimbalY/CameraGimbalX/SpringArm3D" unique_id=1672233531] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1453410389] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +shape = SubResource("CapsuleShape3D_6ql8e") + +[node name="MovementHandler" type="Node" parent="." unique_id=886399808] +script = SubResource("GDScript_6ql8e") + +[node name="StandardMovementChart" type="Node" parent="MovementHandler" unique_id=1972958997] +script = ExtResource("1_wb1c3") +metadata/_custom_type_script = "uid://couw105c3bde4" + +[node name="Movement" type="Node" parent="MovementHandler/StandardMovementChart" unique_id=2027419101] +script = ExtResource("3_2ddk3") +initial_state = NodePath("Walking") + +[node name="Walking" type="Node" parent="MovementHandler/StandardMovementChart/Movement" unique_id=262207346] +script = ExtResource("4_baibx") + +[node name="OnFall" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Walking" unique_id=102593780] +script = ExtResource("6_j3mgm") +to = NodePath("../../Airborne/Falling") +event = &"fall" +delay_in_seconds = "0.0" + +[node name="OnJump" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Walking" unique_id=1120626685] +script = ExtResource("6_j3mgm") +to = NodePath("../../Airborne/Jumping") +event = &"jump" +delay_in_seconds = "0.0" + +[node name="Airborne" type="Node" parent="MovementHandler/StandardMovementChart/Movement" unique_id=1974316951] +script = ExtResource("3_2ddk3") +initial_state = NodePath("CoyoteTime") + +[node name="OnStopFalling" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne" unique_id=1177188765] +script = ExtResource("6_j3mgm") +to = NodePath("../../Walking") +event = &"stop_falling" +delay_in_seconds = "0.0" + +[node name="CoyoteTime" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne" unique_id=888564579] +script = ExtResource("4_baibx") + +[node name="OnCoyoteTimeJump" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne/CoyoteTime" unique_id=1777355782] +script = ExtResource("6_j3mgm") +to = NodePath("../../Jumping") +event = &"jump" +delay_in_seconds = "0.0" + +[node name="OnCoyoteTimeExpired" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne/CoyoteTime" unique_id=1678963496] +script = ExtResource("6_j3mgm") +to = NodePath("../../Falling") +delay_in_seconds = "0.125" + +[node name="Jumping" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne" unique_id=727713155] +script = ExtResource("4_baibx") + +[node name="OnStopJumping" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne/Jumping" unique_id=728514621] +script = ExtResource("6_j3mgm") +to = NodePath("../../CancelJump") +event = &"stop_jumping" +delay_in_seconds = "0.0" + +[node name="CancelJump" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne" unique_id=1518229692] +script = ExtResource("4_baibx") + +[node name="Falling" type="Node" parent="MovementHandler/StandardMovementChart/Movement/Airborne" unique_id=1731269645] +script = ExtResource("4_baibx") + +[node name="RootMotionView" type="RootMotionView" parent="." unique_id=345459633] +animation_path = NodePath("../AnimationTree") + +[connection signal="state_processing" from="MovementHandler/StandardMovementChart/Movement/Walking" to="." method="_on_walking_state_processing"] + +[editable path="Mixamo"] diff --git a/Assets/Classes/CharacterSkeleton3D_Mixamo.tscn b/Assets/Classes/CharacterSkeleton3D_Mixamo.tscn new file mode 100644 index 0000000..bb1993f --- /dev/null +++ b/Assets/Classes/CharacterSkeleton3D_Mixamo.tscn @@ -0,0 +1,641 @@ +[gd_scene format=3 uid="uid://gww8eh64wivh"] + +[ext_resource type="PackedScene" uid="uid://ctnpqtyc515fl" path="res://Assets/Visuals/Meshes/SK_Mixamo.gltf" id="1_qa653"] +[ext_resource type="AnimationLibrary" uid="uid://0ld7i4obtkc0" path="res://Assets/Animations/AL_Protagonist.gltf" id="3_2iuii"] +[ext_resource type="AnimationNodeStateMachine" uid="uid://bpig32x87krbb" path="res://Assets/Animations/AN_PlayerStateMachine.tres" id="4_amoep"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4y3nc"] +radius = 0.15429688 +height = 0.42913818 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_yr836"] +radius = 0.13769531 +height = 0.36584473 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_q30x1"] +radius = 0.057128906 +height = 0.14135742 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_k0htq"] +radius = 0.099609375 +height = 0.2748413 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_icpjv"] +radius = 0.040039063 +height = 0.4155441 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4me46"] +radius = 0.04345703 +height = 0.32166594 + +[sub_resource type="BoxShape3D" id="BoxShape3D_dfatx"] +size = Vector3(0.04650879, 0.09484863, 0.08987427) + +[sub_resource type="BoxShape3D" id="BoxShape3D_spxym"] +size = Vector3(0.074409485, 0.10257435, 0.03265381) + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_x0dm7"] +radius = 0.01171875 +height = 0.11545293 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_i24lk"] +radius = 0.080078125 +height = 0.4823442 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wjtln"] +radius = 0.05078125 +height = 0.44527814 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_5rrk6"] +radius = 0.047851563 +height = 0.1706543 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_5x108"] +radius = 0.03955078 +height = 0.093193054 + +[node name="SK_Mixamo" unique_id=581893179 node_paths=PackedStringArray("skeleton", "physical_bone_simulator", "animation_player", "animation_tree") instance=ExtResource("1_qa653")] +skeleton = NodePath("Mixamo/Skeleton3D") +physical_bone_simulator = NodePath("Mixamo/Skeleton3D/MixamoBoneSimulator3D") +animation_player = NodePath("AnimationPlayer") +animation_tree = NodePath("AnimationTree") + +[node name="Skeleton3D" parent="Mixamo" parent_id_path=PackedInt32Array(2043084189) index="0" unique_id=2131179153] +bones/0/position = Vector3(0, 0, 0.089654654) +bones/0/rotation = Quaternion(-0.7071068, 0, 0, 0.7071068) +bones/1/position = Vector3(-0.058356885, 0.08609957, 1.0334855) +bones/1/rotation = Quaternion(0.70827806, -0.011882236, -0.050825756, 0.70400125) +bones/1/scale = Vector3(1, 0.9999999, 1) +bones/2/position = Vector3(-8.851741e-09, 0.10182453, -3.216421e-08) +bones/2/rotation = Quaternion(-0.0706043, 0.0039044, 0.015635658, 0.9973743) +bones/2/scale = Vector3(1, 0.99999976, 0.9999999) +bones/3/position = Vector3(-1.8627124e-09, 0.100026615, -2.2584533e-08) +bones/3/rotation = Quaternion(0.019132715, 0.0056028906, 0.027869973, 0.9994127) +bones/3/scale = Vector3(1, 1, 0.9999999) +bones/4/position = Vector3(3.2596357e-09, 0.09322082, 1.3968298e-09) +bones/4/rotation = Quaternion(0.032009292, 0.0059615383, 0.027795447, 0.9990833) +bones/5/position = Vector3(-1.8585224e-09, 0.16865371, 1.0593786e-08) +bones/5/rotation = Quaternion(-0.092983015, 0.001831378, 0.0015760821, 0.99566483) +bones/5/scale = Vector3(1, 1.0000001, 1) +bones/6/position = Vector3(-8.759086e-09, 0.0934192, 0.028410407) +bones/6/rotation = Quaternion(0.033261772, 0.013710954, -0.041667406, 0.99848366) +bones/6/scale = Vector3(0.9999999, 0.99999976, 0.99999994) +bones/7/position = Vector3(1.2563641e-08, 0.20962809, 0.10122937) +bones/7/rotation = Quaternion(-2.984052e-08, -1.0914136e-10, -2.912814e-11, 1) +bones/8/position = Vector3(0.045704566, 0.1119572, -0.008066172) +bones/8/rotation = Quaternion(0.56936437, 0.50313056, -0.53909445, 0.36340207) +bones/8/scale = Vector3(1.0000001, 0.99999964, 0.99999994) +bones/9/position = Vector3(2.3326656e-09, 0.108377084, -1.3097345e-07) +bones/9/rotation = Quaternion(0.5086203, 0.21987213, 0.20160195, 0.80766225) +bones/10/position = Vector3(2.8767662e-09, 0.27841523, -2.7621638e-08) +bones/10/rotation = Quaternion(0.0004018579, -0.0034846996, 0.114413485, 0.99342704) +bones/10/scale = Vector3(0.99999976, 1, 0.99999994) +bones/11/position = Vector3(0.0004846491, 0.28328794, -4.555781e-08) +bones/11/rotation = Quaternion(-0.11359247, -0.15149562, 0.12645017, 0.9737332) +bones/11/scale = Vector3(0.99999994, 0.9999999, 0.99999994) +bones/12/position = Vector3(-0.022598557, 0.09109313, 0.005180251) +bones/12/rotation = Quaternion(0.13633189, -0.0689593, -0.098475955, 0.98334163) +bones/12/scale = Vector3(0.9999999, 1, 1) +bones/13/position = Vector3(2.5079752e-08, 0.03699996, -8.099823e-09) +bones/13/rotation = Quaternion(0.118278876, 0.0037897867, -0.011542369, 0.99290615) +bones/14/position = Vector3(2.8853058e-09, 0.028500019, -4.9475943e-09) +bones/14/rotation = Quaternion(2.209309e-06, -1.7543584e-07, -6.632458e-05, 1) +bones/14/scale = Vector3(0.99999994, 0.99999994, 1) +bones/15/position = Vector3(4.804211e-09, 0.027748553, -1.678536e-08) +bones/15/rotation = Quaternion(-4.3009936e-06, -0.00037743096, -1.308786e-05, 0.99999994) +bones/15/scale = Vector3(0.99999994, 1.0000001, 1) +bones/16/position = Vector3(-3.3538615e-07, 0.095333986, -5.288766e-07) +bones/16/rotation = Quaternion(0.102159455, -0.01316724, -0.058715556, 0.9929464) +bones/16/scale = Vector3(1, 0.9999999, 0.9999998) +bones/17/position = Vector3(-3.6724927e-08, 0.036999904, 4.158509e-09) +bones/17/rotation = Quaternion(0.16579874, -7.543099e-05, 0.0066181654, 0.9861375) +bones/17/scale = Vector3(0.9999998, 0.99999994, 0.9999998) +bones/18/position = Vector3(1.4748911e-08, 0.029499862, 2.3302274e-08) +bones/18/rotation = Quaternion(-4.0414616e-06, -1.7300357e-07, 2.0513638e-05, 1) +bones/19/position = Vector3(5.7923897e-09, 0.029528666, -4.4255257e-09) +bones/19/rotation = Quaternion(3.4740694e-08, -0.0010240097, 2.80101e-05, 0.99999946) +bones/20/position = Vector3(0.038062677, 0.08077782, 0.0048686024) +bones/20/rotation = Quaternion(0.2678809, 0.039309096, -0.06715509, 0.9603046) +bones/20/scale = Vector3(0.99999994, 1, 0.99999994) +bones/21/position = Vector3(-1.4533223e-08, 0.035999842, -1.5745405e-09) +bones/21/rotation = Quaternion(0.16704337, -0.0008688615, 0.029125536, 0.985519) +bones/21/scale = Vector3(0.99999994, 1, 0.99999994) +bones/22/position = Vector3(2.1203656e-08, 0.02100018, 4.670035e-09) +bones/22/rotation = Quaternion(8.52609e-06, 5.441907e-07, -6.6517154e-05, 1) +bones/23/position = Vector3(1.6791612e-08, 0.021255227, 4.8809667e-09) +bones/23/rotation = Quaternion(-3.0333463e-06, -0.00078399794, -0.00029599818, 0.9999997) +bones/24/position = Vector3(0.018650882, 0.09104536, 0.00043010572) +bones/24/rotation = Quaternion(0.2129237, 0.0033998417, -0.054704838, 0.9755303) +bones/24/scale = Vector3(1, 0.99999994, 1) +bones/25/position = Vector3(3.2392194e-08, 0.031500116, 4.7919713e-09) +bones/25/rotation = Quaternion(0.13834296, -0.0014271789, 0.0039039627, 0.99037576) +bones/25/scale = Vector3(1, 0.99999994, 0.99999994) +bones/26/position = Vector3(-1.604688e-08, 0.029499907, -8.841251e-09) +bones/26/rotation = Quaternion(-4.024244e-06, -2.878483e-07, -6.4287235e-07, 1) +bones/27/position = Vector3(-2.0126244e-07, 0.026443137, 1.15744406e-07) +bones/27/rotation = Quaternion(-1.371295e-08, 0.0004936792, 1.6481032e-05, 0.9999999) +bones/27/scale = Vector3(1.0000001, 1, 1.0000001) +bones/28/position = Vector3(-0.02681732, 0.024661893, 0.015762126) +bones/28/rotation = Quaternion(0.21899924, -0.11900992, 0.12523855, 0.96030796) +bones/28/scale = Vector3(0.99999976, 0.99999994, 0.99999994) +bones/29/position = Vector3(-4.020662e-08, 0.04187089, 2.5504505e-08) +bones/29/rotation = Quaternion(-0.050575048, 0.017804306, -0.101031415, 0.99343747) +bones/29/scale = Vector3(0.9999999, 1, 0.9999998) +bones/30/position = Vector3(-7.467925e-09, 0.034183923, 1.3375953e-08) +bones/30/rotation = Quaternion(-0.0015304143, 0.0007450988, -0.0060738944, 0.99998015) +bones/30/scale = Vector3(0.99999994, 0.9999999, 0.9999998) +bones/31/position = Vector3(-8.882289e-09, 0.025805749, -2.1536582e-07) +bones/31/rotation = Quaternion(0.005151135, 0.12268276, 0.04165192, 0.99155813) +bones/31/scale = Vector3(0.9999999, 1, 0.99999994) +bones/32/position = Vector3(-0.045699682, 0.11195878, -0.0080661625) +bones/32/rotation = Quaternion(-0.5414151, 0.5280325, -0.5432375, -0.36461535) +bones/32/scale = Vector3(1.0000001, 1.0000001, 1.0000001) +bones/33/position = Vector3(-5.806066e-09, 0.10838179, 2.3255842e-07) +bones/33/rotation = Quaternion(0.49030128, -0.29571646, -0.18937509, 0.7976802) +bones/33/scale = Vector3(0.99999994, 0.99999976, 1) +bones/34/position = Vector3(1.0226071e-07, 0.27841496, 2.203814e-08) +bones/34/rotation = Quaternion(0.00045989576, 0.0034897993, -0.13050589, 0.99144137) +bones/34/scale = Vector3(0.99999994, 1, 0.9999999) +bones/35/position = Vector3(-0.00048504368, 0.28328815, -5.073527e-07) +bones/35/rotation = Quaternion(-0.20532167, 0.2559044, -0.09014803, 0.94033474) +bones/35/scale = Vector3(0.99999994, 0.99999994, 1) +bones/36/position = Vector3(0.022598365, 0.09108285, 0.005178636) +bones/36/rotation = Quaternion(0.10048524, 0.062368862, 0.06452696, 0.99088305) +bones/36/scale = Vector3(0.9999999, 1, 1) +bones/37/position = Vector3(2.2089692e-08, 0.036999907, -3.535067e-08) +bones/37/rotation = Quaternion(0.026766011, -0.0046567186, 0.0067873076, 0.9996079) +bones/37/scale = Vector3(1, 0.9999999, 1) +bones/38/position = Vector3(-1.6874497e-09, 0.028500082, -1.8520076e-08) +bones/38/rotation = Quaternion(1.057526e-05, -1.8717313e-07, -8.806781e-05, 1) +bones/38/scale = Vector3(0.99999994, 1, 0.99999994) +bones/39/position = Vector3(-1.9227809e-08, 0.027721822, -1.2968293e-08) +bones/39/rotation = Quaternion(-4.386794e-06, 0.0010028135, 8.707248e-05, 0.9999996) +bones/40/position = Vector3(-2.4610125e-07, 0.09532506, 4.9284534e-07) +bones/40/rotation = Quaternion(0.11829842, 0.006999768, 0.053061735, 0.99153465) +bones/40/scale = Vector3(1, 1, 0.99999994) +bones/41/position = Vector3(-1.0900695e-08, 0.037000187, -2.0208134e-08) +bones/41/rotation = Quaternion(0.08925901, 0.0005026954, -0.0031076893, 0.9960035) +bones/42/position = Vector3(1.5653953e-08, 0.029499857, -5.169632e-09) +bones/42/rotation = Quaternion(2.0190398e-06, -1.5815719e-07, -0.00032192675, 0.99999994) +bones/42/scale = Vector3(1, 1, 1) +bones/43/position = Vector3(1.9108832e-09, 0.029466266, -2.712827e-08) +bones/43/rotation = Quaternion(-4.1979756e-06, 0.0009290359, 0.00016655988, 0.99999964) +bones/44/position = Vector3(-0.038062833, 0.080766805, 0.0048670806) +bones/44/rotation = Quaternion(0.19326307, -0.007094818, 0.033721592, 0.98054165) +bones/44/scale = Vector3(1, 1.0000001, 0.99999994) +bones/45/position = Vector3(1.23004265e-08, 0.036000095, -2.9337698e-08) +bones/45/rotation = Quaternion(0.107637, 0.0074160947, -0.035502825, 0.99352854) +bones/45/scale = Vector3(0.99999994, 1, 1) +bones/46/position = Vector3(8.506417e-09, 0.020999825, 9.331586e-09) +bones/46/rotation = Quaternion(5.6120934e-06, -2.444159e-07, -0.00049687136, 0.9999999) +bones/46/scale = Vector3(1, 0.99999994, 1) +bones/47/position = Vector3(-1.4560314e-08, 0.021157794, -4.0995666e-08) +bones/47/rotation = Quaternion(-5.5761384e-06, 0.0015697555, -4.1196545e-05, 0.99999887) +bones/47/scale = Vector3(1, 1, 1) +bones/48/position = Vector3(-0.018651364, 0.091035984, 0.00043079563) +bones/48/rotation = Quaternion(0.17603065, 0.011192819, 0.033842362, 0.98373914) +bones/48/scale = Vector3(1, 1, 0.99999994) +bones/49/position = Vector3(3.7825625e-08, 0.033792708, -5.9618177e-10) +bones/49/rotation = Quaternion(0.08095548, 0.0027816559, -0.004324184, 0.99670446) +bones/49/scale = Vector3(0.9999999, 0.99999994, 0.9999999) +bones/50/position = Vector3(-2.9921832e-08, 0.028896859, -3.759542e-08) +bones/50/rotation = Quaternion(2.0668563e-06, -8.539611e-08, -0.00011253588, 1) +bones/50/scale = Vector3(1, 0.99999994, 1) +bones/51/position = Vector3(2.7525138e-08, 0.026388101, 4.3984073e-08) +bones/51/rotation = Quaternion(1.1578191e-07, 0.0001460285, -0.00079960865, 0.99999976) +bones/51/scale = Vector3(1, 0.99999994, 0.99999994) +bones/52/position = Vector3(0.026818532, 0.024648223, 0.015739707) +bones/52/rotation = Quaternion(0.20387587, 0.15056951, -0.11117495, 0.9609389) +bones/52/scale = Vector3(0.9999999, 0.9999999, 0.99999994) +bones/53/position = Vector3(-5.0060308e-08, 0.041889705, -2.6695133e-08) +bones/53/rotation = Quaternion(-0.04116048, -0.009343226, 0.13904576, 0.9893861) +bones/53/scale = Vector3(0.99999994, 0.99999994, 0.9999999) +bones/54/position = Vector3(2.9542079e-08, 0.034163117, 1.8592061e-08) +bones/54/rotation = Quaternion(-0.0016655417, -0.0008075824, 0.0069194944, 0.9999744) +bones/54/scale = Vector3(0.99999994, 1.0000002, 1.0000001) +bones/55/position = Vector3(5.9485714e-09, 0.025749868, -2.5553248e-09) +bones/55/rotation = Quaternion(0.0057759075, -0.117509745, -0.04874413, 0.991858) +bones/55/scale = Vector3(1.0000001, 1, 1) +bones/56/position = Vector3(0.08207823, -0.06771745, -0.015122145) +bones/56/rotation = Quaternion(0.023270022, 0.13941242, 0.98703986, -0.07599433) +bones/56/scale = Vector3(1, 0.99999994, 1) +bones/57/position = Vector3(-3.127315e-09, 0.4437138, -9.952956e-09) +bones/57/rotation = Quaternion(-0.16422221, -0.0008433047, -0.004724008, 0.98641175) +bones/57/scale = Vector3(0.99999994, 0.99999994, 0.9999999) +bones/58/position = Vector3(6.928858e-09, 0.44527873, 3.6088863e-08) +bones/58/rotation = Quaternion(0.4285666, -0.15917952, 0.03985268, 0.8884843) +bones/58/scale = Vector3(0.99999994, 0.99999994, 0.9999999) +bones/59/position = Vector3(-5.7453087e-09, 0.13816865, 6.3026095e-09) +bones/59/rotation = Quaternion(0.33826002, -0.029324781, 0.02482122, 0.9402682) +bones/59/scale = Vector3(0.99999994, 0.9999999, 0.9999998) +bones/60/position = Vector3(-9.906608e-09, 0.092781335, 1.0386521e-08) +bones/60/rotation = Quaternion(4.6417186e-09, -0.011869152, 8.255832e-09, 0.99992955) +bones/61/position = Vector3(-0.08207754, -0.06771788, -0.015122214) +bones/61/rotation = Quaternion(-0.060455423, 0.0319302, 0.9959162, -0.058963858) +bones/61/scale = Vector3(1, 1, 1) +bones/62/position = Vector3(1.5699495e-08, 0.4437147, 6.315939e-09) +bones/62/rotation = Quaternion(-0.10711931, -0.00016611443, 0.0019243951, 0.9942444) +bones/62/scale = Vector3(1.0000001, 0.9999998, 0.9999999) +bones/63/position = Vector3(-2.2911077e-08, 0.4452781, -2.2307956e-08) +bones/63/rotation = Quaternion(0.49397734, 0.084912054, -0.06979252, 0.86249954) +bones/63/scale = Vector3(0.99999994, 1, 1) +bones/64/position = Vector3(-1.7111994e-08, 0.13816942, 5.996891e-07) +bones/64/rotation = Quaternion(0.3578233, -0.007803632, 0.006070155, 0.93373704) +bones/64/scale = Vector3(1, 0.9999999, 1.0000001) +bones/65/position = Vector3(-1.2513741e-09, 0.0927812, 1.4142361e-09) +bones/65/rotation = Quaternion(-2.2726141e-08, 0.011608129, 7.0807347e-09, 0.99993265) +bones/65/scale = Vector3(0.99999994, 0.99999994, 1) + +[node name="MixamoBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="Mixamo/Skeleton3D" index="0" unique_id=1854161429] + +[node name="Physical Bone hips" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="0" unique_id=1860743939] +transform = Transform3D(0.9945506, -0.08873848, -0.0547233, -0.05526736, -0.0036838425, -0.9984648, 0.088400654, 0.99604815, -0.008568109, -0.055549804, 1.0853395, 0.0039952276) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5138168e-05, 1.7115169e-06, 0.05193173) +body_offset = Transform3D(1, -6.042421e-06, -2.3515895e-08, -2.0430889e-08, -8.63336e-05, -1.0000001, 6.0349703e-06, 0.9999999, -8.6349435e-05, -3.5136938e-05, 0.05193174, 2.7725473e-06) +bone_name = "hips" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone hips" index="0" unique_id=1851287103] +transform = Transform3D(1.0000015, 1.3253884e-07, 8.195639e-08, -2.0861626e-07, -8.8475645e-09, 1.0000073, 2.0771404e-07, -1.0000024, -4.4703484e-08, 0.0014547829, -0.00090056844, 0.010923147) +shape = SubResource("CapsuleShape3D_4y3nc") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone spine1" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="1" unique_id=408345383] +transform = Transform3D(0.9977271, -0.06326722, 0.02319415, 0.029384244, 0.09873522, -0.9946798, 0.060640547, 0.9931005, 0.10036986, -0.05037238, 1.2805384, -0.013731137) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7483919e-05, 1.2890694e-05, 0.046579704) +body_offset = Transform3D(1, 0.00035230815, -2.8172508e-07, -1.6577542e-07, -0.000176467, -1.0000004, -0.00035231188, 1.0000002, -0.0001764819, -1.7475337e-05, 0.04657972, -4.6640635e-06) +bone_name = "spine1" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone spine1" index="0" unique_id=913992169] +transform = Transform3D(1.0000017, 1.2107193e-07, 1.7881393e-07, -5.9604645e-08, -5.2154064e-08, 1.0000038, 1.4994293e-07, -1.0000049, -6.556511e-07, -0.008137435, 0.0062363, -0.050394416) +shape = SubResource("CapsuleShape3D_yr836") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone neck" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="2" unique_id=1535717496] +transform = Transform3D(-0.9954736, 0.03482793, 0.08842654, -0.08572888, 0.07253764, -0.9936745, -0.041021872, -0.9967574, -0.06922355, -0.06973286, 1.5440686, -0.021877749) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.9798127e-05, -0.00019098166, 0.049492158) +body_offset = Transform3D(-0.9999996, -7.704273e-05, -0.00091949315, 0.0008571325, 0.2911258, -0.9566848, 0.00034139678, -0.956685, -0.29112568, -1.4305115e-05, 0.04740405, 0.014225751) +bone_name = "neck" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone neck" index="0" unique_id=760729309] +transform = Transform3D(0.9999732, -0.004666389, 0.005031716, -0.00503207, -7.019192e-05, 0.99998707, -0.004665917, -0.9999892, -9.357929e-05, -0.0035126358, -0.0067253187, -0.009511113) +shape = SubResource("CapsuleShape3D_q30x1") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone head" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="3" unique_id=1485677274] +transform = Transform3D(-0.9995496, 0.028767657, 0.008541576, 0.0003030381, 0.2942961, -0.9557143, -0.030007409, -0.9552813, -0.29417223, -0.07502399, 1.7050968, 0.015841976) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.51754e-06, -0.00060036033, 0.1182569) +body_offset = Transform3D(-1.0000001, -6.3801184e-05, -3.2035634e-05, 6.724149e-07, 0.43957588, -0.8982062, 7.1398914e-05, -0.8982058, -0.4395758, -7.674098e-07, 0.10648298, 0.05144362) +bone_name = "head" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone head" index="0" unique_id=26758776] +transform = Transform3D(0.9997962, 0.018793106, -0.0067698136, -0.012119956, 0.84012836, 0.5422548, 0.015878238, -0.542064, 0.840188, 0.00060372986, 0.0059717596, 0.030230165) +shape = SubResource("CapsuleShape3D_k0htq") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone arm_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="4" unique_id=774724508] +transform = Transform3D(0.5303501, -0.8079249, -0.25687772, 0.1799864, -0.1887915, 0.96538216, -0.82845265, -0.558225, 0.04528991, 0.13355032, 1.2866251, -0.040758587) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.539022e-05, 0.005249361, 0.14487307) +body_offset = Transform3D(0.9999229, 0.0123972595, -0.0010092556, -0.0010368638, 0.0022157636, -0.99999744, -0.012395203, 0.99992096, 0.002228478, 0.00017651916, 0.14486098, -0.0055729747) +bone_name = "arm.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone arm_L" index="0" unique_id=1630702100] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_icpjv") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone forearm_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="5" unique_id=842109744] +transform = Transform3D(-0.8121729, -0.5689753, -0.12900509, -0.18856005, 0.04674367, 0.9809486, -0.55210537, 0.82102513, -0.14524996, 0.19318283, 1.015128, -0.04133159) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0025783656, 0.016911104, 0.14383821) +body_offset = Transform3D(0.012139708, -0.9999268, 0.00014780462, -0.0005467534, -0.00015445799, -1.0000004, 0.9999265, 0.012139767, -0.00054861605, 0.016857304, 0.14384228, -0.0027045608) +bone_name = "forearm.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone forearm_L" index="0" unique_id=704093935] +transform = Transform3D(0.9999998, 1.4901161e-08, -1.2814999e-06, 8.34465e-07, -2.5331974e-07, 1, 7.450581e-09, -1.0000008, 4.4703484e-08, 0.0023857355, 0.01821693, 0.0026687384) +shape = SubResource("CapsuleShape3D_4me46") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone hand_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="6" unique_id=570185914] +transform = Transform3D(0.82079667, 0.56598383, -0.077169746, 0.41040254, -0.4903404, 0.7688537, 0.39731938, -0.6627432, -0.63475096, 0.20318174, 0.8312186, 0.026277084) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0027482705, -0.0017660066, 0.059088673) +body_offset = Transform3D(-0.22249728, 0.9450607, 0.23949155, 0.0024702996, 0.24619487, -0.9692176, -0.97493064, -0.21505678, -0.05711232, -0.011870772, 0.057697773, 0.005674273) +bone_name = "hand.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone hand_L" index="0" unique_id=1486550316] +transform = Transform3D(0.9155292, -0.13074967, -0.3804088, 0.40130872, 0.23217854, 0.88602734, -0.027524978, -0.96384525, 0.2650372, -0.0017858744, 0.017058343, 0.0016509295) +shape = SubResource("BoxShape3D_dfatx") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handring1_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="7" unique_id=289227335] +transform = Transform3D(0.3373575, -0.9292119, 0.15084773, -0.27274045, 0.056890942, 0.9604041, -0.90100086, -0.3651418, -0.23424111, 0.22556871, 0.7704531, 0.03138058) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0076699797, 0.007047633, 0.025072018) +body_offset = Transform3D(0.99998266, 0.001863122, 0.005693823, 0.005692765, 0.0005619675, -0.99998426, -0.0018664598, 0.9999986, 0.00055140257, -0.007825732, 0.025023997, -0.0070471317) +bone_name = "handring1.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone handring1_L" index="0" unique_id=2022616607] +transform = Transform3D(0.9998964, 0.0094613135, -0.010845989, 0.010945201, -0.010498837, 0.999885, 0.009346411, -0.9999001, -0.010601297, -0.006785944, 0.0020319521, -0.023865044) +shape = SubResource("BoxShape3D_spxym") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handthumb1_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="8" unique_id=373471647] +transform = Transform3D(0.0940646, -0.95801365, 0.2708537, -0.616941, 0.1574336, 0.77110213, -0.7813678, -0.23963416, -0.57622904, 0.17223269, 0.85097945, 0.045486078) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.012378213, -0.0018507126, 0.02446238) +body_offset = Transform3D(0.99992746, 0.0028333962, 0.011771351, 0.01177755, -0.0022075474, -0.99992883, -0.0028073639, 0.9999941, -0.0022408813, -0.012660027, 0.024310768, 0.001940269) +bone_name = "handthumb1.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone handthumb1_L" index="0" unique_id=1221135931] +transform = Transform3D(0.9998399, 0.0013946891, -0.017836392, 0.017872259, -0.03243348, 0.9993142, 0.00081527233, -0.99947286, -0.03245324, 0.013832271, -0.0059262067, -0.022259474) +shape = SubResource("CapsuleShape3D_x0dm7") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone arm_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="9" unique_id=1396695687] +transform = Transform3D(0.51189494, 0.8424361, 0.16812216, -0.23572776, -0.050444458, 0.97050905, 0.8260727, -0.53642976, 0.1727633, -0.22472048, 1.2626264, -0.06397809) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.01867069, 0.003041524, 0.14308883) +body_offset = Transform3D(0.9999405, -0.010178328, 0.003940195, 0.0039575845, 0.0016714036, -0.9999914, 0.010171592, 0.9999468, 0.0017116666, 0.01813674, 0.14315641, -0.003096372) +bone_name = "arm.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone arm_R" index="0" unique_id=1934328562] +transform = Transform3D(0.99999833, 2.6077032e-07, -8.34465e-07, -2.6226044e-06, 3.2782555e-07, 0.99999976, -3.874302e-07, -1.0000064, 4.4703484e-08, -0.017169505, 0.0044254363, 0.008804798) +shape = SubResource("CapsuleShape3D_icpjv") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone forearm_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="10" unique_id=17461685] +transform = Transform3D(-0.8460867, 0.5322528, 0.02905778, 0.050940897, 0.026473433, 0.99835074, 0.5306057, 0.8461715, -0.049512252, -0.25785846, 0.98974234, -0.09675846) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.3402288e-05, 0.00024946049, 0.14574854) +body_offset = Transform3D(0.0104468465, 0.99994475, 0.001273334, 0.00033183582, 0.0012697391, -0.9999997, -0.9999456, 0.0104472935, -0.00031842105, -0.00043527782, 0.1457482, 6.720424e-05) +bone_name = "forearm.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone forearm_R" index="0" unique_id=1999631555] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_4me46") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone hand_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="11" unique_id=1629606064] +transform = Transform3D(0.8871845, -0.36549065, 0.28163847, -0.43005413, -0.4337986, 0.79175264, -0.16720381, -0.8235504, -0.5420402, -0.27405724, 0.81097907, -0.061999705) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0023846696, 0.0004473545, 0.05131392) +body_offset = Transform3D(-0.22851744, -0.9444391, -0.23625284, 0.0018270575, 0.2422579, -0.97021085, 0.97353846, -0.2221413, -0.05363463, 0.01200062, 0.049681306, 0.0051731467) +bone_name = "hand.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone hand_R" index="0" unique_id=14766136] +transform = Transform3D(0.9609683, 0.057171144, 0.27068776, -0.26816073, 0.43312615, 0.86051863, -0.068044975, -0.89951897, 0.43155122, -0.0031374693, 0.01663211, -0.0018490553) +shape = SubResource("BoxShape3D_dfatx") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handring1_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="12" unique_id=2088621090] +transform = Transform3D(0.04136349, 0.99896216, 0.019071419, 0.2711353, -0.029594166, 0.96208626, 0.9616521, -0.034624305, -0.27207804, -0.2960274, 0.74979484, -0.07292892) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.0365927e-05, 2.507948e-06, 0.017590338) +body_offset = Transform3D(0.99995667, -0.00026646256, -0.009338409, -0.009338647, 0.00040305778, -0.999957, 0.00027016178, 1.0000001, 0.0004008105, 0.00013390183, 0.017589867, -9.5665455e-06) +bone_name = "handring1.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone handring1_R" index="0" unique_id=2139184823] +transform = Transform3D(0.99971086, 0.008283079, 0.022828963, -0.023740117, 0.13517958, 0.99053305, 0.005119413, -0.9907882, 0.1353357, 0.011277318, -0.0011302531, -0.02194804) +shape = SubResource("BoxShape3D_spxym") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handthumb1_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="13" unique_id=135555111] +transform = Transform3D(-0.18844777, 0.98155963, -0.03206665, 0.56238836, 0.13462465, 0.81584036, 0.80511296, 0.1357094, -0.57738733, -0.25364417, 0.81614083, -0.0414643) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0014305437, 7.253968e-06, 0.02258113) +body_offset = Transform3D(0.99993634, 0.0023475215, -0.011094868, -0.011091888, -0.0014411509, -0.99993813, -0.0023631528, 0.9999965, -0.001414597, 0.0016809702, 0.022563875, 2.130866e-05) +bone_name = "handthumb1.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone handthumb1_R" index="0" unique_id=1406112360] +transform = Transform3D(0.9999994, -1.013279e-06, 2.986053e-07, -2.6077032e-08, 5.3143594e-08, 0.999999, -1.2814999e-06, -0.99999994, -1.435983e-07, -0.0033495314, -0.0023185015, -0.021286476) +shape = SubResource("CapsuleShape3D_x0dm7") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone upleg_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="14" unique_id=923922514] +transform = Transform3D(-0.995875, -0.045266055, -0.0786384, -0.08805266, 0.27291805, 0.9579992, -0.021903004, 0.9609718, -0.27577806, 0.037392195, 0.76145595, 0.062358744) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00028139693, -0.0092513, 0.2113612) +body_offset = Transform3D(0.9999995, 6.426126e-07, -0.00097103184, -0.0009710137, 0.0006055832, -0.99999946, -6.891787e-08, 0.9999999, 0.000605613, -7.6152384e-05, 0.21136695, 0.009123296) +bone_name = "upleg.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone upleg_L" index="0" unique_id=600319327] +transform = Transform3D(1.0000027, 2.1141022e-07, -9.313226e-08, 1.6763806e-08, -5.066395e-07, 1.0000023, 1.3411045e-07, -1.0000007, -3.5762787e-07, -0.0047314167, -0.007822901, -0.027338386) +shape = SubResource("CapsuleShape3D_i24lk") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone leg_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="15" unique_id=535849418] +transform = Transform3D(-0.9965096, -0.0042802533, -0.08336876, -0.08303574, -0.051907465, 0.9951938, -0.008587142, 0.9986428, 0.051370867, 0.07778088, 0.313709, 0.10273907) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0028634325, 0.0035798363, 0.22421652) +body_offset = Transform3D(0.99991614, -0.012625782, 0.002948918, 0.0029665453, 0.0013765544, -0.9999948, 0.012621642, 0.99991953, 0.0014137924, -0.0034791902, 0.22420192, -0.0039326847) +linear_damp = 100.0 +angular_damp = 100.0 +bone_name = "leg.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone leg_L" index="0" unique_id=135636896] +transform = Transform3D(1.0000004, 7.159542e-08, 1.1175871e-08, -1.1175871e-08, 7.450581e-09, 1.0000008, -2.0605512e-08, -1.0000001, 2.9802322e-08, 0.003555715, 0.0021097586, 0.00012660027) +shape = SubResource("CapsuleShape3D_wjtln") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone foot_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="16" unique_id=718743270] +transform = Transform3D(-0.9530373, 0.00033107537, -0.30285296, -0.026237983, 0.9961492, 0.08365636, 0.30171442, 0.08767387, -0.9493586, 0.10474242, 0.040117797, 0.12964714) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00043869263, 0.04982956, 0.040673837) +body_offset = Transform3D(0.9999985, -9.4510615e-05, 0.0018797517, 0.0014721006, -0.5830319, -0.8124482, 0.0011726767, 0.8124497, -0.5830306, -0.0005104393, 0.06209696, -0.016770437) +bone_name = "foot.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone foot_L" index="0" unique_id=1154544383] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_5rrk6") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone toebase_L" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="17" unique_id=224697510] +transform = Transform3D(-0.9503012, 0.015830822, 0.31092942, 0.018141964, 0.9998251, 0.0045421137, -0.31080315, 0.0099572465, -0.9504221, 0.14779411, 0.03384785, 0.23395659) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.032427475, -0.03107366, 0.02995056) +body_offset = Transform3D(0.77256376, 6.834208e-05, -0.63493764, -0.63493764, -8.917693e-05, -0.77256376, -0.00010937266, 1.0000005, -2.5407411e-05, -0.006033428, 0.04372537, 0.031077981) +bone_name = "toebase.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone toebase_L" index="0" unique_id=616098296] +transform = Transform3D(1, 0, 1.7763568e-15, -2.6645353e-15, 0, 1, 0, -1, 4.440892e-16, 8.046627e-06, -1.3783574e-07, -0.002596669) +shape = SubResource("CapsuleShape3D_5x108") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone upleg_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="18" unique_id=1622275105] +transform = Transform3D(-0.9765261, -0.20891938, -0.052436158, -0.0662599, 0.059723508, 0.9960134, -0.20495483, 0.9761075, -0.07216453, -0.13039725, 0.7447253, -0.0028768033) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.0127025e-05, -8.759914e-05, 0.22665168) +body_offset = Transform3D(0.9999995, 0.0006160289, 1.2032688e-06, 1.293607e-06, -8.2202256e-05, -0.99999994, -0.0006160587, 0.9999997, -8.2187355e-05, -9.034574e-05, 0.22665167, 0.00010628253) +bone_name = "upleg.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone upleg_R" index="0" unique_id=1714408512] +transform = Transform3D(0.9999989, 3.1664968e-08, 2.682209e-07, -1.3411045e-07, 4.4703484e-08, 0.999999, 2.7939677e-08, -0.9999992, -1.4901161e-08, 0.00027324073, 0.0012482777, -0.010423422) +shape = SubResource("CapsuleShape3D_i24lk") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone leg_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="19" unique_id=1771928892] +transform = Transform3D(-0.9761055, -0.1928262, -0.10018028, -0.06981344, -0.15829943, 0.98492, -0.20577686, 0.9683798, 0.14105509, -0.09578616, 0.3015008, -0.019045347) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00036495086, -0.00075384864, 0.23039387) +body_offset = Transform3D(0.9999982, 0.0016751289, 5.4556876e-06, -1.963228e-06, 0.004453063, -0.99999017, -0.0016751438, 0.9999888, 0.004453078, -0.00036494434, 0.23039496, -0.00027151033) +bone_name = "leg.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone leg_R" index="0" unique_id=85244030] +transform = Transform3D(0.99999946, -8.731149e-11, 1.1641532e-09, -2.3283064e-10, 6.7055225e-08, 0.99999833, -5.820766e-11, -0.99999946, 1.4156103e-07, 0, 0, 0) +shape = SubResource("CapsuleShape3D_wjtln") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone foot_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="20" unique_id=928779467] +transform = Transform3D(-0.9151591, -0.03009469, 0.40196794, -0.00194066, 0.99752647, 0.07026491, -0.40308827, 0.063523486, -0.9129538, -0.09811687, 0.0365379, 0.004891213) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.2242844e-05, 0.048896965, 0.061589494) +body_offset = Transform3D(0.9999962, 0.002665976, 0.00014519691, 0.0016717613, -0.58289313, -0.81254715, -0.002081737, 0.8125446, -0.58289546, -0.00016154349, 0.07854603, -0.0038306788) +bone_name = "foot.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone foot_R" index="0" unique_id=1124161036] +transform = Transform3D(1, 1.05854525e-07, 4.6270483e-15, 0, -4.371139e-08, 1, 1.05854525e-07, -1, -4.371139e-08, 0.0024022013, 0.010436047, 0.021283412) +shape = SubResource("CapsuleShape3D_5rrk6") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone toebase_R" type="PhysicalBone3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D" index="21" unique_id=535152855] +transform = Transform3D(-0.94843435, 0.02594006, -0.31591058, 0.03460643, 0.9991621, -0.021853015, 0.315079, -0.031658687, -0.9485373, -0.13946538, 0.034196246, 0.085593425) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03322764, -0.031034851, 0.028526943) +body_offset = Transform3D(0.7523134, -2.3377128e-05, 0.65880513, 0.65880513, -5.507469e-05, -0.7523137, 5.3962693e-05, 1.0000002, -2.611801e-05, 0.0062031746, 0.04335004, 0.031037398) +bone_name = "toebase.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Mixamo/Skeleton3D/MixamoBoneSimulator3D/Physical Bone toebase_R" index="0" unique_id=1858415780] +transform = Transform3D(1, 0, 1.7763568e-15, -2.6645353e-15, 0, 1, 0, -1, 4.440892e-16, 8.046627e-06, -1.3783574e-07, -0.002596669) +shape = SubResource("CapsuleShape3D_5x108") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1" unique_id=39432334] +libraries/AL_Protagonist = ExtResource("3_2iuii") + +[node name="AnimationTree" type="AnimationTree" parent="." index="2" unique_id=265885601] +root_motion_track = NodePath("Mixamo/Skeleton3D:root") +tree_root = ExtResource("4_amoep") +anim_player = NodePath("../AnimationPlayer") +parameters/slice_time/slice_time_idle/TimeScale/scale = 0.0 +parameters/slice_time/slice_time_idle/slice_time_pitch/seek_request = 0.0 +parameters/slice_time/slice_time_idle/Blend2/blend_amount = 1.0 +parameters/slice_time/slice_time_idle/slice_time_angle_blend/blend_amount = 0.0 +"parameters/slice_time/slice_time_idle/TimeScale 2/scale" = 0.0 +parameters/slice_time/slice_time_idle/slice_time_angle/seek_request = 0.0 +parameters/slice_time/slice_time_swing/blend_position = Vector2(0, 0) +parameters/walk/blend_position = -0.0035573123 diff --git a/Assets/Classes/GameplayCamera.tscn b/Assets/Classes/GameplayCamera.tscn new file mode 100644 index 0000000..66775fa --- /dev/null +++ b/Assets/Classes/GameplayCamera.tscn @@ -0,0 +1,10 @@ +[gd_scene format=3 uid="uid://chpf6tiw7kdgl"] + +[ext_resource type="Script" uid="uid://cbsye1i87ksvx" path="res://Assets/Classes/gameplay_camera.gd" id="1_ulir5"] + +[node name="Camera3D" type="Camera3D" unique_id=1011005417] +transform = Transform3D(0.99999994, 0, 0, 0, 1.0000001, 0, 0, 0, 1, 0, 0, 0) +cull_mask = 227 +current = true +fov = 60.0 +script = ExtResource("1_ulir5") diff --git a/Assets/Classes/MixamoBoneSimulator3D.tscn b/Assets/Classes/MixamoBoneSimulator3D.tscn new file mode 100644 index 0000000..7bddc56 --- /dev/null +++ b/Assets/Classes/MixamoBoneSimulator3D.tscn @@ -0,0 +1,429 @@ +[gd_scene format=3 uid="uid://d2oguwc6016ct"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4y3nc"] +radius = 0.15429688 +height = 0.42913818 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_yr836"] +radius = 0.13769531 +height = 0.36584473 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_q30x1"] +radius = 0.057128906 +height = 0.14135742 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_k0htq"] +radius = 0.099609375 +height = 0.2748413 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_icpjv"] +radius = 0.040039063 +height = 0.4155441 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4me46"] +radius = 0.04345703 +height = 0.32166594 + +[sub_resource type="BoxShape3D" id="BoxShape3D_dfatx"] +size = Vector3(0.04650879, 0.09484863, 0.08987427) + +[sub_resource type="BoxShape3D" id="BoxShape3D_spxym"] +size = Vector3(0.074409485, 0.10257435, 0.03265381) + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_x0dm7"] +radius = 0.01171875 +height = 0.11545293 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_i24lk"] +radius = 0.080078125 +height = 0.4823442 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wjtln"] +radius = 0.05078125 +height = 0.44527814 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_5rrk6"] +radius = 0.047851563 +height = 0.1706543 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_5x108"] +radius = 0.03955078 +height = 0.093193054 + +[node name="MixamoBoneSimulator3D" type="PhysicalBoneSimulator3D" unique_id=1854161429] + +[node name="Physical Bone hips" type="PhysicalBone3D" parent="." unique_id=1860743939] +transform = Transform3D(1, -4.3196715e-06, 8.193694e-07, 7.6344014e-07, -0.012931716, -0.9999164, 4.329906e-06, 0.99991643, -0.012931715, -3.631566e-05, 1.0946532, 0.016212728) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.6195863e-05, 1.6221077e-06, 0.05190885) +body_offset = Transform3D(1, -4.127459e-06, 2.2997203e-07, 2.2962212e-07, -8.47904e-05, -1, 4.1274784e-06, 1.0000001, -8.478947e-05, -3.620779e-05, 0.05190885, 2.7790666e-06) +bone_name = "hips" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone hips" unique_id=1851287103] +transform = Transform3D(1.0000015, 1.3253884e-07, 8.195639e-08, -2.0861626e-07, -8.8475645e-09, 1.0000073, 2.0771404e-07, -1.0000024, -4.4703484e-08, 0.0014547829, -0.00090056844, 0.010923147) +shape = SubResource("CapsuleShape3D_4y3nc") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone spine1" type="PhysicalBone3D" parent="." unique_id=408345383] +transform = Transform3D(0.99999994, 0.00035625725, -2.0440707e-06, -5.4334454e-05, 0.14683925, -0.9891604, -0.00035209538, 0.98916036, 0.14683925, -1.6781014e-05, 1.289539, -0.0047007557) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.6923066e-05, 1.2447501e-05, 0.046540737) +body_offset = Transform3D(0.99999994, 0.00035634564, -1.5813842e-07, -9.40272e-08, -0.00017990172, -0.9999999, -0.0003563456, 0.9999999, -0.00017991662, -1.6920141e-05, 0.046540737, -4.068017e-06) +bone_name = "spine1" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone spine1" unique_id=913992169] +transform = Transform3D(1.0000017, 1.2107193e-07, 1.7881393e-07, -5.9604645e-08, -5.2154064e-08, 1.0000038, 1.4994293e-07, -1.0000049, -6.556511e-07, -0.008137435, 0.0062363, -0.050394416) +shape = SubResource("CapsuleShape3D_yr836") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone neck" type="PhysicalBone3D" parent="." unique_id=1535717496] +transform = Transform3D(-0.9999995, -8.998652e-05, -0.0009650996, 0.00093505066, 0.17272744, -0.98496926, 0.00025533309, -0.9849697, -0.17272727, -1.557038e-05, 1.5518395, -0.02371217) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.3872765e-05, -0.00019338168, 0.049434163) +body_offset = Transform3D(-0.9999995, -9.078435e-05, -0.00096296426, 0.00089480437, 0.2911756, -0.9566691, 0.00036724226, -0.95666945, -0.2911754, -1.6286962e-05, 0.0473485, 0.014209032) +bone_name = "neck" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone neck" unique_id=760729309] +transform = Transform3D(0.9999732, -0.004666389, 0.005031716, -0.00503207, -7.019192e-05, 0.99998707, -0.004665917, -0.9999892, -9.357929e-05, -0.0035126358, -0.0067253187, -0.009511113) +shape = SubResource("CapsuleShape3D_q30x1") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone head" type="PhysicalBone3D" parent="." unique_id=1485677274] +transform = Transform3D(-1, -7.1810275e-05, -3.809254e-05, 1.2510329e-05, 0.32707167, -0.9449996, 8.031966e-05, -0.9449996, -0.32707167, 4.905464e-07, 1.7111343, 0.022863008) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.7854296e-06, -0.0005947314, 0.11814316) +body_offset = Transform3D(-1, -7.293733e-05, -3.6111174e-05, 3.7912378e-07, 0.43951672, -0.8982344, 8.138627e-05, -0.89823437, -0.43951672, -5.6251884e-07, 0.106381655, 0.05139169) +bone_name = "head" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone head" unique_id=26758776] +transform = Transform3D(0.9997962, 0.018793106, -0.0067698136, -0.012119956, 0.84012836, 0.5422548, 0.015878238, -0.542064, 0.840188, 0.00060372986, 0.0059717596, 0.030230165) +shape = SubResource("CapsuleShape3D_k0htq") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone arm_L" type="PhysicalBone3D" parent="." unique_id=774724508] +transform = Transform3D(-0.0010189556, 0.00230456, -0.99999684, 0.012242857, -0.9999224, -0.0023168635, -0.9999246, -0.012245178, 0.000990662, 0.2964561, 1.4461982, -0.055658814) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.229735e-05, 0.0052432367, 0.14483787) +body_offset = Transform3D(0.9999243, 0.012264895, -0.0010547551, -0.0010820981, 0.002229979, -0.9999972, -0.012262493, 0.99992245, 0.0022431985, 0.00018075109, 0.14482567, -0.005568862) +bone_name = "arm.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone arm_L" unique_id=1630702100] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_icpjv") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone forearm_L" type="PhysicalBone3D" parent="." unique_id=842109744] +transform = Transform3D(-0.00046320196, -0.001799223, -0.99999833, -0.9999286, -0.011940655, 0.00048465363, -0.0119415065, 0.9999271, -0.0017935636, 0.573839, 1.4433497, -0.07207534) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0025785447, 0.016895821, 0.1437616) +body_offset = Transform3D(0.011960031, -0.99992865, 9.953743e-05, -0.0005560891, -0.000106283114, -1, 0.9999284, 0.011959961, -0.0005572038, 0.016849466, 0.14376482, -0.0027003288) +bone_name = "forearm.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone forearm_L" unique_id=704093935] +transform = Transform3D(0.9999998, 1.4901161e-08, -1.2814999e-06, 8.34465e-07, -2.5331974e-07, 1, 7.450581e-09, -1.0000008, 4.4703484e-08, 0.0023857355, 0.01821693, 0.0026687384) +shape = SubResource("CapsuleShape3D_4me46") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone hand_L" type="PhysicalBone3D" parent="." unique_id=570185914] +transform = Transform3D(0.0023472628, 0.24620926, -0.9692139, 0.97493386, 0.21507092, 0.056995556, 0.22248253, -0.9450532, -0.23953293, 0.77099496, 1.4349971, -0.043609284) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0027456575, -0.0017657621, 0.05905015) +body_offset = Transform3D(-0.22250137, 0.94506496, 0.23946969, 0.0024325196, 0.24616443, -0.96922517, -0.97492945, -0.21507142, -0.057070695, -0.011861049, 0.057660878, 0.0056670904) +bone_name = "hand.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone hand_L" unique_id=1486550316] +transform = Transform3D(0.9155292, -0.13074967, -0.3804088, 0.40130872, 0.23217854, 0.88602734, -0.027524978, -0.96384525, 0.2650372, -0.0017858744, 0.017058343, 0.0016509295) +shape = SubResource("BoxShape3D_dfatx") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handring1_L" type="PhysicalBone3D" parent="." unique_id=289227335] +transform = Transform3D(0.005627577, 0.00063943927, -0.99998397, 0.0018140852, -0.99999815, -0.0006292393, -0.99998254, -0.001810515, -0.0056287264, 0.8293941, 1.4472805, -0.06629689) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.007668535, 0.007042771, 0.025061145) +body_offset = Transform3D(0.99998295, 0.0018300016, 0.0055646016, 0.005563661, 0.0005664912, -0.9999845, -0.0018331108, 0.9999983, 0.00055641687, -0.007820748, 0.025014102, -0.0070426464) +bone_name = "handring1.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone handring1_L" unique_id=2022616607] +transform = Transform3D(0.9998964, 0.0094613135, -0.010845989, 0.010945201, -0.010498837, 0.999885, 0.009346411, -0.9999001, -0.010601297, -0.006785944, 0.0020319521, -0.023865044) +shape = SubResource("BoxShape3D_spxym") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handthumb1_L" type="PhysicalBone3D" parent="." unique_id=373471647] +transform = Transform3D(0.40599978, -0.5033793, -0.7627408, -0.23297259, -0.86405855, 0.446236, -0.8836787, -0.00347401, -0.46808118, 0.7506911, 1.4152737, -0.0062811375) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0123740705, -0.0018493915, 0.024451993) +body_offset = Transform3D(0.99992836, 0.0027814575, 0.011654973, 0.011661172, -0.0022115214, -0.99992967, -0.002755507, 0.9999939, -0.002243822, -0.012653027, 0.024301887, 0.001938343) +bone_name = "handthumb1.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone handthumb1_L" unique_id=1221135931] +transform = Transform3D(0.9998399, 0.0013946891, -0.017836392, 0.017872259, -0.03243348, 0.9993142, 0.00081527233, -0.99947286, -0.03245324, 0.013832271, -0.0059262067, -0.022259474) +shape = SubResource("CapsuleShape3D_x0dm7") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone arm_R" type="PhysicalBone3D" parent="." unique_id=1396695687] +transform = Transform3D(-0.0038372239, -0.0015737475, 0.9999914, -0.009849529, -0.99995023, -0.0016114778, 0.9999442, -0.009855627, 0.003821532, -0.2946779, 1.4436904, -0.037360646) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.01865063, 0.0030400595, 0.14298451) +body_offset = Transform3D(0.9999436, -0.009923993, 0.003830617, 0.0038470775, 0.0016319533, -0.99999124, 0.009917766, 0.99994946, 0.0016700142, 0.018132031, 0.14305004, -0.0030937195) +bone_name = "arm.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone arm_R" unique_id=1934328562] +transform = Transform3D(0.99999833, 2.6077032e-07, -8.34465e-07, -2.6226044e-06, 3.2782555e-07, 0.99999976, -3.874302e-07, -1.0000064, 4.4703484e-08, -0.017169505, 0.0044254363, 0.008804798) +shape = SubResource("CapsuleShape3D_icpjv") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone forearm_R" type="PhysicalBone3D" parent="." unique_id=17461685] +transform = Transform3D(-0.0003678902, 0.00035952046, 0.9999999, 0.9999484, -0.010158838, 0.00037152352, 0.01015897, 0.9999484, -0.00035576455, -0.5757299, 1.4405098, -0.05568988) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.6302558e-05, 0.00025031457, 0.14568701) +body_offset = Transform3D(0.01022705, 0.9999471, 0.0012833336, 0.00032471315, 0.0012801612, -0.9999991, -0.99994767, 0.0102275675, -0.0003116291, -0.00043753535, 0.14568657, 6.914139e-05) +bone_name = "forearm.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone forearm_R" unique_id=1999631555] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_4me46") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone hand_R" type="PhysicalBone3D" parent="." unique_id=1629606064] +transform = Transform3D(-0.0017289666, -0.24226238, 0.9702092, -0.9735633, 0.22201495, 0.05370244, -0.22841105, -0.94446725, -0.23624158, -0.7629887, 1.4353976, -0.043508988) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0023811192, 0.00045479985, 0.0512913) +body_offset = Transform3D(-0.22847763, -0.94445455, -0.23622908, 0.0017836299, 0.24224067, -0.97021455, 0.9735476, -0.2220937, -0.053662047, 0.012002002, 0.049657643, 0.0051715374) +bone_name = "hand.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone hand_R" unique_id=14766136] +transform = Transform3D(0.9609683, 0.057171144, 0.27068776, -0.26816073, 0.43312615, 0.86051863, -0.068044975, -0.89951897, 0.43155122, -0.0031374693, 0.01663211, -0.0018490553) +shape = SubResource("BoxShape3D_dfatx") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handring1_R" type="PhysicalBone3D" parent="." unique_id=2088621090] +transform = Transform3D(0.009330867, -0.0003471185, 0.9999565, -0.00019168327, -1, -0.00034534498, 0.9999564, -0.00018845256, -0.009330934, -0.82194287, 1.4401419, -0.07403043) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.2141706e-05, 1.9684617e-06, 0.01757567) +body_offset = Transform3D(0.9999568, -0.0002567844, -0.009321765, -0.009321576, 0.00040544174, -0.9999564, 0.00026066398, 1, 0.00040300403, 0.00013169646, 0.017575204, -9.059906e-06) +bone_name = "handring1.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone handring1_R" unique_id=2139184823] +transform = Transform3D(0.99971086, 0.008283079, 0.022828963, -0.023740117, 0.13517958, 0.99053305, 0.005119413, -0.9907882, 0.1353357, 0.011277318, -0.0011302531, -0.02194804) +shape = SubResource("BoxShape3D_spxym") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone handthumb1_R" type="PhysicalBone3D" parent="." unique_id=135555111] +transform = Transform3D(0.40409195, 0.5053865, 0.7624265, 0.23815538, -0.8628919, 0.4457573, 0.88317144, 0.0014490238, -0.4690481, -0.754602, 1.4151249, -0.016847476) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0014315321, 8.297911e-06, 0.022556785) +body_offset = Transform3D(0.9999378, 0.0022874027, -0.010926068, -0.010922492, -0.0014268409, -0.9999393, -0.0023028755, 0.99999636, -0.0014018698, 0.001677881, 0.022539794, 2.002716e-05) +bone_name = "handthumb1.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone handthumb1_R" unique_id=1406112360] +transform = Transform3D(0.9999994, -1.013279e-06, 2.986053e-07, -2.6077032e-08, 5.3143594e-08, 0.999999, -1.2814999e-06, -0.99999994, -1.435983e-07, -0.0033495314, -0.0023185015, -0.021286476) +shape = SubResource("CapsuleShape3D_x0dm7") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone upleg_L" type="PhysicalBone3D" parent="." unique_id=923922514] +transform = Transform3D(-0.9999995, -3.1669544e-05, 0.0010502427, 0.0010499961, 0.0069807377, 0.9999751, -3.9000228e-05, 0.9999756, -0.006980701, 0.082143605, 0.76412666, 0.010292497) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00028783258, -0.009266339, 0.21117362) +body_offset = Transform3D(0.9999991, 1.088556e-06, -0.0010027027, -0.0010027037, 0.00086087035, -0.9999989, -2.2538006e-07, 0.9999997, 0.00086086616, -7.607788e-05, 0.21118164, 0.009084543) +bone_name = "upleg.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone upleg_L" unique_id=600319327] +transform = Transform3D(1.0000027, 2.1141022e-07, -9.313226e-08, 1.6763806e-08, -5.066395e-07, 1.0000023, 1.3411045e-07, -1.0000007, -3.5762787e-07, -0.0047314167, -0.007822901, -0.027338386) +shape = SubResource("CapsuleShape3D_i24lk") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone leg_L" type="PhysicalBone3D" parent="." unique_id=535849418] +transform = Transform3D(-0.99991655, 0.012593383, -0.0028941925, -0.0037650047, -0.06968372, 0.99756205, 0.012361004, 0.99748963, 0.06972532, 0.08552108, 0.30831075, -0.016193785) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0028612693, 0.0035787812, 0.22402586) +body_offset = Transform3D(0.99991554, -0.012627556, 0.002940407, 0.0029578889, 0.0013659, -0.9999946, 0.01262348, 0.99991935, 0.0014031604, -0.0034745634, 0.22401127, -0.0039289556) +linear_damp = 100.0 +angular_damp = 100.0 +bone_name = "leg.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone leg_L" unique_id=135636896] +transform = Transform3D(1.0000004, 7.159542e-08, 1.1175871e-08, -1.1175871e-08, 7.450581e-09, 1.0000008, -2.0605512e-08, -1.0000001, 2.9802322e-08, 0.003555715, 0.0021097586, 0.00012660027) +shape = SubResource("CapsuleShape3D_wjtln") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone foot_L" type="PhysicalBone3D" parent="." unique_id=718743270] +transform = Transform3D(-0.9999985, 0.00010141681, -0.0017165533, -3.5656262e-06, 0.99813485, 0.061048653, 0.0017195428, 0.06104857, -0.99813336, 0.082542896, 0.03511026, 0.010127977) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00044204417, 0.049793866, 0.04063685) +body_offset = Transform3D(0.99999803, -4.239884e-05, 0.0017566915, 0.0014022528, -0.5832239, -0.8123101, 0.001058986, 0.81231123, -0.583223, -0.00051131845, 0.062050074, -0.016748238) +bone_name = "foot.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone foot_L" unique_id=1154544383] +transform = Transform3D(1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0) +shape = SubResource("CapsuleShape3D_5rrk6") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone toebase_L" type="PhysicalBone3D" parent="." unique_id=224697510] +transform = Transform3D(-0.77254647, -1.5526359e-07, 0.63495827, -3.658497e-07, 1, -2.0059949e-07, -0.63495827, -3.872717e-07, -0.77254647, 0.08805508, 0.031055171, 0.123403504) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03239762, -0.031047923, 0.029923955) +body_offset = Transform3D(0.77256095, 6.7721456e-05, -0.6349399, -0.63494027, -9.250466e-05, -0.77256143, -0.00011107382, 0.9999999, -2.8490693e-05, -0.0060271174, 0.04368577, 0.031052366) +bone_name = "toebase.L" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone toebase_L" unique_id=616098296] +transform = Transform3D(1, 0, 1.7763568e-15, -2.6645353e-15, 0, 1, 0, -1, 4.440892e-16, 8.046627e-06, -1.3783574e-07, -0.002596669) +shape = SubResource("CapsuleShape3D_5x108") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone upleg_R" type="PhysicalBone3D" parent="." unique_id=1622275105] +transform = Transform3D(-0.9999998, -0.0006680412, 4.666626e-05, 4.1378767e-05, 0.007912757, 0.9999687, -0.00066838955, 0.99996847, -0.007912728, -0.081999995, 0.7487053, 0.0014306455) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.857206e-05, -8.59331e-05, 0.22653335) +body_offset = Transform3D(0.9999996, 0.00063750433, 9.0171255e-07, 9.470614e-07, -7.1145594e-05, -1, -0.00063750456, 0.9999999, -7.115211e-05, -8.8721514e-05, 0.22653335, 0.00010210788) +bone_name = "upleg.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone upleg_R" unique_id=1714408512] +transform = Transform3D(0.9999989, 3.1664968e-08, 2.682209e-07, -1.3411045e-07, 4.4703484e-08, 0.999999, 2.7939677e-08, -0.9999992, -1.4901161e-08, 0.00027324073, 0.0012482777, -0.010423422) +shape = SubResource("CapsuleShape3D_i24lk") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone leg_R" type="PhysicalBone3D" parent="." unique_id=1771928892] +transform = Transform3D(-0.9999986, -0.0017093066, 2.3514845e-05, 0.0001474742, -0.07255638, 0.99736434, -0.0017030954, 0.99736285, 0.072556525, -0.08175275, 0.30187577, -0.012938316) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00035296247, -0.00073449546, 0.23020752) +body_offset = Transform3D(0.99999845, 0.0016749926, 2.2602673e-05, 1.5337937e-05, 0.00433705, -0.99999076, -0.0016750759, 0.99998945, 0.0043370426, -0.00035693496, 0.23020858, -0.00026334077) +bone_name = "leg.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone leg_R" unique_id=85244030] +transform = Transform3D(0.99999946, -8.731149e-11, 1.1641532e-09, -2.3283064e-10, 6.7055225e-08, 0.99999833, -5.820766e-11, -0.99999946, 1.4156103e-07, 0, 0, 0) +shape = SubResource("CapsuleShape3D_wjtln") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone foot_R" type="PhysicalBone3D" parent="." unique_id=928779467] +transform = Transform3D(-0.9999967, -0.0025686559, -0.00021287389, -0.0025768746, 0.9981159, 0.061302822, 5.5006938e-05, 0.06130317, -0.99811924, -0.08196407, 0.034747817, 0.031091146) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.697693e-05, 0.04886046, 0.06155206) +body_offset = Transform3D(0.9999963, 0.0026276608, 0.00025302861, 0.0017373561, -0.58293664, -0.812516, -0.0019875169, 0.8125135, -0.5829393, -0.00016093999, 0.07849455, -0.0038186274) +bone_name = "foot.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone foot_R" unique_id=1124161036] +transform = Transform3D(1, 1.05854525e-07, 4.6270483e-15, 0, -4.371139e-08, 1, 1.05854525e-07, -1, -4.371139e-08, 0.0024022013, 0.010436047, 0.021283412) +shape = SubResource("CapsuleShape3D_5rrk6") +debug_color = Color(0.78431374, 0.39215687, 0, 1) + +[node name="Physical Bone toebase_R" type="PhysicalBone3D" parent="." unique_id=535152855] +transform = Transform3D(-0.7523924, 8.143013e-05, -0.6587152, 9.4358955e-05, 1, 1.5841717e-05, 0.65871525, -5.023649e-05, -0.75239235, -0.088326186, 0.031028973, 0.12307434) +collision_layer = 130 +collision_mask = 4096 +joint_type = 1 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0331938, -0.031011382, 0.028502375) +body_offset = Transform3D(0.75236195, -1.6642027e-05, 0.65874976, 0.6587502, -4.6422574e-05, -0.7523623, 4.3123317e-05, 1.0000002, -2.3988297e-05, 0.0061973035, 0.0433091, 0.031013506) +bone_name = "toebase.R" +joint_constraints/bias = 0.3 +joint_constraints/damping = 1.0 +joint_constraints/impulse_clamp = 0.0 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Physical Bone toebase_R" unique_id=1858415780] +transform = Transform3D(1, 0, 1.7763568e-15, -2.6645353e-15, 0, 1, 0, -1, 4.440892e-16, 8.046627e-06, -1.3783574e-07, -0.002596669) +shape = SubResource("CapsuleShape3D_5x108") +debug_color = Color(0.78431374, 0.39215687, 0, 1) diff --git a/Assets/Classes/PlayerCharacter/PlayerCamera3D.tscn b/Assets/Classes/PlayerCharacter/PlayerCamera3D.tscn new file mode 100644 index 0000000..e602d04 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/PlayerCamera3D.tscn @@ -0,0 +1,245 @@ +[gd_scene format=3 uid="uid://clq35hqimrb1e"] + +[ext_resource type="Script" uid="uid://dsc716f1ib7si" path="res://Assets/Classes/PlayerCharacter/player_camera_3d.gd" id="1_jltft"] +[ext_resource type="InputResource" uid="uid://dji2q0ekqofcx" path="res://Assets/Input/camera_movement.tres" id="2_udngf"] +[ext_resource type="PackedScene" uid="uid://chpf6tiw7kdgl" path="res://Assets/Classes/GameplayCamera.tscn" id="3_plj6u"] +[ext_resource type="Script" uid="uid://couw105c3bde4" path="res://addons/godot_state_charts/state_chart.gd" id="3_uysnn"] +[ext_resource type="Script" uid="uid://jk2jm1g6q853" path="res://addons/godot_state_charts/compound_state.gd" id="4_udngf"] +[ext_resource type="Script" uid="uid://cytafq8i1y8qm" path="res://addons/godot_state_charts/atomic_state.gd" id="5_7b7xm"] +[ext_resource type="Script" uid="uid://cf1nsco3w0mf6" path="res://addons/godot_state_charts/transition.gd" id="6_58rjj"] + +[sub_resource type="Curve" id="Curve_plj6u"] +_data = [Vector2(0, 0), 0.0, 48.095234, 0, 0, Vector2(0.0330033, 0.5802469), 4.620916, 4.620916, 0, 0, Vector2(0.19141915, 0.9506173), 0.17813037, 0.17813037, 0, 0, Vector2(1, 1), 0.041107014, 0.0, 0, 0] +point_count = 4 + +[sub_resource type="SphereShape3D" id="SphereShape3D_plj6u"] +radius = 0.2 + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_34qtn"] +animation = &"slice_time_zoom_in" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gxs3p"] +animation = &"standard_zoom" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xwyqw"] +advance_mode = 2 + +[sub_resource type="Curve" id="Curve_omrbt"] +_data = [Vector2(0, 0), 0.0, 2.8768382, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p62qo"] +xfade_time = 0.25 +xfade_curve = SubResource("Curve_omrbt") + +[sub_resource type="Curve" id="Curve_fj36c"] +_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 2.1381392, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x5tn7"] +xfade_time = 0.5 +xfade_curve = SubResource("Curve_fj36c") + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_6ql8e"] +states/slice_time_zoom_in/node = SubResource("AnimationNodeAnimation_34qtn") +states/slice_time_zoom_in/position = Vector2(561.6666, -10.333337) +states/standard_zoom/node = SubResource("AnimationNodeAnimation_gxs3p") +states/standard_zoom/position = Vector2(377.66666, 98.55555) +transitions = ["Start", "standard_zoom", SubResource("AnimationNodeStateMachineTransition_xwyqw"), "standard_zoom", "slice_time_zoom_in", SubResource("AnimationNodeStateMachineTransition_p62qo"), "slice_time_zoom_in", "standard_zoom", SubResource("AnimationNodeStateMachineTransition_x5tn7")] +graph_offset = Vector2(-15, -65) + +[sub_resource type="Animation" id="Animation_gxs3p"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [60.0] +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-0.2617994, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="Animation" id="Animation_34qtn"] +resource_name = "slice_time_zoom_in" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [50.0] +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-0.2617994, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0.1) +} +tracks/3/type = "bezier" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:y") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-2.8797932, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0.1) +} +tracks/4/type = "bezier" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:z") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(0, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0.1) +} + +[sub_resource type="Animation" id="Animation_xwyqw"] +resource_name = "standard_zoom" +length = 0.1 +tracks/0/type = "bezier" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(60, -0.25, 0, 0.25, 0), +"times": PackedFloat32Array(0) +} +tracks/1/type = "bezier" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-0.17453292, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0) +} +tracks/2/type = "bezier" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:y") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"handle_modes": PackedInt32Array(0), +"points": PackedFloat32Array(-2.9670596, -0.05, 0, 0.05, 0), +"times": PackedFloat32Array(0) +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_p62qo"] +_data = { +&"RESET": SubResource("Animation_gxs3p"), +&"slice_time_zoom_in": SubResource("Animation_34qtn"), +&"standard_zoom": SubResource("Animation_xwyqw") +} + +[node name="PlayerCamera3D" type="Node3D" unique_id=832857779 node_paths=PackedStringArray("animation_tree", "camera", "state_chart", "gimbal_x", "gimbal_y")] +script = ExtResource("1_jltft") +follow_max_distance = 0.5 +follow_speed = 12.0 +follow_distance_curve = SubResource("Curve_plj6u") +animation_tree = NodePath("AnimationTree") +camera = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D") +state_chart = NodePath("StateChart") +gimbal_x = NodePath("CameraGimbalY/CameraGimbalX") +gimbal_y = NodePath("CameraGimbalY") +_camera_movement_speed = Vector2(2.5, 2.5) +_camera_accelerate_speed = 7.5 +_camera_movement_resource = ExtResource("2_udngf") + +[node name="CameraGimbalY" type="Node3D" parent="." unique_id=483505300] + +[node name="CameraGimbalX" type="Node3D" parent="CameraGimbalY" unique_id=1708449693] +transform = Transform3D(1, 0, 0, 0, 0.96592575, -0.258819, 0, 0.258819, 0.96592575, 0, 0, 0) + +[node name="SpringArm3D" type="SpringArm3D" parent="CameraGimbalY/CameraGimbalX" unique_id=26339869] +transform = Transform3D(-0.9848076, 0, -0.17364831, 0, 1.0000001, 0, 0.17364828, 0, -0.98480785, 0, 0, 0) +shape = SubResource("SphereShape3D_plj6u") +spring_length = 2.667 + +[node name="Camera3D" parent="CameraGimbalY/CameraGimbalX/SpringArm3D" unique_id=1011005417 instance=ExtResource("3_plj6u")] +transform = Transform3D(0.98480755, 0, -0.1736481, 0, 0.99999994, 0, 0.17364815, 0, 0.9848073, 0, 0, 0) + +[node name="StateChart" type="Node" parent="." unique_id=874540950] +script = ExtResource("3_uysnn") +metadata/_custom_type_script = "uid://couw105c3bde4" + +[node name="MovementModes" type="Node" parent="StateChart" unique_id=686557367] +script = ExtResource("4_udngf") +initial_state = NodePath("Standard") + +[node name="Standard" type="Node" parent="StateChart/MovementModes" unique_id=2062985915] +script = ExtResource("5_7b7xm") + +[node name="OnSliceTime" type="Node" parent="StateChart/MovementModes/Standard" unique_id=1457596640] +script = ExtResource("6_58rjj") +to = NodePath("../../SliceTime") +event = &"slice_time" +delay_in_seconds = "0.0" + +[node name="SliceTime" type="Node" parent="StateChart/MovementModes" unique_id=1562604431] +script = ExtResource("5_7b7xm") + +[node name="OnExitSliceTime" type="Node" parent="StateChart/MovementModes/SliceTime" unique_id=1833457444] +script = ExtResource("6_58rjj") +to = NodePath("../../Standard") +event = &"no_more_slice_time" +delay_in_seconds = "0.0" + +[node name="AnimationTree" type="AnimationTree" parent="." unique_id=1750187388] +tree_root = SubResource("AnimationNodeStateMachine_6ql8e") +anim_player = NodePath("AnimationPlayer") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="AnimationTree" unique_id=459304662] +root_node = NodePath("../..") +libraries/ = SubResource("AnimationLibrary_p62qo") + +[connection signal="state_entered" from="StateChart/MovementModes/Standard" to="." method="_on_standard_state_entered"] +[connection signal="state_entered" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_entered"] +[connection signal="state_exited" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_exited"] +[connection signal="state_physics_processing" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_physics_processing"] diff --git a/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn b/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn new file mode 100644 index 0000000..3a3b378 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn @@ -0,0 +1,237 @@ +[gd_scene format=3 uid="uid://dhck4i8urax22"] + +[ext_resource type="PackedScene" uid="uid://0lx4ngfees3q" path="res://Assets/Classes/Character3D.tscn" id="1_cuu4l"] +[ext_resource type="Script" uid="uid://cjd3p5p41vqyj" path="res://Assets/Classes/PlayerCharacter/player_character_3d.gd" id="1_ph0or"] +[ext_resource type="PackedScene" uid="uid://clq35hqimrb1e" path="res://Assets/Classes/PlayerCharacter/PlayerCamera3D.tscn" id="2_4jc4t"] +[ext_resource type="PackedScene" uid="uid://rn3sy0dl4o0n" path="res://Assets/Classes/PlayerCharacter/PlayerMovementHandler.tscn" id="3_4jc4t"] +[ext_resource type="PackedScene" uid="uid://bb722x8kppyc" path="res://Assets/Classes/PlayerCharacter/PlayerSliceRing.tscn" id="4_sdxab"] +[ext_resource type="Script" uid="uid://sv5e443msxb" path="res://Assets/Classes/PlayerCharacter/slice_ring_spawner.gd" id="5_8jdat"] + +[node name="PlayerCharacter3D" type="Node3D" unique_id=24212124] +script = ExtResource("1_ph0or") + +[node name="PlayerCharacter3D" parent="." unique_id=513899147 instance=ExtResource("1_cuu4l")] +collision_layer = 16 +collision_mask = 8227 + +[node name="Skeleton3D" parent="PlayerCharacter3D/SK_Mixamo/Mixamo" parent_id_path=PackedInt32Array(513899147, 581893179, 2043084189) index="0" unique_id=2131179153] +bones/1/rotation = Quaternion(0.7089324, -0.011329939, -0.04667883, 0.70363873) +bones/2/rotation = Quaternion(-0.071335725, 0.004542303, 0.015166278, 0.9973268) +bones/3/rotation = Quaternion(0.017609281, 0.007127215, 0.027267393, 0.9994477) +bones/4/rotation = Quaternion(0.030486446, 0.0074779643, 0.027173264, 0.9991379) +bones/5/rotation = Quaternion(-0.09461062, 0.0025839217, -0.0015927132, 0.9955098) +bones/6/rotation = Quaternion(0.028451348, 0.011723317, -0.03923429, 0.9987561) +bones/8/rotation = Quaternion(0.5690915, 0.50335896, -0.539176, 0.3633921) +bones/9/rotation = Quaternion(0.5027855, 0.23152153, 0.18382111, 0.81228966) +bones/10/rotation = Quaternion(0.0001107647, -0.00070920796, 0.15359928, 0.988133) +bones/11/rotation = Quaternion(-0.11541009, -0.15078788, 0.10803185, 0.9758446) +bones/12/rotation = Quaternion(0.11821405, -0.06829226, -0.098524414, 0.98572546) +bones/13/rotation = Quaternion(0.10024357, 0.0038358571, -0.010102622, 0.9949043) +bones/16/rotation = Quaternion(0.09237285, -0.012534129, -0.059371777, 0.9938739) +bones/17/rotation = Quaternion(0.10350131, 6.664757e-05, 0.0032838208, 0.9946239) +bones/20/rotation = Quaternion(0.24397384, 0.041668605, -0.070586815, 0.96631163) +bones/21/rotation = Quaternion(0.14278682, -0.00083076797, 0.024642698, 0.9894463) +bones/24/rotation = Quaternion(0.17253485, 0.006533878, -0.058522467, 0.9832417) +bones/25/rotation = Quaternion(0.09744593, -0.0010164303, -0.00024192326, 0.99524033) +bones/32/rotation = Quaternion(-0.5437173, 0.5264967, -0.5405966, -0.3673254) +bones/33/rotation = Quaternion(0.4901721, -0.30509657, -0.16858566, 0.79889077) +bones/34/rotation = Quaternion(-7.025325e-05, -0.00042762232, -0.16353771, 0.986537) +bones/35/rotation = Quaternion(-0.20686176, 0.24933952, -0.07850003, 0.9428022) +bones/36/rotation = Quaternion(0.09599033, 0.056479756, 0.065572076, 0.99161303) +bones/37/rotation = Quaternion(0.021850917, -0.00728963, 0.008018257, 0.9997026) +bones/40/rotation = Quaternion(0.11337595, 0.0066973343, 0.05342195, 0.9920924) +bones/41/rotation = Quaternion(0.084311314, 0.0004885896, -0.0027773222, 0.9964355) +bones/44/rotation = Quaternion(0.19063903, -0.007867381, 0.03650103, 0.9809498) +bones/45/rotation = Quaternion(0.10480927, 0.007483745, -0.035172153, 0.99384207) +bones/48/rotation = Quaternion(0.17300653, 0.01105341, 0.03407452, 0.984269) +bones/49/rotation = Quaternion(0.077574864, 0.0027781671, -0.0040934305, 0.99697423) +bones/56/rotation = Quaternion(0.023020217, 0.13757135, 0.987347, -0.075433485) +bones/57/rotation = Quaternion(-0.16125123, -0.00085400394, -0.004602408, 0.98690236) +bones/58/rotation = Quaternion(0.42789608, -0.1571749, 0.037200805, 0.88927907) +bones/59/rotation = Quaternion(0.3382289, -0.031379074, 0.025549687, 0.9401935) +bones/61/rotation = Quaternion(-0.060553186, 0.032469105, 0.9958792, -0.05919384) +bones/62/rotation = Quaternion(-0.10807713, -0.00019450963, 0.0019413788, 0.9941407) +bones/63/rotation = Quaternion(0.49551302, 0.087210536, -0.072757386, 0.8611432) + +[node name="MeshInstance3D" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D" index="0" unique_id=1316399456] +layers = 32 + +[node name="Physical Bone hips" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="0" unique_id=1860743939] +transform = Transform3D(0.995385, -0.082139716, -0.049618218, -0.050239787, -0.0055164485, -0.99872196, 0.08176102, 0.9966056, -0.009617671, -0.055816714, 1.0853922, 0.0040496476) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.8898866e-05, 2.1026924e-06, 0.051971186) +body_offset = Transform3D(1.0000001, -6.645918e-06, 1.5535625e-07, 1.640874e-07, -8.977484e-05, -1.0000002, 6.6384673e-06, 1.0000001, -8.9828856e-05, -3.8906932e-05, 0.051971197, 2.5655609e-06) + +[node name="Physical Bone spine1" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="1" unique_id=408345383] +transform = Transform3D(0.99825, -0.052834712, 0.02655988, 0.031826425, 0.10147646, -0.9943288, 0.049839865, 0.993434, 0.10298043, -0.051558323, 1.2806822, -0.013781617) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.7440438e-05, 1.6310663e-05, 0.0467007) +body_offset = Transform3D(0.99999994, 0.0003486313, -1.2572855e-08, 1.0617077e-07, -0.00017470866, -1.0000004, -0.0003486313, 1.0000004, -0.00017475337, -1.7445534e-05, 0.046700716, -8.143485e-06) + +[node name="Physical Bone neck" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="2" unique_id=1535717496] +transform = Transform3D(-0.9964241, 0.021438621, 0.08172873, -0.080234654, 0.06314996, -0.9947736, -0.026487742, -0.99777377, -0.06120402, -0.07096241, 1.5442017, -0.023259826) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.7453228e-05, -0.00020383298, 0.04961701) +body_offset = Transform3D(-0.9999997, -4.7838315e-05, -0.0008300267, 0.00078010606, 0.29099083, -0.95672554, 0.00028730184, -0.95672613, -0.29099074, -1.6279519e-05, 0.04752922, 0.014243096) + +[node name="Physical Bone head" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="3" unique_id=1485677274] +transform = Transform3D(-0.99980944, 0.01888692, 0.0049392097, 0.0004748266, 0.2764582, -0.9610259, -0.019516302, -0.96084034, -0.2764145, -0.07549476, 1.7060113, 0.012056487) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.4347265e-06, -0.0006014444, 0.11850061) +body_offset = Transform3D(-1.0000001, -4.6465546e-05, -2.3652334e-05, 7.466879e-07, 0.43972558, -0.8981326, 5.2155927e-05, -0.89813256, -0.43972564, -2.6598573e-06, 0.106693745, 0.051567584) + +[node name="Physical Bone arm_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="4" unique_id=774724508] +transform = Transform3D(0.50749874, -0.8144683, -0.2812232, 0.21893081, -0.19378033, 0.9563046, -0.83337533, -0.5468918, 0.07996892, 0.13549441, 1.2878819, -0.04860475) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00011336084, 0.0052650636, 0.14500561) +body_offset = Transform3D(0.9999194, 0.0126826465, -0.00091502815, -0.0009425804, 0.0021831729, -0.9999977, -0.012680739, 0.9999176, 0.0021950305, 0.00017926097, 0.14499366, -0.005584359) + +[node name="Physical Bone forearm_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="5" unique_id=842109744] +transform = Transform3D(-0.81526953, -0.5677026, -0.114234135, -0.19485463, 0.08317398, 0.9772992, -0.545314, 0.8190213, -0.1784287, 0.1962044, 1.0174236, -0.04895726) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0025665292, 0.016949348, 0.14401811) +body_offset = Transform3D(0.012524545, -0.9999222, 0.00026343763, -0.0005292222, -0.00027029216, -1.0000004, 0.9999219, 0.012524486, -0.00053258985, 0.016877946, 0.14402413, -0.0027019083) + +[node name="Physical Bone hand_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="6" unique_id=570185914] +transform = Transform3D(0.82383996, 0.56033427, -0.08551757, 0.41331828, -0.490611, 0.76711726, 0.38788617, -0.6673278, -0.63578135, 0.2046236, 0.8348119, 0.02335985) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0027498812, -0.0017744384, 0.05916656) +body_offset = Transform3D(-0.2224724, 0.94506013, 0.23951733, 0.0025393218, 0.24623516, -0.9692073, -0.9749362, -0.21501373, -0.05718024, -0.011882693, 0.057774603, 0.0056825876) + +[node name="Physical Bone handring1_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="7" unique_id=289227335] +transform = Transform3D(0.3301611, -0.9416054, 0.066128336, -0.26634258, -0.02572095, 0.96353525, -0.905569, -0.3357346, -0.2592817, 0.22927028, 0.77456397, 0.028756147) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0076725255, 0.0070614493, 0.025105877) +body_offset = Transform3D(0.9999809, 0.0019342005, 0.005992174, 0.00599131, 0.0005334392, -0.9999827, -0.0019374788, 0.9999987, 0.00052191317, -0.007836476, 0.025055707, -0.0070596784) + +[node name="Physical Bone handthumb1_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="8" unique_id=373471647] +transform = Transform3D(0.08762102, -0.9607677, 0.26315004, -0.6188275, 0.15451264, 0.7701807, -0.78062475, -0.2303285, -0.581011, 0.17380561, 0.8546042, 0.042835973) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.012403211, -0.0018486909, 0.024496391) +body_offset = Transform3D(0.9999242, 0.002959907, 0.0120278895, 0.012034863, -0.0023299754, -0.9999255, -0.002931878, 0.9999937, -0.0023654401, -0.012691438, 0.024340987, 0.0019429885) + +[node name="Physical Bone arm_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="9" unique_id=1396695687] +transform = Transform3D(0.5183688, 0.83543414, 0.18260239, -0.2716202, -0.041623276, 0.96150404, 0.8108738, -0.5480122, 0.20534459, -0.228793, 1.2627441, -0.066447996) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.01872002, 0.0030378825, 0.14333878) +body_offset = Transform3D(0.99993324, -0.010776967, 0.004177481, 0.004196629, 0.0017594174, -0.9999899, 0.010769308, 0.99994016, 0.0018045604, 0.018152714, 0.14341056, -0.0030947626) + +[node name="Physical Bone forearm_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="10" unique_id=17461685] +transform = Transform3D(-0.83485395, 0.55044717, 0.0051820446, 0.043142073, 0.056042187, 0.9974959, 0.54877836, 0.83298695, -0.070534475, -0.26047695, 0.991913, -0.10028164) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.0400348e-05, 0.00024980004, 0.1459283) +body_offset = Transform3D(0.010946184, 0.99993956, 0.0012458675, 0.00034827366, 0.0012419447, -0.99999946, -0.99994004, 0.010946333, -0.00033457205, -0.00043192506, 0.1459279, 7.648766e-05) + +[node name="Physical Bone hand_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="11" unique_id=1629606064] +transform = Transform3D(0.8863236, -0.38524157, 0.25694263, -0.42007986, -0.43544355, 0.7961921, -0.19484228, -0.81362027, -0.5477761, -0.2721497, 0.8131903, -0.06238608) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0023814787, 0.00044175982, 0.05138261) +body_offset = Transform3D(-0.22860482, -0.9444115, -0.23627877, 0.0019123107, 0.24226972, -0.97020733, 0.97351754, -0.22224581, -0.053578034, 0.012013406, 0.049749315, 0.0051695704) + +[node name="Physical Bone handring1_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="12" unique_id=2088621090] +transform = Transform3D(0.067101605, 0.99772286, 0.0068160207, 0.268565, -0.024640717, 0.9629464, 0.9609215, -0.0627847, -0.26960692, -0.29385492, 0.7518365, -0.072871774) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.8965436e-05, -3.5211222e-06, 0.017611993) +body_offset = Transform3D(0.9999567, -0.00028495118, -0.009347767, -0.009347826, 0.00039823167, -0.99995667, 0.00028880313, 1.0000001, 0.00039574318, 0.00013566762, 0.017611504, -3.4570694e-06) + +[node name="Physical Bone handthumb1_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="13" unique_id=135555111] +transform = Transform3D(-0.17060854, 0.98363423, -0.057935882, 0.5584415, 0.14496821, 0.81677866, 0.81181026, 0.10699562, -0.574035, -0.25116414, 0.8185364, -0.04245319) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0014274662, 7.436258e-06, 0.022628348) +body_offset = Transform3D(0.9999312, 0.0024880916, -0.011508375, -0.01150468, -0.0014855079, -0.9999332, -0.0025047138, 0.99999607, -0.0014566258, 0.0016877651, 0.022610426, 2.194941e-05) + +[node name="Physical Bone upleg_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="14" unique_id=923922514] +transform = Transform3D(-0.9955945, -0.040672604, -0.08448288, -0.09232694, 0.26812515, 0.95894974, -0.016350996, 0.9625252, -0.2706991, 0.039002616, 0.7612752, 0.060783334) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00026820647, -0.009259556, 0.21173729) +body_offset = Transform3D(0.9999997, 2.2817403e-07, -0.00089636724, -0.00089636026, 0.0002091527, -0.99999976, -5.5879354e-08, 1, 0.0002091825, -7.840991e-05, 0.21173942, 0.0092152655) + +[node name="Physical Bone leg_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="15" unique_id=535849418] +transform = Transform3D(-0.9961606, 0.0014940503, -0.08753165, -0.0874934, -0.051115975, 0.9948528, -0.0029879054, 0.9986916, 0.051050443, 0.08161403, 0.31330913, 0.09972069) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0028633913, 0.0035817407, 0.22465657) +body_offset = Transform3D(0.9999161, -0.012623414, 0.0029703237, 0.0029882314, 0.0013996884, -0.9999947, 0.012619174, 0.9999195, 0.0014372692, -0.00348524, 0.2246418, -0.003940478) + +[node name="Physical Bone foot_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="16" unique_id=718743270] +transform = Transform3D(-0.9530085, -0.00031992793, -0.30294356, -0.027269278, 0.99603057, 0.08473261, 0.3017139, 0.08901194, -0.94923425, 0.10953155, 0.040084478, 0.12675771) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00043557613, 0.049915306, 0.040756267) +body_offset = Transform3D(0.999998, -0.00021509081, 0.0020834804, 0.0015679896, -0.58262825, -0.81273764, 0.001388669, 0.81273925, -0.58262646, -0.0005097538, 0.06220554, -0.016823053) + +[node name="Physical Bone toebase_L" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="17" unique_id=224697510] +transform = Transform3D(-0.9510647, 0.018093666, 0.3084617, 0.020205675, 0.9997892, 0.003653785, -0.30833057, 0.009707662, -0.95122975, 0.15280552, 0.033898614, 0.23100625) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.032497197, -0.031130569, 0.030008858) +body_offset = Transform3D(0.7725501, 6.97549e-05, -0.63495445, -0.63495445, -8.067582e-05, -0.77255017, -0.00010500639, 1.0000007, -1.7898157e-05, -0.006049283, 0.043815076, 0.03113454) + +[node name="Physical Bone upleg_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="18" unique_id=1622275105] +transform = Transform3D(-0.9774522, -0.20293452, -0.058350265, -0.07155747, 0.05835887, 0.9957278, -0.19866225, 0.97745174, -0.07156449, -0.12885843, 0.7440865, -0.002521729) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.352287e-05, -9.107889e-05, 0.22695495) +body_offset = Transform3D(0.9999998, 0.00056508183, 1.1976808e-06, 1.2805685e-06, -9.4778836e-05, -1, -0.00056509674, 0.99999994, -9.472668e-05, -9.3743205e-05, 0.22695494, 0.00011263043) + +[node name="Physical Bone leg_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="19" unique_id=1771928892] +transform = Transform3D(-0.97702944, -0.18541943, -0.1050387, -0.07509239, -0.1617299, 0.9839739, -0.19943577, 0.9692591, 0.1440913, -0.091789834, 0.3010397, -0.01956334) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00039949166, -0.00079575245, 0.23079874) +body_offset = Transform3D(0.9999987, 0.0016318262, -5.4733828e-05, -6.239675e-05, 0.004711151, -0.9999891, -0.0016315579, 0.9999878, 0.0047113, -0.0003855601, 0.23079997, -0.00029096752) + +[node name="Physical Bone foot_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="20" unique_id=928779467] +transform = Transform3D(-0.9150249, -0.031225113, 0.4021873, -0.0030318175, 0.9975039, 0.0705467, -0.40338624, 0.06333262, -0.9128355, -0.09310125, 0.036554992, 0.003934089) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.3675514e-05, 0.04898055, 0.061673645) +body_offset = Transform3D(0.9999961, 0.002770692, -0.00020110607, 0.0014511645, -0.5827897, -0.8126219, -0.0023688078, 0.81261855, -0.58279145, -0.00016698241, 0.07866265, -0.0038595237) + +[node name="Physical Bone toebase_R" parent="PlayerCharacter3D/SK_Mixamo/Mixamo/Skeleton3D/MixamoBoneSimulator3D" parent_id_path=PackedInt32Array(513899147, 581893179, 1854161429) index="21" unique_id=535152855] +transform = Transform3D(-0.94841224, 0.02497278, -0.31605485, 0.03378009, 0.9991779, -0.022417637, 0.31523517, -0.03193752, -0.9484761, -0.13446558, 0.0343482, 0.084642515) +collision_layer = 64 +collision_mask = 8192 +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.033299, -0.031088049, 0.028577793) +body_offset = Transform3D(0.7522158, -3.744848e-05, 0.65891683, 0.65891695, -7.423945e-05, -0.752216, 7.718522e-05, 1, -3.125146e-05, 0.0062164813, 0.04343564, 0.031091511) + +[node name="CameraFollowTarget" type="Node3D" parent="PlayerCharacter3D" unique_id=849217898] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) + +[node name="PlayerCamera3D" parent="PlayerCharacter3D/CameraFollowTarget" unique_id=832857779 node_paths=PackedStringArray("follow_target") instance=ExtResource("2_4jc4t")] +follow_target = NodePath("..") + +[node name="SliceRingRoot" type="Node3D" parent="PlayerCharacter3D" unique_id=1715642888] +transform = Transform3D(0.99996436, -0.0015026098, -0.008300118, 0.0014229976, 0.9999531, -0.009591021, 0.008314103, 0.009578757, 0.99991953, -0.0030320361, 1.0401608, -0.007876307) + +[node name="SliceRingSpawner" type="Node3D" parent="PlayerCharacter3D/SliceRingRoot" unique_id=1363891669] +transform = Transform3D(1, 1.0186341e-10, 9.313226e-10, -2.910383e-11, 1, 0, 9.313226e-10, 0, 1, 0.0037398387, 0.3031026, 0.3956884) +script = ExtResource("5_8jdat") +slice_ring_class = ExtResource("4_sdxab") + +[node name="PlayerMovementHandler" parent="PlayerCharacter3D" unique_id=1868881040 node_paths=PackedStringArray("character", "player_camera", "slice_ring_spawner") instance=ExtResource("3_4jc4t")] +character = NodePath("..") +player_camera = NodePath("../CameraFollowTarget/PlayerCamera3D") +slice_ring_spawner = NodePath("../SliceRingRoot/SliceRingSpawner") +_gravity_multiplier = 2.5 + +[connection signal="fell_out_of_world" from="PlayerCharacter3D" to="." method="_on_fell_out_of_world"] + +[editable path="PlayerCharacter3D"] +[editable path="PlayerCharacter3D/SK_Mixamo"] +[editable path="PlayerCharacter3D/PlayerMovementHandler"] diff --git a/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn2345660723.tmp b/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn2345660723.tmp new file mode 100644 index 0000000..b72fcb0 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn2345660723.tmp @@ -0,0 +1,33 @@ +[gd_scene format=3 uid="uid://dhck4i8urax22"] + +[ext_resource type="PackedScene" uid="uid://0lx4ngfees3q" path="res://Classes/Character3D.tscn" id="1_cuu4l"] +[ext_resource type="Script" uid="uid://cjd3p5p41vqyj" path="res://Classes/PlayerCharacter/player_character_3d.gd" id="1_ph0or"] +[ext_resource type="PackedScene" uid="uid://clq35hqimrb1e" path="res://Classes/PlayerCharacter/PlayerCamera3D.tscn" id="2_4jc4t"] +[ext_resource type="PackedScene" uid="uid://rn3sy0dl4o0n" path="res://Classes/PlayerCharacter/PlayerMovementHandler.tscn" id="3_4jc4t"] +[ext_resource type="PackedScene" uid="uid://cv5uncwb0f3yf" path="res://Assets/SM_SliceRing.gltf" id="4_sdxab"] +[ext_resource type="Script" uid="uid://cpvwd36exce1n" path="res://Assets/slice_ring.gd" id="5_jka4s"] +[ext_resource type="InputResource" uid="uid://chdohrtepnymk" path="res://Input/slice_ring_movement.tres" id="6_y1las"] + +[node name="PlayerCharacter3D" type="Node3D" unique_id=126761780 node_paths=PackedStringArray("_movement_handler", "_camera_follow_target")] +script = ExtResource("1_ph0or") +_movement_handler = NodePath("PlayerMovementHandler") +_player_camera_node = ExtResource("2_4jc4t") +_camera_follow_target = NodePath("Character3D/CameraFollowTarget") + +[node name="Character3D" parent="." unique_id=513899147 instance=ExtResource("1_cuu4l")] +collision_layer = 16 +collision_mask = 33 + +[node name="CameraFollowTarget" type="Node3D" parent="Character3D" unique_id=849217898] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) + +[node name="SM_SliceRing2" parent="Character3D" unique_id=805690143 instance=ExtResource("4_sdxab")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1977729, 0.31721425) +script = ExtResource("5_jka4s") +slice_ring_input = ExtResource("6_y1las") + +[node name="PlayerMovementHandler" parent="." unique_id=1868881040 node_paths=PackedStringArray("character") instance=ExtResource("3_4jc4t")] +character = NodePath("../Character3D") +_gravity_multiplier = 2.5 + +[connection signal="fell_out_of_world" from="Character3D" to="." method="_on_fell_out_of_world"] diff --git a/Assets/Classes/PlayerCharacter/PlayerMovementHandler.tscn b/Assets/Classes/PlayerCharacter/PlayerMovementHandler.tscn new file mode 100644 index 0000000..1ca6c35 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/PlayerMovementHandler.tscn @@ -0,0 +1,168 @@ +[gd_scene format=3 uid="uid://rn3sy0dl4o0n"] + +[ext_resource type="Script" uid="uid://bc2sn2m81a5xr" path="res://Assets/Classes/PlayerCharacter/player_movement_handler.gd" id="1_1bdm0"] +[ext_resource type="InputResource" uid="uid://cpe4kejnk3po0" path="res://Assets/Input/player_movement_standard.tres" id="2_88wcs"] +[ext_resource type="InputResource" uid="uid://cmgrp420ec2r4" path="res://Assets/Input/player_movement_slice_time.tres" id="3_88wcs"] +[ext_resource type="Script" uid="uid://couw105c3bde4" path="res://addons/godot_state_charts/state_chart.gd" id="3_cor2a"] +[ext_resource type="Script" uid="uid://jk2jm1g6q853" path="res://addons/godot_state_charts/compound_state.gd" id="4_dkwod"] +[ext_resource type="Script" uid="uid://cytafq8i1y8qm" path="res://addons/godot_state_charts/atomic_state.gd" id="5_cqcp7"] +[ext_resource type="Script" uid="uid://cf1nsco3w0mf6" path="res://addons/godot_state_charts/transition.gd" id="6_wsip1"] + +[node name="PlayerMovementHandler" type="Node" unique_id=1868881040] +script = ExtResource("1_1bdm0") +_walk_reaction_speed = 5.0 +_walk_turn_speed = 35.0 +_player_movement_standard = ExtResource("2_88wcs") +_player_movement_slice_time = ExtResource("3_88wcs") +_gravity_multiplier = 2.0 +_terminal_velocity = 18.0 + +[node name="StandardMovementChart" type="Node" parent="." unique_id=369988516] +script = ExtResource("3_cor2a") +metadata/_custom_type_script = "uid://couw105c3bde4" + +[node name="Movement" type="Node" parent="StandardMovementChart" unique_id=2080058321] +script = ExtResource("4_dkwod") +initial_state = NodePath("Airborne") + +[node name="Grounded" type="Node" parent="StandardMovementChart/Movement" unique_id=2108130578] +script = ExtResource("4_dkwod") +initial_state = NodePath("Walking") + +[node name="Walking" type="Node" parent="StandardMovementChart/Movement/Grounded" unique_id=2129688824] +script = ExtResource("5_cqcp7") + +[node name="OnFall" type="Node" parent="StandardMovementChart/Movement/Grounded/Walking" unique_id=456126174] +script = ExtResource("6_wsip1") +to = NodePath("../../../Airborne/CoyoteTime") +event = &"fall" +delay_in_seconds = "0.0" + +[node name="OnJump" type="Node" parent="StandardMovementChart/Movement/Grounded/Walking" unique_id=1699782188] +script = ExtResource("6_wsip1") +to = NodePath("../../../Airborne/Jumping") +event = &"jump" +delay_in_seconds = "0.0" + +[node name="OnSliceTime" type="Node" parent="StandardMovementChart/Movement/Grounded/Walking" unique_id=185358251] +script = ExtResource("6_wsip1") +to = NodePath("../../SliceTime") +event = &"slice_time" +delay_in_seconds = "0.0" + +[node name="Landed" type="Node" parent="StandardMovementChart/Movement/Grounded" unique_id=415588808] +script = ExtResource("5_cqcp7") + +[node name="OnFinishedLanding" type="Node" parent="StandardMovementChart/Movement/Grounded/Landed" unique_id=1266972036] +script = ExtResource("6_wsip1") +to = NodePath("../../Walking") +delay_in_seconds = "0.0" + +[node name="SliceTime" type="Node" parent="StandardMovementChart/Movement/Grounded" unique_id=979757251] +script = ExtResource("4_dkwod") +initial_state = NodePath("Start") + +[node name="Start" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime" unique_id=1564396171] +script = ExtResource("5_cqcp7") + +[node name="StartAiming" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime/Start" unique_id=1557668121] +script = ExtResource("6_wsip1") +to = NodePath("../../Aim") +delay_in_seconds = "0.666666666666" + +[node name="Aim" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime" unique_id=36548716] +script = ExtResource("5_cqcp7") + +[node name="Slice" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime/Aim" unique_id=81820434] +script = ExtResource("6_wsip1") +to = NodePath("../../Slice") +event = &"slice" +delay_in_seconds = "0.0" + +[node name="NoMoreSliceTime" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime/Aim" unique_id=703900248] +script = ExtResource("6_wsip1") +to = NodePath("../../../..") +event = &"no_more_slice_time" +delay_in_seconds = "0.0" + +[node name="Walk" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime" unique_id=1499026317] +script = ExtResource("5_cqcp7") + +[node name="NoMoreSliceTime" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime/Walk" unique_id=1204488847] +script = ExtResource("6_wsip1") +to = NodePath("../../../..") +event = &"no_more_slice_time" +delay_in_seconds = "0.0" + +[node name="Slice" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime" unique_id=83365186] +script = ExtResource("5_cqcp7") + +[node name="BackToAiming" type="Node" parent="StandardMovementChart/Movement/Grounded/SliceTime/Slice" unique_id=479051715] +script = ExtResource("6_wsip1") +to = NodePath("../../Aim") +delay_in_seconds = "0.2" + +[node name="Airborne" type="Node" parent="StandardMovementChart/Movement" unique_id=895130492] +script = ExtResource("4_dkwod") +initial_state = NodePath("Falling") + +[node name="OnStopFalling" type="Node" parent="StandardMovementChart/Movement/Airborne" unique_id=1602778224] +script = ExtResource("6_wsip1") +to = NodePath("../../Grounded/Walking") +event = &"stop_falling" +delay_in_seconds = "0.0" + +[node name="CoyoteTime" type="Node" parent="StandardMovementChart/Movement/Airborne" unique_id=747454597] +script = ExtResource("5_cqcp7") + +[node name="OnCoyoteTimeJump" type="Node" parent="StandardMovementChart/Movement/Airborne/CoyoteTime" unique_id=731374978] +script = ExtResource("6_wsip1") +to = NodePath("../../Jumping") +event = &"jump" +delay_in_seconds = "0.0" + +[node name="OnCoyoteTimeExpired" type="Node" parent="StandardMovementChart/Movement/Airborne/CoyoteTime" unique_id=1316748922] +script = ExtResource("6_wsip1") +to = NodePath("../../Falling") +delay_in_seconds = "0.085" + +[node name="Jumping" type="Node" parent="StandardMovementChart/Movement/Airborne" unique_id=1406435599] +script = ExtResource("5_cqcp7") + +[node name="OnStopJumping" type="Node" parent="StandardMovementChart/Movement/Airborne/Jumping" unique_id=831785997] +script = ExtResource("6_wsip1") +to = NodePath("../../CancelJump") +event = &"stop_jumping" +delay_in_seconds = "0.0" + +[node name="CancelJump" type="Node" parent="StandardMovementChart/Movement/Airborne" unique_id=446764118] +script = ExtResource("5_cqcp7") + +[node name="Falling" type="Node" parent="StandardMovementChart/Movement/Airborne" unique_id=2015636007] +script = ExtResource("5_cqcp7") + +[node name="OnLand" type="Node" parent="StandardMovementChart/Movement/Airborne/Falling" unique_id=1474614311] +script = ExtResource("6_wsip1") +to = NodePath("../../../Grounded/Landed") +event = &"land" +delay_in_seconds = "0.0" + +[connection signal="state_entered" from="StandardMovementChart/Movement/Grounded/Walking" to="." method="_on_walking_state_entered"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Grounded/Walking" to="." method="_on_walking_state_physics_processing"] +[connection signal="state_processing" from="StandardMovementChart/Movement/Grounded/Walking" to="." method="_on_walking_state_processing"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Grounded/Landed" to="." method="_on_landed_state_entered"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Grounded/Landed" to="." method="_on_landed_state_physics_processing"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Grounded/SliceTime" to="." method="_on_slice_time_state_entered"] +[connection signal="state_exited" from="StandardMovementChart/Movement/Grounded/SliceTime" to="." method="_on_slice_time_state_exited"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Grounded/SliceTime" to="." method="_on_slice_time_state_physics_processing"] +[connection signal="state_processing" from="StandardMovementChart/Movement/Grounded/SliceTime" to="." method="_on_slice_time_state_processing"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Grounded/SliceTime/Aim" to="." method="_on_slice_time_aim_state_entered"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Grounded/SliceTime/Aim" to="." method="_on_slice_time_aim_state_physics_processing"] +[connection signal="state_processing" from="StandardMovementChart/Movement/Grounded/SliceTime/Aim" to="." method="_on_slice_time_aim_state_processing"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Grounded/SliceTime/Slice" to="." method="_on_slice_time_slice_state_entered"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Airborne/CoyoteTime" to="." method="_on_coyote_time_state_entered"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Airborne/CoyoteTime" to="." method="_on_coyote_time_state_physics_processing"] +[connection signal="state_processing" from="StandardMovementChart/Movement/Airborne/CoyoteTime" to="." method="_on_coyote_time_state_processing"] +[connection signal="state_entered" from="StandardMovementChart/Movement/Airborne/Falling" to="." method="_on_falling_state_entered"] +[connection signal="state_physics_processing" from="StandardMovementChart/Movement/Airborne/Falling" to="." method="_on_falling_state_physics_processing"] +[connection signal="state_processing" from="StandardMovementChart/Movement/Airborne/Falling" to="." method="_on_falling_state_processing"] diff --git a/Assets/Classes/PlayerCharacter/PlayerSliceRing.tscn b/Assets/Classes/PlayerCharacter/PlayerSliceRing.tscn new file mode 100644 index 0000000..35258ea --- /dev/null +++ b/Assets/Classes/PlayerCharacter/PlayerSliceRing.tscn @@ -0,0 +1,42 @@ +[gd_scene format=3 uid="uid://bb722x8kppyc"] + +[ext_resource type="ArrayMesh" uid="uid://cv5uncwb0f3yf" path="res://Assets/Visuals/Meshes/SM_SliceRing.gltf" id="1_4vtp3"] +[ext_resource type="Script" uid="uid://cpvwd36exce1n" path="res://Assets/Scripts/slice_ring.gd" id="1_uahgr"] +[ext_resource type="InputResource" uid="uid://chdohrtepnymk" path="res://Assets/Input/slice_ring_movement.tres" id="3_4vtp3"] +[ext_resource type="Material" uid="uid://li04p3pck0c4" path="res://Assets/Visuals/Materials/M_SliceRing_LowPower.material" id="4_jfsaa"] +[ext_resource type="Material" uid="uid://cjxkiin3n8lj6" path="res://Assets/Visuals/Materials/M_SliceRing_HighPower.material" id="4_pceg6"] +[ext_resource type="Shape3D" uid="uid://5wklr05bp58i" path="res://Assets/Visuals/Meshes/CustomColliders/C_SliceRing.shape" id="7_12y3u"] + +[node name="SliceRing" type="Node3D" unique_id=1654268887 node_paths=PackedStringArray("slice_ring_mesh")] +script = ExtResource("1_uahgr") +slice_ring_mesh = NodePath("SM_SliceRing") +slice_ring_hurtbox = "uid://vc2npve1t2wk" +slice_ring_input = ExtResource("3_4vtp3") +_flick_detection_timer_delay = 0.035 +_random_slice_positions_horizontal = Array[float]([15.65, 163.48, 8.31, 172.23]) +_random_slice_positions_vertical = Array[float]([98.38, 282.49, 89.68, 250.19]) +_high_power_material = ExtResource("4_pceg6") +_low_power_material = ExtResource("4_jfsaa") + +[node name="SM_SliceRing" type="MeshInstance3D" parent="." unique_id=1894787403] +mesh = ExtResource("1_4vtp3") + +[node name="SliceRingCollisionArea" type="Area3D" parent="SM_SliceRing" unique_id=1717206285] +collision_layer = 4096 +collision_mask = 16384 + +[node name="SliceRingCollisionShape" type="CollisionShape3D" parent="SM_SliceRing/SliceRingCollisionArea" unique_id=1207673546] +shape = ExtResource("7_12y3u") +debug_color = Color(0.39215687, 0, 0.78431374, 1) + +[node name="FlickTimer" type="Timer" parent="." unique_id=1436023842] +wait_time = 0.05 +one_shot = true + +[node name="SliceTimer" type="Timer" parent="." unique_id=363546292] +wait_time = 0.225 +one_shot = true + +[connection signal="area_shape_entered" from="SM_SliceRing/SliceRingCollisionArea" to="SM_SliceRing/SliceRingCollisionArea" method="_on_target_detected"] +[connection signal="timeout" from="FlickTimer" to="." method="_on_flick_timer_timeout"] +[connection signal="timeout" from="SliceTimer" to="." method="_on_slice_timer_timeout"] diff --git a/Assets/Classes/PlayerCharacter/player_camera_3d.gd b/Assets/Classes/PlayerCharacter/player_camera_3d.gd new file mode 100644 index 0000000..08bfe75 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_camera_3d.gd @@ -0,0 +1,102 @@ +class_name PlayerCamera3D +extends Node3D + +@export var follow_target : Node3D +@export_range(0.0, 5.0, 0.05) var follow_max_distance : float = 1.0 +@export_range(0.05, 20.0, 0.05) var follow_speed : float = 1.0 +@export var follow_distance_curve : Curve +@export var animation_tree : AnimationTree + +@export_category("Nodes") +@export var camera : Camera3D +@export var state_chart : StateChart +@export var gimbal_x : Node3D +@export var gimbal_y : Node3D + +@export_category("Input Settings") +@export var _camera_movement_speed : Vector2 = Vector2.ONE +@export var _camera_accelerate_speed : float = 1.0 + +@export_category("Input Resources") +@export var _camera_movement_resource : InputResource + +var _reset_orientation : Vector2 = Vector2.ZERO + +var _target_camera_orientation : Vector2 = Vector2.ZERO + +var _debug_input_resource : InputResource + + +func _ready() -> void: + _reset_orientation = Vector2(gimbal_y.rotation.y, gimbal_x.rotation.x) + if follow_target: global_position = follow_target.global_position + + _target_camera_orientation = _reset_orientation + + InputHandler.add_input_resource(self, _camera_movement_resource) + + _debug_input_resource = load("uid://xh7ux5jkfxle") + InputHandler.add_input_resource(self, _debug_input_resource) + + top_level = true + + +func _physics_process(_delta:float) -> void: + gimbal_y.rotation.y = lerp_angle(gimbal_y.rotation.y, -_target_camera_orientation.x, _camera_accelerate_speed * _delta) + gimbal_x.rotation.x = lerp_angle(gimbal_x.rotation.x, _target_camera_orientation.y, _camera_accelerate_speed * _delta) + + if follow_target: + var max_position : Vector3 = (global_position - follow_target.global_position).normalized() * follow_max_distance + global_position = lerp(global_position, follow_target.global_position, follow_distance_curve.sample_baked(max_position.length()) * follow_speed * _delta) + if global_position.distance_squared_to(follow_target.global_position) > (follow_target.global_position + max_position).distance_squared_to(follow_target.global_position): + global_position = (follow_target.global_position + max_position) + + +func _on_camera_rotate_2d(_delta:float, _vector:Vector2) -> void: + _on_camera_rotate(_delta, _vector) +func _on_camera_rotate_mouse(_delta:float, _vector:Vector2) -> void: + _on_camera_rotate(_delta, _vector) +func _on_camera_rotate(_delta:float, _vector:Vector2) -> void: + _target_camera_orientation += _vector * _camera_movement_speed * _delta + const rotation_limit = (PI / 2.0) - 0.075 + _target_camera_orientation.y = clamp(_target_camera_orientation.y, -rotation_limit, rotation_limit) + +func _on_camera_reset_pressed() -> void: + _target_camera_orientation = _reset_orientation + _target_camera_orientation.x -= follow_target.global_rotation.y + + +func _on___debug_show_performance_pressed() -> void: + DebugMenu.visible = !DebugMenu.visible + +func _on___debug_debugdraw_disabled_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_DISABLED +func _on___debug_debugdraw_wireframe_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_WIREFRAME +func _on___debug_debugdraw_normalbuffer_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_NORMAL_BUFFER +func _on___debug_debugdraw_overdraw_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_OVERDRAW +func _on___debug_debugdraw_ssao_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_SSAO +func _on___debug_debugdraw_sdfgi_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_SDFGI +func _on___debug_debugdraw_ssil_pressed() -> void: + get_viewport().debug_draw = Viewport.DEBUG_DRAW_SSIL + + +func _on_standard_state_entered() -> void: + InputHandler.add_input_resource(self, _camera_movement_resource) + _on_camera_reset_pressed() + + +func _on_slice_time_state_entered() -> void: + InputHandler.remove_input_resource(self, _camera_movement_resource) + _on_camera_reset_pressed() + animation_tree["parameters/playback"].travel("slice_time_zoom_in") + +func _on_slice_time_state_exited() -> void: + animation_tree["parameters/playback"].travel("standard_zoom") + +func _on_slice_time_state_physics_processing(_delta:float) -> void: + gimbal_y.global_rotation.y = follow_target.global_rotation.y diff --git a/Assets/Classes/PlayerCharacter/player_camera_3d.gd.uid b/Assets/Classes/PlayerCharacter/player_camera_3d.gd.uid new file mode 100644 index 0000000..5063c1d --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_camera_3d.gd.uid @@ -0,0 +1 @@ +uid://dsc716f1ib7si diff --git a/Assets/Classes/PlayerCharacter/player_character_3d.gd b/Assets/Classes/PlayerCharacter/player_character_3d.gd new file mode 100644 index 0000000..24b2d42 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_character_3d.gd @@ -0,0 +1,8 @@ +class_name PlayerCharacter3D +extends Node3D + +signal player_has_died + + +func _on_fell_out_of_world() -> void: + emit_signal("player_has_died") diff --git a/Assets/Classes/PlayerCharacter/player_character_3d.gd.uid b/Assets/Classes/PlayerCharacter/player_character_3d.gd.uid new file mode 100644 index 0000000..6410dac --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_character_3d.gd.uid @@ -0,0 +1 @@ +uid://cjd3p5p41vqyj diff --git a/Assets/Classes/PlayerCharacter/player_movement_handler.gd b/Assets/Classes/PlayerCharacter/player_movement_handler.gd new file mode 100644 index 0000000..69c3e6f --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_movement_handler.gd @@ -0,0 +1,208 @@ +class_name RootMovementHandler +extends Node + +@export_category("Nodes") +@export var character : Character3D +@export var player_camera : PlayerCamera3D +@export var slice_ring_spawner : SliceRingSpawner + +@export_category("Input Settings") +@export var _walk_reaction_speed : float = 1.0 +@export var _walk_turn_speed : float = 10.0 + +@export_category("Input Resources") +@export var _player_movement_standard : InputResource +@export var _player_movement_slice_time : InputResource + +@export_category("Physics Constants") +@export_range(0.0, 10.0, 0.01) var _gravity_multiplier : float = 1.0 +@export_range(0.0, 100.0, 0.1) var _terminal_velocity : float = 35.0 +@export_range(0.0, 10.0, 0.05) var _air_acceleration : float = 6.0 +@export_range(0.0, 20.0, 0.05) var _max_air_velocity : float = 6.0 +@export_range(0.0, 10.0, 0.05) var _drag : float = 1.0 + +@export_range(0.0, 50.0, 0.05) var _slice_time_aim_blend_speed = 30.0 + +@onready var _state_chart : StateChart = $StandardMovementChart + +var _target_movement_vector : Vector2 = Vector2.ZERO +var _current_movement_speed : float = 0.0 +var _lateral_motion_accumulator : Vector3 = Vector3.ZERO +var _gravity : float = 0.0 + +var _slice_time_aim_blend : float = 0.0 +var _slice_time_tilt : float = 0.5 +var _slice_time_angle : float = 0.0 + +signal state_changed(StringName) + + +func _ready() -> void: + InputHandler.add_input_resource(self, _player_movement_standard) + + character.character_skeleton.animation_tree.advance_expression_base_node = self.get_path() + + +func _on_movement_2d(_delta:float, _vector:Vector2) -> void: + _target_movement_vector = _vector +func _on_slice_time_rotate_2d(_delta:float, _vector:Vector2) -> void: + _target_movement_vector = _vector + +func _on_jump_pressed() -> void: + pass + +func _on_slice_time_pressed() -> void: + _state_chart.send_event("slice_time") +func _on_slice_time_released() -> void: + _state_chart.send_event("no_more_slice_time") + + +func _on_walking_state_entered() -> void: + _lateral_motion_accumulator = Vector3.ZERO + _gravity = 0.0 + emit_signal("state_changed", "walk") +func _on_coyote_time_state_entered() -> void: + _on_walking_state_entered() + +func _on_walking_state_processing(_delta:float) -> void: + _root_motion_walk_process(_delta) + _camera_relative_heading_process(_delta) +func _on_coyote_time_state_processing(_delta: float) -> void: + _on_walking_state_processing(_delta) + +func _on_walking_state_physics_processing(_delta:float) -> void: + _lateral_movement_physics_process(_delta) + #_gravity_physics_process(_delta) + _move_character() + + if !character.is_on_floor(): + _state_chart.send_event("fall") + _gravity = 0.0 +func _on_coyote_time_state_physics_processing(_delta: float) -> void: + _on_walking_state_physics_processing(_delta) + + +func _on_falling_state_entered() -> void: + _gravity = 0.0 + _lateral_motion_accumulator = character.velocity + +func _on_falling_state_processing(_delta:float) -> void: + _camera_relative_heading_process(_delta) + _physics_movement_accumulation_process(_delta) + +func _on_falling_state_physics_processing(_delta:float) -> void: + _physics_movement_physics_process(_delta) + _gravity_physics_process(_delta) + _move_character() + + if character.is_on_floor(): + _state_chart.send_event("land") + + +func _on_landed_state_entered() -> void: + emit_signal("state_changed", "landed") + +func _on_landed_state_physics_processing(_delta:float) -> void: + pass + + +func _on_slice_time_state_entered() -> void: + InputHandler.remove_input_resource(self, _player_movement_standard) + InputHandler.add_input_resource(self, _player_movement_slice_time) + _reset_all_movement() + character.character_skeleton.animation_tree["parameters/playback"].travel("slice_time") + _slice_time_tilt = 0.5 + player_camera.state_chart.send_event("slice_time") + slice_ring_spawner.spawn(self, true); +func _on_slice_time_state_exited() -> void: + _reset_all_movement() + character.character_skeleton.animation_tree["parameters/playback"].travel("walk") + slice_ring_spawner.despawn() + InputHandler.remove_input_resource(self, _player_movement_slice_time) + InputHandler.add_input_resource(self, _player_movement_standard) + player_camera.state_chart.send_event("no_more_slice_time") + +func _on_slice_time_state_processing(_delta:float) -> void: + _root_motion_accumulation_process(_delta) + character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_pitch/seek_request"] = _slice_time_tilt + #character.character_skeleton.animation_tree["parameters/slice_time_active/aim_angle/seek_request"] = 0.0 + +func _on_slice_time_state_physics_processing(_delta:float) -> void: + _lateral_movement_physics_process(_delta) + _move_character() + +func _on_slice_time_aim_state_entered() -> void: + var _slice_time_input : InputAction = _player_movement_standard.find_input_action("slice_time") + if not _slice_time_input or not _slice_time_input.is_active(): + _state_chart.send_event("no_more_slice_time") + +func _on_slice_time_aim_state_processing(_delta:float) -> void: + _slice_time_tilt = clampf(_slice_time_tilt + (_target_movement_vector.y * _delta), 0.0, 1.0) + + var old_blend_time : float = character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_angle_blend/blend_amount"] as float + character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_angle_blend/blend_amount"] = lerpf(old_blend_time, _slice_time_aim_blend, _slice_time_aim_blend_speed * _delta) + + character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_angle/seek_request"] = _slice_time_angle + + var old_slice_tilt : float = character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_pitch/seek_request"] + character.character_skeleton.animation_tree["parameters/slice_time/slice_time_idle/slice_time_pitch/seek_request"] = lerpf(old_slice_tilt, _slice_time_tilt, _slice_time_aim_blend_speed * _delta) + +func _on_slice_time_aim_state_physics_processing(_delta:float) -> void: + _slice_time_rotation_physics_process(_delta) + +func _on_slice_time_slice_state_entered() -> void: + pass + + +func _move_character(): + character.move_and_slide() + +func _root_motion_walk_process(_delta:float) -> void: + _current_movement_speed = lerpf(_current_movement_speed, _target_movement_vector.length_squared(), _delta * _walk_reaction_speed) + character.character_skeleton.animation_tree["parameters/walk/blend_position"] = _current_movement_speed + _root_motion_accumulation_process(_delta) + +func _root_motion_accumulation_process(_delta:float) -> void: + var root_motion_speed : Vector3 = character.quaternion * character.character_skeleton.animation_tree.get_root_motion_position() + if root_motion_speed.length_squared() >= 0.00000000: + _lateral_motion_accumulator += root_motion_speed + +func _camera_relative_heading_process(_delta:float): + var _target_movement_length_squared : float = _target_movement_vector.length_squared() + if _target_movement_length_squared >= 0.0001: + var _camera_relative_rotation : Quaternion = \ + Quaternion(Vector3(_target_movement_vector.x, 0.0, _target_movement_vector.y).normalized(), \ + Vector3(-player_camera.camera.global_basis.z.x, 0.0, -player_camera.camera.global_basis.z.z).normalized()) + character.quaternion = character.quaternion.slerp(_camera_relative_rotation, _delta * _walk_turn_speed) + +func _lateral_movement_physics_process(_delta:float) -> void: + character.velocity = _lateral_motion_accumulator / _delta + _lateral_motion_accumulator = Vector3.ZERO + +func _physics_movement_accumulation_process(_delta:float) -> void: + _lateral_motion_accumulator = _lateral_motion_accumulator.lerp(character.basis.z * _max_air_velocity, _target_movement_vector.length_squared() * _delta * _air_acceleration) + +func _physics_movement_physics_process(_delta:float) -> void: + _lateral_motion_accumulator = _lateral_motion_accumulator.lerp(Vector3.ZERO, _drag * _delta * (1.0 - _target_movement_vector.length_squared())) + character.velocity = _lateral_motion_accumulator + +func _slice_time_rotation_physics_process(_delta:float) -> void: + character.rotate_y(-_target_movement_vector.x * _delta * 1.5) + +func _on_slice_aim_update(_is_aiming:bool, _angle:float) -> void: + _slice_time_angle = 1.0 - (absf(_angle - PI) / TAU) + _slice_time_aim_blend = 1.0 if _is_aiming else 0.0 +func _on_slice_executed() -> void: + _state_chart.send_event("slice") + +func _gravity_physics_process(_delta:float) -> void: + _gravity = clamp(_gravity + (ProjectSettings.get_setting("physics/3d/default_gravity") * _gravity_multiplier * _delta), 0.0, _terminal_velocity) + character.velocity -= character.global_basis.y * _gravity + +func _reset_all_movement() -> void: + _target_movement_vector = Vector2.ZERO + _current_movement_speed = 0.0 + _lateral_motion_accumulator = Vector3.ZERO + _gravity = 0.0 + + character.character_skeleton.animation_tree["parameters/walk/blend_position"] = _current_movement_speed diff --git a/Assets/Classes/PlayerCharacter/player_movement_handler.gd.uid b/Assets/Classes/PlayerCharacter/player_movement_handler.gd.uid new file mode 100644 index 0000000..a571fd6 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/player_movement_handler.gd.uid @@ -0,0 +1 @@ +uid://bc2sn2m81a5xr diff --git a/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd b/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd new file mode 100644 index 0000000..efc47de --- /dev/null +++ b/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd @@ -0,0 +1,18 @@ +class_name SliceRingSpawner +extends Node3D + +@export var slice_ring_class : PackedScene + +var _slice_ring : SliceRing + + +func spawn(movement_handler:RootMovementHandler, _high_power:bool = false) -> void: + _slice_ring = slice_ring_class.instantiate() + _slice_ring.set_high_power(_high_power) + add_child(_slice_ring) + + _slice_ring.connect("slice_aim_update", Callable(movement_handler, "_on_slice_aim_update")) + _slice_ring.connect("slice_executed", Callable(movement_handler, "_on_slice_executed")) + +func despawn() -> void: + _slice_ring.queue_free() diff --git a/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd.uid b/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd.uid new file mode 100644 index 0000000..fd6f208 --- /dev/null +++ b/Assets/Classes/PlayerCharacter/slice_ring_spawner.gd.uid @@ -0,0 +1 @@ +uid://sv5e443msxb diff --git a/Assets/Classes/gameplay_camera.gd b/Assets/Classes/gameplay_camera.gd new file mode 100644 index 0000000..23f6655 --- /dev/null +++ b/Assets/Classes/gameplay_camera.gd @@ -0,0 +1,2 @@ +class_name GameplayCamera +extends Camera3D diff --git a/Assets/Classes/gameplay_camera.gd.uid b/Assets/Classes/gameplay_camera.gd.uid new file mode 100644 index 0000000..75cc645 --- /dev/null +++ b/Assets/Classes/gameplay_camera.gd.uid @@ -0,0 +1 @@ +uid://cbsye1i87ksvx diff --git a/Assets/Input/InputSignalMaps/camera_reset.tres b/Assets/Input/InputSignalMaps/camera_reset.tres new file mode 100644 index 0000000..50c1b30 --- /dev/null +++ b/Assets/Input/InputSignalMaps/camera_reset.tres @@ -0,0 +1,18 @@ +[gd_resource type="InputAction" format=3 uid="uid://dmxijkl1kwrxx"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_cdesr"] +device = -1 +button_index = 8 +pressed = true + +[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_i37c6"] +device = -1 +button_mask = 4 +position = Vector2(37, 12) +global_position = Vector2(44, 49) +button_index = 3 +pressed = true + +[resource] +action_name = &"camera_reset" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_cdesr"), SubResource("InputEventMouseButton_i37c6")]) diff --git a/Assets/Input/InputSignalMaps/camera_rotate.tres b/Assets/Input/InputSignalMaps/camera_rotate.tres new file mode 100644 index 0000000..a52717d --- /dev/null +++ b/Assets/Input/InputSignalMaps/camera_rotate.tres @@ -0,0 +1,60 @@ +[gd_resource type="InputAxis" format=3 uid="uid://7ycvycwqhee"] + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_0k6gj"] +device = -1 +axis = 3 +axis_value = 1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_v1vhj"] +device = -1 +axis = 3 +axis_value = -1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_e4x8j"] +negative = SubResource("InputEventJoypadMotion_0k6gj") +positive = SubResource("InputEventJoypadMotion_v1vhj") + +[sub_resource type="InputEventKey" id="InputEventKey_0k6gj"] +device = -1 +keycode = 4194322 + +[sub_resource type="InputEventKey" id="InputEventKey_v1vhj"] +device = -1 +keycode = 4194320 + +[sub_resource type="InputAxis2D" id="InputAxis2D_ltliw"] +negative = SubResource("InputEventKey_0k6gj") +positive = SubResource("InputEventKey_v1vhj") + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_e4x8j"] +device = -1 +axis = 2 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_ltliw"] +device = -1 +axis = 2 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_0k6gj"] +negative = SubResource("InputEventJoypadMotion_e4x8j") +positive = SubResource("InputEventJoypadMotion_ltliw") + +[sub_resource type="InputEventKey" id="InputEventKey_e4x8j"] +device = -1 +keycode = 4194319 + +[sub_resource type="InputEventKey" id="InputEventKey_ltliw"] +device = -1 +keycode = 4194321 + +[sub_resource type="InputAxis2D" id="InputAxis2D_v1vhj"] +negative = SubResource("InputEventKey_e4x8j") +positive = SubResource("InputEventKey_ltliw") + +[resource] +axis_name = &"camera_rotate" +deadzone = 0.1 +include_mouse = true +left_right_events = Array[InputAxis2D]([SubResource("InputAxis2D_0k6gj"), SubResource("InputAxis2D_v1vhj")]) +forward_back_events = Array[InputAxis2D]([SubResource("InputAxis2D_e4x8j"), SubResource("InputAxis2D_ltliw")]) diff --git a/Assets/Input/InputSignalMaps/enter_slice_time_action.tres b/Assets/Input/InputSignalMaps/enter_slice_time_action.tres new file mode 100644 index 0000000..b7a9413 --- /dev/null +++ b/Assets/Input/InputSignalMaps/enter_slice_time_action.tres @@ -0,0 +1,14 @@ +[gd_resource type="InputAction" format=3 uid="uid://dfcpn18atrwpg"] + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_pfjn4"] +device = -1 +axis = 4 +axis_value = 1.0 + +[sub_resource type="InputEventKey" id="InputEventKey_vg57m"] +device = -1 +keycode = 4194326 + +[resource] +action_name = &"slice_time" +input_events = Array[InputEvent]([SubResource("InputEventJoypadMotion_pfjn4"), SubResource("InputEventKey_vg57m")]) diff --git a/Assets/Input/InputSignalMaps/jump_action.tres b/Assets/Input/InputSignalMaps/jump_action.tres new file mode 100644 index 0000000..e6a55d9 --- /dev/null +++ b/Assets/Input/InputSignalMaps/jump_action.tres @@ -0,0 +1,14 @@ +[gd_resource type="InputAction" format=3 uid="uid://d1q54ggfrjnq3"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_26rbj"] +device = -1 +pressed = true + +[sub_resource type="InputEventKey" id="InputEventKey_26rbj"] +device = -1 +keycode = 32 +unicode = 32 + +[resource] +action_name = &"jump" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_26rbj"), SubResource("InputEventKey_26rbj")]) diff --git a/Assets/Input/InputSignalMaps/movement_lateral.tres b/Assets/Input/InputSignalMaps/movement_lateral.tres new file mode 100644 index 0000000..673afd5 --- /dev/null +++ b/Assets/Input/InputSignalMaps/movement_lateral.tres @@ -0,0 +1,60 @@ +[gd_resource type="InputAxis" format=3 uid="uid://dfupg3cm152ut"] + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_t6uew"] +device = -1 +axis = 1 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_w6voo"] +device = -1 +axis = 1 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_7w10n"] +negative = SubResource("InputEventJoypadMotion_t6uew") +positive = SubResource("InputEventJoypadMotion_w6voo") + +[sub_resource type="InputEventKey" id="InputEventKey_7w10n"] +device = -1 +keycode = 87 +unicode = 119 + +[sub_resource type="InputEventKey" id="InputEventKey_ko4qf"] +device = -1 +keycode = 83 +unicode = 115 + +[sub_resource type="InputAxis2D" id="InputAxis2D_ko4qf"] +negative = SubResource("InputEventKey_7w10n") +positive = SubResource("InputEventKey_ko4qf") + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_nnlkf"] +device = -1 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_ugjsg"] +device = -1 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_1bdm0"] +negative = SubResource("InputEventJoypadMotion_nnlkf") +positive = SubResource("InputEventJoypadMotion_ugjsg") + +[sub_resource type="InputEventKey" id="InputEventKey_t6uew"] +device = -1 +keycode = 65 +unicode = 97 + +[sub_resource type="InputEventKey" id="InputEventKey_w6voo"] +device = -1 +keycode = 68 +unicode = 100 + +[sub_resource type="InputAxis2D" id="InputAxis2D_8pwhr"] +negative = SubResource("InputEventKey_t6uew") +positive = SubResource("InputEventKey_w6voo") + +[resource] +axis_name = &"movement" +left_right_events = Array[InputAxis2D]([SubResource("InputAxis2D_1bdm0"), SubResource("InputAxis2D_8pwhr")]) +forward_back_events = Array[InputAxis2D]([SubResource("InputAxis2D_7w10n"), SubResource("InputAxis2D_ko4qf")]) diff --git a/Assets/Input/InputSignalMaps/movement_slice_time.tres b/Assets/Input/InputSignalMaps/movement_slice_time.tres new file mode 100644 index 0000000..076ed22 --- /dev/null +++ b/Assets/Input/InputSignalMaps/movement_slice_time.tres @@ -0,0 +1,61 @@ +[gd_resource type="InputAxis" format=3 uid="uid://dq58xo838t1vr"] + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_t6uew"] +device = -1 +axis = 1 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_w6voo"] +device = -1 +axis = 1 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_7w10n"] +negative = SubResource("InputEventJoypadMotion_t6uew") +positive = SubResource("InputEventJoypadMotion_w6voo") + +[sub_resource type="InputEventKey" id="InputEventKey_7w10n"] +device = -1 +keycode = 87 +unicode = 119 + +[sub_resource type="InputEventKey" id="InputEventKey_ko4qf"] +device = -1 +keycode = 83 +unicode = 115 + +[sub_resource type="InputAxis2D" id="InputAxis2D_ko4qf"] +negative = SubResource("InputEventKey_7w10n") +positive = SubResource("InputEventKey_ko4qf") + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_nnlkf"] +device = -1 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_ugjsg"] +device = -1 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_1bdm0"] +negative = SubResource("InputEventJoypadMotion_nnlkf") +positive = SubResource("InputEventJoypadMotion_ugjsg") + +[sub_resource type="InputEventKey" id="InputEventKey_t6uew"] +device = -1 +keycode = 65 +unicode = 97 + +[sub_resource type="InputEventKey" id="InputEventKey_w6voo"] +device = -1 +keycode = 68 +unicode = 100 + +[sub_resource type="InputAxis2D" id="InputAxis2D_8pwhr"] +negative = SubResource("InputEventKey_t6uew") +positive = SubResource("InputEventKey_w6voo") + +[resource] +axis_name = &"slice_time_rotate" +deadzone = 0.333 +left_right_events = Array[InputAxis2D]([SubResource("InputAxis2D_1bdm0"), SubResource("InputAxis2D_8pwhr")]) +forward_back_events = Array[InputAxis2D]([SubResource("InputAxis2D_7w10n"), SubResource("InputAxis2D_ko4qf")]) diff --git a/Assets/Input/InputSignalMaps/slice_ring_rotate.tres b/Assets/Input/InputSignalMaps/slice_ring_rotate.tres new file mode 100644 index 0000000..c66e06e --- /dev/null +++ b/Assets/Input/InputSignalMaps/slice_ring_rotate.tres @@ -0,0 +1,35 @@ +[gd_resource type="InputAxis" format=3 uid="uid://ixx2d1855vx4"] + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_42ugi"] +device = -1 +axis = 3 +axis_value = 1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_xlcof"] +device = -1 +axis = 3 +axis_value = -1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_sjcya"] +negative = SubResource("InputEventJoypadMotion_42ugi") +positive = SubResource("InputEventJoypadMotion_xlcof") + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_01t1h"] +device = -1 +axis = 2 +axis_value = -1.0 + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_56ixp"] +device = -1 +axis = 2 +axis_value = 1.0 + +[sub_resource type="InputAxis2D" id="InputAxis2D_4tj37"] +negative = SubResource("InputEventJoypadMotion_01t1h") +positive = SubResource("InputEventJoypadMotion_56ixp") + +[resource] +axis_name = &"aim_slice_ring" +include_mouse = true +left_right_events = Array[InputAxis2D]([SubResource("InputAxis2D_4tj37")]) +forward_back_events = Array[InputAxis2D]([SubResource("InputAxis2D_sjcya")]) diff --git a/Assets/Input/InputSignalMaps/slice_time_horizontal_slice_input.tres b/Assets/Input/InputSignalMaps/slice_time_horizontal_slice_input.tres new file mode 100644 index 0000000..3500d32 --- /dev/null +++ b/Assets/Input/InputSignalMaps/slice_time_horizontal_slice_input.tres @@ -0,0 +1,23 @@ +[gd_resource type="InputAction" format=3 uid="uid://kjnyjst5impq"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_qkh7j"] +device = -1 +button_index = 2 +pressed = true + +[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_q88nb"] +device = -1 +axis = 5 +axis_value = 1.0 + +[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_ds86p"] +device = -1 +button_mask = 1 +position = Vector2(191, 21) +global_position = Vector2(198, 58) +button_index = 1 +pressed = true + +[resource] +action_name = &"horizontal_slice" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_qkh7j"), SubResource("InputEventJoypadMotion_q88nb"), SubResource("InputEventMouseButton_ds86p")]) diff --git a/Assets/Input/InputSignalMaps/slice_time_vertical_slice_input.tres b/Assets/Input/InputSignalMaps/slice_time_vertical_slice_input.tres new file mode 100644 index 0000000..9c2e847 --- /dev/null +++ b/Assets/Input/InputSignalMaps/slice_time_vertical_slice_input.tres @@ -0,0 +1,18 @@ +[gd_resource type="InputAction" format=3 uid="uid://bt3768w6y7wx3"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_jciev"] +device = -1 +button_index = 3 +pressed = true + +[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_58jnq"] +device = -1 +button_mask = 2 +position = Vector2(112, 2) +global_position = Vector2(119, 39) +button_index = 2 +pressed = true + +[resource] +action_name = &"vertical_slice" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_jciev"), SubResource("InputEventMouseButton_58jnq")]) diff --git a/Assets/Input/InputSignalMaps/strong_attack_input.tres b/Assets/Input/InputSignalMaps/strong_attack_input.tres new file mode 100644 index 0000000..fd45e7a --- /dev/null +++ b/Assets/Input/InputSignalMaps/strong_attack_input.tres @@ -0,0 +1,18 @@ +[gd_resource type="InputAction" format=3 uid="uid://cq5rp6gexuug5"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_jciev"] +device = -1 +button_index = 3 +pressed = true + +[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_58jnq"] +device = -1 +button_mask = 2 +position = Vector2(112, 2) +global_position = Vector2(119, 39) +button_index = 2 +pressed = true + +[resource] +action_name = &"strong_attack" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_jciev"), SubResource("InputEventMouseButton_58jnq")]) diff --git a/Assets/Input/InputSignalMaps/ui_pause.tres b/Assets/Input/InputSignalMaps/ui_pause.tres new file mode 100644 index 0000000..99d1507 --- /dev/null +++ b/Assets/Input/InputSignalMaps/ui_pause.tres @@ -0,0 +1,18 @@ +[gd_resource type="InputAction" format=3 uid="uid://dpj5fc61mjrwm"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_vkcbb"] +device = -1 +button_index = 6 + +[sub_resource type="InputEventKey" id="InputEventKey_l4fhs"] +device = -1 +keycode = 4194305 + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_xc1oe"] +device = -1 +button_index = 20 +pressed = true + +[resource] +action_name = &"ui_pause" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_vkcbb"), SubResource("InputEventKey_l4fhs"), SubResource("InputEventJoypadButton_xc1oe")]) diff --git a/Assets/Input/InputSignalMaps/weak_attack_input.tres b/Assets/Input/InputSignalMaps/weak_attack_input.tres new file mode 100644 index 0000000..2352fae --- /dev/null +++ b/Assets/Input/InputSignalMaps/weak_attack_input.tres @@ -0,0 +1,18 @@ +[gd_resource type="InputAction" format=3 uid="uid://g2scisqvoke3"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_qkh7j"] +device = -1 +button_index = 2 +pressed = true + +[sub_resource type="InputEventMouseButton" id="InputEventMouseButton_ds86p"] +device = -1 +button_mask = 1 +position = Vector2(191, 21) +global_position = Vector2(198, 58) +button_index = 1 +pressed = true + +[resource] +action_name = &"weak_attack" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_qkh7j"), SubResource("InputEventMouseButton_ds86p")]) diff --git a/Assets/Input/camera_movement.tres b/Assets/Input/camera_movement.tres new file mode 100644 index 0000000..012bf7d --- /dev/null +++ b/Assets/Input/camera_movement.tres @@ -0,0 +1,8 @@ +[gd_resource type="InputResource" format=3 uid="uid://dji2q0ekqofcx"] + +[ext_resource type="InputAxis" uid="uid://7ycvycwqhee" path="res://Assets/Input/InputSignalMaps/camera_rotate.tres" id="1_gs03b"] +[ext_resource type="InputAction" uid="uid://dmxijkl1kwrxx" path="res://Assets/Input/InputSignalMaps/camera_reset.tres" id="1_r50ai"] + +[resource] +input_actions = Array[InputAction]([ExtResource("1_r50ai")]) +input_axes = Array[InputAxis]([ExtResource("1_gs03b")]) diff --git a/Assets/Input/debug_controls.tres b/Assets/Input/debug_controls.tres new file mode 100644 index 0000000..a667980 --- /dev/null +++ b/Assets/Input/debug_controls.tres @@ -0,0 +1,81 @@ +[gd_resource type="InputResource" format=3 uid="uid://xh7ux5jkfxle"] + +[sub_resource type="InputEventJoypadButton" id="InputEventJoypadButton_bgm52"] +device = -1 +button_index = 20 +pressed = true + +[sub_resource type="InputEventKey" id="InputEventKey_bgm52"] +device = -1 +keycode = 96 +unicode = 96 + +[sub_resource type="InputAction" id="InputAction_bgm52"] +action_name = &"__debug_show_performance" +input_events = Array[InputEvent]([SubResource("InputEventJoypadButton_bgm52"), SubResource("InputEventKey_bgm52")]) + +[sub_resource type="InputEventKey" id="InputEventKey_xnfg2"] +device = -1 +keycode = 49 +unicode = 49 + +[sub_resource type="InputAction" id="InputAction_u5qib"] +action_name = &"__debug_debugdraw_disabled" +input_events = Array[InputEvent]([SubResource("InputEventKey_xnfg2")]) + +[sub_resource type="InputEventKey" id="InputEventKey_eulgh"] +device = -1 +keycode = 50 +unicode = 50 + +[sub_resource type="InputAction" id="InputAction_jltft"] +action_name = &"__debug_debugdraw_wireframe" +input_events = Array[InputEvent]([SubResource("InputEventKey_eulgh")]) + +[sub_resource type="InputEventKey" id="InputEventKey_hv5pj"] +device = -1 +keycode = 51 +unicode = 51 + +[sub_resource type="InputAction" id="InputAction_o5u5v"] +action_name = &"__debug_debugdraw_normalbuffer" +input_events = Array[InputEvent]([SubResource("InputEventKey_hv5pj")]) + +[sub_resource type="InputEventKey" id="InputEventKey_l3ex6"] +device = -1 +keycode = 52 +unicode = 52 + +[sub_resource type="InputAction" id="InputAction_l3ex6"] +action_name = &"__debug_debugdraw_overdraw" +input_events = Array[InputEvent]([SubResource("InputEventKey_l3ex6")]) + +[sub_resource type="InputEventKey" id="InputEventKey_13uum"] +device = -1 +keycode = 53 +unicode = 53 + +[sub_resource type="InputAction" id="InputAction_3pema"] +action_name = &"__debug_debugdraw_ssao" +input_events = Array[InputEvent]([SubResource("InputEventKey_13uum")]) + +[sub_resource type="InputEventKey" id="InputEventKey_3pema"] +device = -1 +keycode = 54 +unicode = 54 + +[sub_resource type="InputAction" id="InputAction_huv5r"] +action_name = &"__debug_debugdraw_sdfgi" +input_events = Array[InputEvent]([SubResource("InputEventKey_3pema")]) + +[sub_resource type="InputEventKey" id="InputEventKey_imorq"] +device = -1 +keycode = 55 +unicode = 55 + +[sub_resource type="InputAction" id="InputAction_l5vs5"] +action_name = &"__debug_debugdraw_ssil" +input_events = Array[InputEvent]([SubResource("InputEventKey_imorq")]) + +[resource] +input_actions = Array[InputAction]([SubResource("InputAction_bgm52"), SubResource("InputAction_u5qib"), SubResource("InputAction_jltft"), SubResource("InputAction_o5u5v"), SubResource("InputAction_l3ex6"), SubResource("InputAction_3pema"), SubResource("InputAction_huv5r"), SubResource("InputAction_l5vs5")]) diff --git a/Assets/Input/player_movement_slice_time.tres b/Assets/Input/player_movement_slice_time.tres new file mode 100644 index 0000000..f8288e0 --- /dev/null +++ b/Assets/Input/player_movement_slice_time.tres @@ -0,0 +1,8 @@ +[gd_resource type="InputResource" format=3 uid="uid://cmgrp420ec2r4"] + +[ext_resource type="InputAxis" uid="uid://dq58xo838t1vr" path="res://Assets/Input/InputSignalMaps/movement_slice_time.tres" id="2_0s5f1"] +[ext_resource type="InputAction" uid="uid://dfcpn18atrwpg" path="res://Assets/Input/InputSignalMaps/enter_slice_time_action.tres" id="3_nc7yg"] + +[resource] +input_actions = Array[InputAction]([ExtResource("3_nc7yg")]) +input_axes = Array[InputAxis]([ExtResource("2_0s5f1")]) diff --git a/Assets/Input/player_movement_standard.tres b/Assets/Input/player_movement_standard.tres new file mode 100644 index 0000000..df5c8e8 --- /dev/null +++ b/Assets/Input/player_movement_standard.tres @@ -0,0 +1,10 @@ +[gd_resource type="InputResource" format=3 uid="uid://cpe4kejnk3po0"] + +[ext_resource type="InputAction" uid="uid://dfcpn18atrwpg" path="res://Assets/Input/InputSignalMaps/enter_slice_time_action.tres" id="1_8pwhr"] +[ext_resource type="InputAction" uid="uid://g2scisqvoke3" path="res://Assets/Input/InputSignalMaps/weak_attack_input.tres" id="1_ew7g5"] +[ext_resource type="InputAction" uid="uid://cq5rp6gexuug5" path="res://Assets/Input/InputSignalMaps/strong_attack_input.tres" id="2_nftq1"] +[ext_resource type="InputAxis" uid="uid://dq58xo838t1vr" path="res://Assets/Input/InputSignalMaps/movement_slice_time.tres" id="4_ew7g5"] + +[resource] +input_actions = Array[InputAction]([ExtResource("1_ew7g5"), ExtResource("2_nftq1"), ExtResource("1_8pwhr")]) +input_axes = Array[InputAxis]([ExtResource("4_ew7g5")]) diff --git a/Assets/Input/slice_ring_movement.tres b/Assets/Input/slice_ring_movement.tres new file mode 100644 index 0000000..1584630 --- /dev/null +++ b/Assets/Input/slice_ring_movement.tres @@ -0,0 +1,9 @@ +[gd_resource type="InputResource" format=3 uid="uid://chdohrtepnymk"] + +[ext_resource type="InputAction" uid="uid://kjnyjst5impq" path="res://Assets/Input/InputSignalMaps/slice_time_horizontal_slice_input.tres" id="1_spxym"] +[ext_resource type="InputAction" uid="uid://bt3768w6y7wx3" path="res://Assets/Input/InputSignalMaps/slice_time_vertical_slice_input.tres" id="2_115h8"] +[ext_resource type="InputAxis" uid="uid://ixx2d1855vx4" path="res://Assets/Input/InputSignalMaps/slice_ring_rotate.tres" id="3_spxym"] + +[resource] +input_actions = Array[InputAction]([ExtResource("1_spxym"), ExtResource("2_115h8")]) +input_axes = Array[InputAxis]([ExtResource("3_spxym")]) diff --git a/Assets/Input/ui_control.tres b/Assets/Input/ui_control.tres new file mode 100644 index 0000000..097c55e --- /dev/null +++ b/Assets/Input/ui_control.tres @@ -0,0 +1,6 @@ +[gd_resource type="InputResource" format=3 uid="uid://cpvpdxs6dhjj7"] + +[ext_resource type="InputAction" uid="uid://dpj5fc61mjrwm" path="res://Assets/Input/InputSignalMaps/ui_pause.tres" id="1_270bv"] + +[resource] +input_actions = Array[InputAction]([ExtResource("1_270bv")]) diff --git a/Assets/Levels/TestLevel/Sublevels/SM_Slice2_FirstSublevel.scn b/Assets/Levels/TestLevel/Sublevels/SM_Slice2_FirstSublevel.scn new file mode 100644 index 0000000..1000e4f Binary files /dev/null and b/Assets/Levels/TestLevel/Sublevels/SM_Slice2_FirstSublevel.scn differ diff --git a/Assets/Levels/TestLevel/test_level.tscn b/Assets/Levels/TestLevel/test_level.tscn new file mode 100644 index 0000000..3a17b39 --- /dev/null +++ b/Assets/Levels/TestLevel/test_level.tscn @@ -0,0 +1,69 @@ +[gd_scene format=3 uid="uid://dmm0ycdsufmic"] + +[ext_resource type="PackedScene" uid="uid://dhck4i8urax22" path="res://Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn" id="1_oaskl"] +[ext_resource type="Texture2D" uid="uid://btc0nme74t0l6" path="res://Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr" id="2_oaskl"] +[ext_resource type="Compositor" uid="uid://nocpbpmj23jw" path="res://Assets/Visuals/Shaders/Compositors/PostProcessCompositor.res" id="3_oaskl"] + +[sub_resource type="GameClasses" id="GameClasses_6ql8e"] +player_scene = ExtResource("1_oaskl") + +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_4k50d"] +panorama = ExtResource("2_oaskl") + +[sub_resource type="Sky" id="Sky_hy47e"] +sky_material = SubResource("PanoramaSkyMaterial_4k50d") + +[sub_resource type="Environment" id="Environment_i4ak4"] +background_mode = 2 +sky = SubResource("Sky_hy47e") +tonemap_mode = 4 +ssr_enabled = true +ssr_max_steps = 128 +ssao_enabled = true +sdfgi_cascades = 5 +sdfgi_y_scale = 2 +glow_enabled = true +glow_intensity = 0.1 +adjustment_enabled = true + +[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_3158n"] +auto_exposure_enabled = true +auto_exposure_scale = 0.8 + +[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_6ql8e"] + +[node name="LevelScene" type="LevelScene" unique_id=2026807126] +game_classes = SubResource("GameClasses_6ql8e") +level_death_plane = NodePath("KillPlane") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=199442323] +environment = SubResource("Environment_i4ak4") +camera_attributes = SubResource("CameraAttributesPractical_3158n") +compositor = ExtResource("3_oaskl") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=383082239] +transform = Transform3D(-0.44511947, -0.66907454, -0.5951538, 0.70797265, -0.6699047, 0.22361243, -0.5483097, -0.32181838, 0.771874, 0, 0.7965193, 0) +light_angular_distance = 0.5 +light_cull_mask = 4293919743 +shadow_enabled = true +shadow_caster_mask = 4293918947 +directional_shadow_split_2 = 0.138 +directional_shadow_split_3 = 0.379 +directional_shadow_blend_splits = true + +[node name="PlayerOrigin" type="PlayerOrigin" parent="." unique_id=1658520288] +player_scene = ExtResource("1_oaskl") +sublevel_scenes_to_load = Array[NodePath]([NodePath("../SublevelScene")]) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.030785, -0.108988404, -5.505717) + +[node name="SublevelScene" type="SublevelScene" parent="." unique_id=1574291217] +sublevel = &"uid://b77fd4bv6f3p4" +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0) + +[node name="KillPlane" type="Area3D" parent="." unique_id=1026902213] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5.797154, 0) +collision_mask = 816 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="KillPlane" unique_id=461034314] +shape = SubResource("WorldBoundaryShape3D_6ql8e") +debug_color = Color(1, 0, 0, 1) diff --git a/Assets/Levels/TestLevel/test_level.tscn7193014792.tmp b/Assets/Levels/TestLevel/test_level.tscn7193014792.tmp new file mode 100644 index 0000000..ed535ee --- /dev/null +++ b/Assets/Levels/TestLevel/test_level.tscn7193014792.tmp @@ -0,0 +1,82 @@ +[gd_scene format=3 uid="uid://dmm0ycdsufmic"] + +[ext_resource type="PackedScene" uid="uid://dhck4i8urax22" path="res://Assets/Classes/PlayerCharacter/PlayerCharacter3D.tscn" id="1_oaskl"] +[ext_resource type="Texture2D" uid="uid://d22vlve4a6a7" path="res://Assets/Textures/zwartkops_start_morning_4k.hdr" id="2_oaskl"] +[ext_resource type="Script" uid="uid://crtv5xh5ud5kq" path="res://Assets/Scripts/post_process_shader.gd" id="3_oaskl"] + +[sub_resource type="GameClasses" id="GameClasses_6ql8e"] +player_scene = ExtResource("1_oaskl") + +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_4k50d"] +panorama = ExtResource("2_oaskl") + +[sub_resource type="Sky" id="Sky_hy47e"] +sky_material = SubResource("PanoramaSkyMaterial_4k50d") + +[sub_resource type="Environment" id="Environment_i4ak4"] +background_mode = 2 +sky = SubResource("Sky_hy47e") +tonemap_mode = 4 +ssr_enabled = true +ssr_max_steps = 128 +ssao_enabled = true +sdfgi_enabled = true +sdfgi_cascades = 5 +sdfgi_y_scale = 2 +glow_enabled = true +adjustment_enabled = true + +[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_3158n"] +auto_exposure_enabled = true +auto_exposure_scale = 0.8 + +[sub_resource type="CompositorEffect" id="CompositorEffect_oaskl"] +resource_local_to_scene = false +resource_name = "" +enabled = true +effect_callback_type = 4 +needs_motion_vectors = false +needs_normal_roughness = false +script = ExtResource("3_oaskl") +metadata/_custom_type_script = "uid://crtv5xh5ud5kq" + +[sub_resource type="Compositor" id="Compositor_tuohd"] +compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_oaskl")]) + +[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_6ql8e"] + +[node name="LevelScene" type="LevelScene" unique_id=2026807126] +game_classes = SubResource("GameClasses_6ql8e") +level_death_plane = NodePath("KillPlane") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=199442323] +environment = SubResource("Environment_i4ak4") +camera_attributes = SubResource("CameraAttributesPractical_3158n") +compositor = SubResource("Compositor_tuohd") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=383082239] +transform = Transform3D(-0.44511947, -0.66907454, -0.5951538, 0.70797265, -0.6699047, 0.22361243, -0.5483097, -0.32181838, 0.771874, 0, 0.7965193, 0) +light_angular_distance = 0.5 +light_cull_mask = 4293919743 +shadow_enabled = true +shadow_caster_mask = 4293918721 +directional_shadow_split_2 = 0.138 +directional_shadow_split_3 = 0.379 +directional_shadow_blend_splits = true + +[node name="PlayerOrigin" type="PlayerOrigin" parent="." unique_id=1658520288] +player_scene = ExtResource("1_oaskl") +sublevel_scenes_to_load = Array[NodePath]([NodePath("../SublevelScene")]) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -19.030785, -0.108988404, -6.2080345) + +[node name="SublevelScene" type="SublevelScene" parent="." unique_id=1574291217] +sublevel = &"uid://b77fd4bv6f3p4" +transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0) + +[node name="KillPlane" type="Area3D" parent="." unique_id=1026902213] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5.797154, 0) +collision_mask = 816 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="KillPlane" unique_id=461034314] +shape = SubResource("WorldBoundaryShape3D_6ql8e") +debug_color = Color(1, 0, 0, 1) diff --git a/Assets/Mixamo.bin b/Assets/Mixamo.bin new file mode 100644 index 0000000..5f205fa Binary files /dev/null and b/Assets/Mixamo.bin differ diff --git a/Assets/Mixamo_Skeleton.bin b/Assets/Mixamo_Skeleton.bin new file mode 100644 index 0000000..9735855 Binary files /dev/null and b/Assets/Mixamo_Skeleton.bin differ diff --git a/Assets/SK_Mixamo.bin b/Assets/SK_Mixamo.bin new file mode 100644 index 0000000..9735855 Binary files /dev/null and b/Assets/SK_Mixamo.bin differ diff --git a/Assets/SM_KatanaPlaceholder.bin b/Assets/SM_KatanaPlaceholder.bin new file mode 100644 index 0000000..d617adb Binary files /dev/null and b/Assets/SM_KatanaPlaceholder.bin differ diff --git a/Assets/SM_KatanaPlaceholder.gltf b/Assets/SM_KatanaPlaceholder.gltf new file mode 100644 index 0000000..cff5286 --- /dev/null +++ b/Assets/SM_KatanaPlaceholder.gltf @@ -0,0 +1,159 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_materials_specular" + ], + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"SM_KatanaPlaceholder" + } + ], + "materials":[ + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"WorldGridMaterial", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + } + ], + "meshes":[ + { + "name":"SM_KatanaPlaceholder", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TEXCOORD_1":3, + "TANGENT":4 + }, + "indices":5, + "material":0 + } + ] + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":249, + "max":[ + 0.010345259681344032, + 1.0367469787597656, + 0.021480100229382515 + ], + "min":[ + -0.010209070518612862, + -0.2829752564430237, + -0.1701703816652298 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":249, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":249, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":249, + "type":"VEC2" + }, + { + "bufferView":4, + "componentType":5126, + "count":249, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5123, + "count":573, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":2988, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":2988, + "byteOffset":2988, + "target":34962 + }, + { + "buffer":0, + "byteLength":1992, + "byteOffset":5976, + "target":34962 + }, + { + "buffer":0, + "byteLength":1992, + "byteOffset":7968, + "target":34962 + }, + { + "buffer":0, + "byteLength":3984, + "byteOffset":9960, + "target":34962 + }, + { + "buffer":0, + "byteLength":1146, + "byteOffset":13944, + "target":34963 + } + ], + "buffers":[ + { + "byteLength":15092, + "uri":"SM_KatanaPlaceholder.bin" + } + ] +} diff --git a/Assets/SM_KatanaPlaceholder.gltf.import b/Assets/SM_KatanaPlaceholder.gltf.import new file mode 100644 index 0000000..b1697db --- /dev/null +++ b/Assets/SM_KatanaPlaceholder.gltf.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c72ihrbdt1d06" +path="res://.godot/imported/SM_KatanaPlaceholder.gltf-23f4ab7b8512c202bf8c23c0b19ab424.scn" + +[deps] + +source_file="res://Assets/SM_KatanaPlaceholder.gltf" +dest_files=["res://.godot/imported/SM_KatanaPlaceholder.gltf-23f4ab7b8512c202bf8c23c0b19ab424.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/SM_RoadPanel.bin b/Assets/SM_RoadPanel.bin new file mode 100644 index 0000000..7683b7e Binary files /dev/null and b/Assets/SM_RoadPanel.bin differ diff --git a/Assets/SM_Slice2_FirstSublevel.scn.depren b/Assets/SM_Slice2_FirstSublevel.scn.depren new file mode 100644 index 0000000..3e06f4d Binary files /dev/null and b/Assets/SM_Slice2_FirstSublevel.scn.depren differ diff --git a/Assets/SM_Slice2_Ground.bin b/Assets/SM_Slice2_Ground.bin new file mode 100644 index 0000000..cd245d6 Binary files /dev/null and b/Assets/SM_Slice2_Ground.bin differ diff --git a/Assets/SM_Slice2_Ground.gltf b/Assets/SM_Slice2_Ground.gltf new file mode 100644 index 0000000..909b635 --- /dev/null +++ b/Assets/SM_Slice2_Ground.gltf @@ -0,0 +1,2962 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_materials_specular" + ], + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Plane2_LOD0", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.7071069478988647 + ], + "scale":[ + 0.09999998658895493, + 0.009999999776482582, + 0.19999997317790985 + ], + "translation":[ + -80.19999694824219, + -0.17499999701976776, + -10.800000190734863 + ] + }, + { + "mesh":1, + "name":"Plane4_LOD0", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.06799998879432678, + 0.009999999776482582, + 0.03999999165534973 + ], + "translation":[ + -20.200000762939453, + -0.17499999701976776, + 5.199999809265137 + ] + }, + { + "mesh":2, + "name":"Plane_LOD0", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.09999998658895493, + 0.009999999776482582, + 0.07999998331069946 + ], + "translation":[ + 9.800000190734863, + -0.17499999701976776, + -10.800000190734863 + ] + }, + { + "mesh":3, + "name":"SM_ground_mod_curb_corner_a2_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -130.1999969482422, + -0.17499999701976776, + -26.799999237060547 + ] + }, + { + "mesh":3, + "name":"SM_ground_mod_curb_corner_a3_LOD0", + "rotation":[ + 0, + -1, + 0, + 7.549789415861596e-08 + ], + "scale":[ + 0.009999999776482582, + 0.009999999776482582, + 0.009999999776482582 + ], + "translation":[ + -130.1999969482422, + -0.17499999701976776, + -10.800000190734863 + ] + }, + { + "mesh":3, + "name":"SM_ground_mod_curb_corner_a_LOD0", + "scale":[ + 0.009999999776482582, + 0.009999999776482582, + 0.009999999776482582 + ], + "translation":[ + 14.800000190734863, + -0.17499999701976776, + -26.799999237060547 + ] + }, + { + "mesh":4, + "name":"SM_ground_mod_walkway_a", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.03999999165534973, + 0.009999999776482582, + 0.03999999165534973 + ], + "translation":[ + -20.200000762939453, + -0.17499999701976776, + -2.799999952316284 + ] + }, + { + "mesh":5, + "name":"SM_ground_mod_walkway_c_concrete2_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -12.699999809265137, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":6, + "name":"SM_ground_mod_walkway_c_concrete5_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.04999999329447746 + ], + "translation":[ + 2.299999952316284, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":7, + "name":"SM_ground_mod_walkway_c_concrete10_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.06999998539686203 + ], + "translation":[ + -37.70000076293945, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":8, + "name":"SM_ground_mod_walkway_c_concrete14_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -62.70000076293945, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":5, + "name":"SM_ground_mod_walkway_c_concrete17_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -57.70000076293945, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":9, + "name":"SM_ground_mod_walkway_c_concrete18_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.0283999964594841 + ], + "translation":[ + -72.30000305175781, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":8, + "name":"SM_ground_mod_walkway_c_concrete19_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -86.9000015258789, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":5, + "name":"SM_ground_mod_walkway_c_concrete20_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -81.9000015258789, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":10, + "name":"SM_ground_mod_walkway_c_concrete24_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.08159998804330826 + ], + "translation":[ + -109.80000305175781, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":6, + "name":"SM_ground_mod_walkway_c_concrete37_LOD0", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.07999999076128006 + ], + "translation":[ + 9.799999237060547, + -0.17499999701976776, + -15.800000190734863 + ] + }, + { + "mesh":6, + "name":"SM_ground_mod_walkway_c_concrete37_LOD0.001", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.07999999076128006 + ], + "translation":[ + -30.200000762939453, + -0.17499999701976776, + -15.800000190734863 + ] + }, + { + "mesh":6, + "name":"SM_ground_mod_walkway_c_concrete37_LOD0.002", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.07999999076128006 + ], + "translation":[ + -70.19999694824219, + -0.17499999701976776, + -15.800000190734863 + ] + }, + { + "mesh":6, + "name":"SM_ground_mod_walkway_c_concrete37_LOD0.003", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.07999999076128006 + ], + "translation":[ + -110.19999694824219, + -0.17499999701976776, + -15.800000190734863 + ] + }, + { + "mesh":8, + "name":"SM_ground_mod_walkway_c_concrete_LOD0", + "rotation":[ + 0, + -0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.009999997913837433 + ], + "translation":[ + -17.700000762939453, + -0.17499999701976776, + -21.799999237060547 + ] + }, + { + "mesh":10, + "name":"SM_ground_mod_walkway_d_concrete_b4_LOD0", + "scale":[ + 0.009999999776482582, + 0.009999999776482582, + 0.07999999821186066 + ], + "translation":[ + 19.799999237060547, + -0.17499999701976776, + -46.79999923706055 + ] + }, + { + "mesh":11, + "name":"SM_RoadPanel", + "rotation":[ + 0, + 0.7071066498756409, + 0, + 0.70710688829422 + ], + "scale":[ + 0.009999997913837433, + 0.009999999776482582, + 0.31999993324279785 + ], + "translation":[ + -50.20000076293945, + -0.14499999582767487, + -18.799999237060547 + ] + } + ], + "materials":[ + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled200x100", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled40x68", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled80x96", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Ground_Tiles_A", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Curb_B", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Red_Pavers_umkkcfqg_4K_80x79", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Dirt_Gardens_A_0", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Ground_Tiles_A_1", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Curb_B_2", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled5", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled7", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Dirt_Gardens_A", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled3", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Concrete_Pavement_vh3ndge_8K_Faded_Tiled8", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 0, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 0.4000000059604645, + 0.4000000059604645, + 0.4000000059604645 + ] + } + }, + "name":"MI_Damaged_Road_WorldAligned_vfyheb3_4K1", + "pbrMetallicRoughness":{ + "baseColorTexture":{ + "index":0 + }, + "metallicFactor":0 + } + } + ], + "meshes":[ + { + "name":"SM_ground_mod_walk_tile_megascans", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TEXCOORD_1":3, + "TEXCOORD_2":4, + "TEXCOORD_3":5, + "TEXCOORD_4":6, + "TANGENT":7 + }, + "indices":8, + "material":0 + } + ] + }, + { + "name":"SM_ground_mod_walk_tile_megascans.001", + "primitives":[ + { + "attributes":{ + "POSITION":9, + "NORMAL":10, + "TEXCOORD_0":11, + "TEXCOORD_1":12, + "TEXCOORD_2":13, + "TEXCOORD_3":14, + "TEXCOORD_4":15, + "TANGENT":16 + }, + "indices":8, + "material":1 + } + ] + }, + { + "name":"SM_ground_mod_walk_tile_megascans.002", + "primitives":[ + { + "attributes":{ + "POSITION":17, + "NORMAL":18, + "TEXCOORD_0":19, + "TEXCOORD_1":20, + "TEXCOORD_2":21, + "TEXCOORD_3":22, + "TEXCOORD_4":23, + "TANGENT":24 + }, + "indices":8, + "material":2 + } + ] + }, + { + "name":"SM_ground_mod_curb_corner_a", + "primitives":[ + { + "attributes":{ + "POSITION":25, + "NORMAL":26, + "TEXCOORD_0":27, + "TEXCOORD_1":28, + "TANGENT":29, + "COLOR_0":30, + "COLOR_1":31 + }, + "indices":32, + "material":3 + }, + { + "attributes":{ + "POSITION":33, + "NORMAL":34, + "TEXCOORD_0":35, + "TEXCOORD_1":36, + "TANGENT":37, + "COLOR_0":38, + "COLOR_1":39 + }, + "indices":40, + "material":4 + } + ] + }, + { + "name":"SM_ground_mod_tile_e", + "primitives":[ + { + "attributes":{ + "POSITION":41, + "NORMAL":42, + "TEXCOORD_0":43, + "TEXCOORD_1":44, + "TEXCOORD_2":45, + "TANGENT":46, + "COLOR_0":47, + "COLOR_1":48 + }, + "indices":49, + "material":5 + } + ] + }, + { + "name":"SM_ground_mod_walkway_b_concrete", + "primitives":[ + { + "attributes":{ + "POSITION":50, + "NORMAL":51, + "TEXCOORD_0":52, + "TEXCOORD_1":53, + "TANGENT":54, + "COLOR_0":55, + "COLOR_1":56 + }, + "indices":57, + "material":6 + }, + { + "attributes":{ + "POSITION":58, + "NORMAL":59, + "TEXCOORD_0":60, + "TEXCOORD_1":61, + "TANGENT":62, + "COLOR_0":63, + "COLOR_1":64 + }, + "indices":65, + "material":7 + }, + { + "attributes":{ + "POSITION":66, + "NORMAL":67, + "TEXCOORD_0":68, + "TEXCOORD_1":69, + "TANGENT":70, + "COLOR_0":71, + "COLOR_1":72 + }, + "indices":73, + "material":8 + } + ] + }, + { + "name":"SM_ground_mod_walkway_d_concrete_b_megascans", + "primitives":[ + { + "attributes":{ + "POSITION":74, + "NORMAL":75, + "TEXCOORD_0":76, + "TEXCOORD_1":77, + "TEXCOORD_2":78, + "TEXCOORD_3":79, + "TEXCOORD_4":80, + "TANGENT":81 + }, + "indices":82, + "material":9 + } + ] + }, + { + "name":"SM_ground_mod_walkway_d_concrete_b_megascans.001", + "primitives":[ + { + "attributes":{ + "POSITION":83, + "NORMAL":84, + "TEXCOORD_0":85, + "TEXCOORD_1":86, + "TEXCOORD_2":87, + "TEXCOORD_3":88, + "TEXCOORD_4":89, + "TANGENT":90 + }, + "indices":82, + "material":10 + } + ] + }, + { + "name":"SM_ground_mod_walkway_c_concrete", + "primitives":[ + { + "attributes":{ + "POSITION":91, + "NORMAL":92, + "TEXCOORD_0":93, + "TEXCOORD_1":94, + "TANGENT":95, + "COLOR_0":96, + "COLOR_1":97 + }, + "indices":98, + "material":3 + }, + { + "attributes":{ + "POSITION":99, + "NORMAL":100, + "TEXCOORD_0":101, + "TEXCOORD_1":102, + "TANGENT":103, + "COLOR_0":104, + "COLOR_1":105 + }, + "indices":106, + "material":11 + }, + { + "attributes":{ + "POSITION":107, + "NORMAL":108, + "TEXCOORD_0":109, + "TEXCOORD_1":110, + "TANGENT":111, + "COLOR_0":112, + "COLOR_1":113 + }, + "indices":73, + "material":8 + } + ] + }, + { + "name":"SM_ground_mod_walkway_d_concrete_b_megascans.002", + "primitives":[ + { + "attributes":{ + "POSITION":114, + "NORMAL":115, + "TEXCOORD_0":116, + "TEXCOORD_1":117, + "TEXCOORD_2":118, + "TEXCOORD_3":119, + "TEXCOORD_4":120, + "TANGENT":121 + }, + "indices":82, + "material":12 + } + ] + }, + { + "name":"SM_ground_mod_walkway_d_concrete_b_megascans.003", + "primitives":[ + { + "attributes":{ + "POSITION":122, + "NORMAL":123, + "TEXCOORD_0":124, + "TEXCOORD_1":125, + "TEXCOORD_2":126, + "TEXCOORD_3":127, + "TEXCOORD_4":128, + "TANGENT":129 + }, + "indices":82, + "material":13 + } + ] + }, + { + "name":"SM_RoadPanel", + "primitives":[ + { + "attributes":{ + "POSITION":130, + "NORMAL":131, + "TEXCOORD_0":132, + "TEXCOORD_1":133, + "TANGENT":134 + }, + "indices":135, + "material":14 + } + ] + } + ], + "textures":[ + { + "sampler":0, + "source":0 + } + ], + "images":[ + { + "mimeType":"image/png", + "name":"T_Damaged_Road_vfyheb3_4K_D", + "uri":"Textures/T_Damaged_Road_vfyheb3_4K_D.png" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":5, + "max":[ + 0, + 17.5772705078125, + 250 + ], + "min":[ + -500, + 17.576927185058594, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":5, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":4, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":5, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":6, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":7, + "componentType":5126, + "count":5, + "type":"VEC4" + }, + { + "bufferView":8, + "componentType":5123, + "count":6, + "type":"SCALAR" + }, + { + "bufferView":9, + "componentType":5126, + "count":5, + "max":[ + 0, + 17.5772705078125, + 250 + ], + "min":[ + -500, + 17.576927185058594, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":10, + "componentType":5126, + "count":5, + "type":"VEC3" + }, + { + "bufferView":11, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":12, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":13, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":14, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":15, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":16, + "componentType":5126, + "count":5, + "type":"VEC4" + }, + { + "bufferView":17, + "componentType":5126, + "count":5, + "max":[ + 0, + 17.5772705078125, + 250 + ], + "min":[ + -500, + 17.576927185058594, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":18, + "componentType":5126, + "count":5, + "type":"VEC3" + }, + { + "bufferView":19, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":20, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":21, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":22, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":23, + "componentType":5126, + "count":5, + "type":"VEC2" + }, + { + "bufferView":24, + "componentType":5126, + "count":5, + "type":"VEC4" + }, + { + "bufferView":25, + "componentType":5126, + "count":626, + "max":[ + 481.8287048339844, + 17.57746124267578, + 481.8287048339844 + ], + "min":[ + -0.0011976448586210608, + 17.577251434326172, + -0.0011976448586210608 + ], + "type":"VEC3" + }, + { + "bufferView":26, + "componentType":5126, + "count":626, + "type":"VEC3" + }, + { + "bufferView":27, + "componentType":5126, + "count":626, + "type":"VEC2" + }, + { + "bufferView":28, + "componentType":5126, + "count":626, + "type":"VEC2" + }, + { + "bufferView":29, + "componentType":5126, + "count":626, + "type":"VEC4" + }, + { + "bufferView":30, + "componentType":5126, + "count":626, + "type":"VEC3" + }, + { + "bufferView":31, + "componentType":5123, + "count":626, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":32, + "componentType":5123, + "count":696, + "type":"SCALAR" + }, + { + "bufferView":33, + "componentType":5126, + "count":488, + "max":[ + 549.9995727539062, + 17.57745933532715, + 549.9995727539062 + ], + "min":[ + -0.0007768507348373532, + -0.981856644153595, + -0.0007768507348373532 + ], + "type":"VEC3" + }, + { + "bufferView":34, + "componentType":5126, + "count":488, + "type":"VEC3" + }, + { + "bufferView":35, + "componentType":5126, + "count":488, + "type":"VEC2" + }, + { + "bufferView":36, + "componentType":5126, + "count":488, + "type":"VEC2" + }, + { + "bufferView":37, + "componentType":5126, + "count":488, + "type":"VEC4" + }, + { + "bufferView":38, + "componentType":5126, + "count":488, + "type":"VEC3" + }, + { + "bufferView":39, + "componentType":5123, + "count":488, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":40, + "componentType":5123, + "count":2340, + "type":"SCALAR" + }, + { + "bufferView":41, + "componentType":5126, + "count":35, + "max":[ + 200.00003051757812, + 18.435016632080078, + 249.9979248046875 + ], + "min":[ + -199.99993896484375, + 15.742081642150879, + -250.0032958984375 + ], + "type":"VEC3" + }, + { + "bufferView":42, + "componentType":5126, + "count":35, + "type":"VEC3" + }, + { + "bufferView":43, + "componentType":5126, + "count":35, + "type":"VEC2" + }, + { + "bufferView":44, + "componentType":5126, + "count":35, + "type":"VEC2" + }, + { + "bufferView":45, + "componentType":5126, + "count":35, + "type":"VEC2" + }, + { + "bufferView":46, + "componentType":5126, + "count":35, + "type":"VEC4" + }, + { + "bufferView":47, + "componentType":5126, + "count":35, + "type":"VEC3" + }, + { + "bufferView":48, + "componentType":5123, + "count":35, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":49, + "componentType":5123, + "count":144, + "type":"SCALAR" + }, + { + "bufferView":50, + "componentType":5126, + "count":79, + "max":[ + -77.50804138183594, + 13.664119720458984, + 250.00201416015625 + ], + "min":[ + -225.04713439941406, + 10.518132209777832, + -227.91012573242188 + ], + "type":"VEC3" + }, + { + "bufferView":51, + "componentType":5126, + "count":79, + "type":"VEC3" + }, + { + "bufferView":52, + "componentType":5126, + "count":79, + "type":"VEC2" + }, + { + "bufferView":53, + "componentType":5126, + "count":79, + "type":"VEC2" + }, + { + "bufferView":54, + "componentType":5126, + "count":79, + "type":"VEC4" + }, + { + "bufferView":55, + "componentType":5126, + "count":79, + "type":"VEC3" + }, + { + "bufferView":56, + "componentType":5123, + "count":79, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":57, + "componentType":5123, + "count":90, + "type":"SCALAR" + }, + { + "bufferView":58, + "componentType":5126, + "count":342, + "max":[ + -18.1707763671875, + 19.024988174438477, + 250.00201416015625 + ], + "min":[ + -649.9967041015625, + 4.206480026245117, + -250.00204467773438 + ], + "type":"VEC3" + }, + { + "bufferView":59, + "componentType":5126, + "count":342, + "type":"VEC3" + }, + { + "bufferView":60, + "componentType":5126, + "count":342, + "type":"VEC2" + }, + { + "bufferView":61, + "componentType":5126, + "count":342, + "type":"VEC2" + }, + { + "bufferView":62, + "componentType":5126, + "count":342, + "type":"VEC4" + }, + { + "bufferView":63, + "componentType":5126, + "count":342, + "type":"VEC3" + }, + { + "bufferView":64, + "componentType":5123, + "count":342, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":65, + "componentType":5123, + "count":753, + "type":"SCALAR" + }, + { + "bufferView":66, + "componentType":5126, + "count":215, + "max":[ + 50, + 17.577253341674805, + 250 + ], + "min":[ + -18.17083740234375, + -0.9818620085716248, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":67, + "componentType":5126, + "count":215, + "type":"VEC3" + }, + { + "bufferView":68, + "componentType":5126, + "count":215, + "type":"VEC2" + }, + { + "bufferView":69, + "componentType":5126, + "count":215, + "type":"VEC2" + }, + { + "bufferView":70, + "componentType":5126, + "count":215, + "type":"VEC4" + }, + { + "bufferView":71, + "componentType":5126, + "count":215, + "type":"VEC3" + }, + { + "bufferView":72, + "componentType":5123, + "count":215, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":73, + "componentType":5123, + "count":468, + "type":"SCALAR" + }, + { + "bufferView":74, + "componentType":5126, + "count":37, + "max":[ + 50.000003814697266, + 17.577373504638672, + 250.00001525878906 + ], + "min":[ + -500, + -0.98198401927948, + -250.00003051757812 + ], + "type":"VEC3" + }, + { + "bufferView":75, + "componentType":5126, + "count":37, + "type":"VEC3" + }, + { + "bufferView":76, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":77, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":78, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":79, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":80, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":81, + "componentType":5126, + "count":37, + "type":"VEC4" + }, + { + "bufferView":82, + "componentType":5123, + "count":78, + "type":"SCALAR" + }, + { + "bufferView":83, + "componentType":5126, + "count":37, + "max":[ + 50.000003814697266, + 17.577373504638672, + 250.00001525878906 + ], + "min":[ + -500, + -0.98198401927948, + -250.00003051757812 + ], + "type":"VEC3" + }, + { + "bufferView":84, + "componentType":5126, + "count":37, + "type":"VEC3" + }, + { + "bufferView":85, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":86, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":87, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":88, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":89, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":90, + "componentType":5126, + "count":37, + "type":"VEC4" + }, + { + "bufferView":91, + "componentType":5126, + "count":359, + "max":[ + -18.1707763671875, + 19.024988174438477, + 250.00201416015625 + ], + "min":[ + -649.9967041015625, + 4.206480026245117, + -250.00204467773438 + ], + "type":"VEC3" + }, + { + "bufferView":92, + "componentType":5126, + "count":359, + "type":"VEC3" + }, + { + "bufferView":93, + "componentType":5126, + "count":359, + "type":"VEC2" + }, + { + "bufferView":94, + "componentType":5126, + "count":359, + "type":"VEC2" + }, + { + "bufferView":95, + "componentType":5126, + "count":359, + "type":"VEC4" + }, + { + "bufferView":96, + "componentType":5126, + "count":359, + "type":"VEC3" + }, + { + "bufferView":97, + "componentType":5123, + "count":359, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":98, + "componentType":5123, + "count":762, + "type":"SCALAR" + }, + { + "bufferView":99, + "componentType":5126, + "count":80, + "max":[ + -77.50804138183594, + 14.30909538269043, + 223.92330932617188 + ], + "min":[ + -225.04713439941406, + 10.518132209777832, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":100, + "componentType":5126, + "count":80, + "type":"VEC3" + }, + { + "bufferView":101, + "componentType":5126, + "count":80, + "type":"VEC2" + }, + { + "bufferView":102, + "componentType":5126, + "count":80, + "type":"VEC2" + }, + { + "bufferView":103, + "componentType":5126, + "count":80, + "type":"VEC4" + }, + { + "bufferView":104, + "componentType":5126, + "count":80, + "type":"VEC3" + }, + { + "bufferView":105, + "componentType":5123, + "count":80, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":106, + "componentType":5123, + "count":90, + "type":"SCALAR" + }, + { + "bufferView":107, + "componentType":5126, + "count":215, + "max":[ + 50, + 17.577253341674805, + 250 + ], + "min":[ + -18.17083740234375, + -0.9818620085716248, + -250 + ], + "type":"VEC3" + }, + { + "bufferView":108, + "componentType":5126, + "count":215, + "type":"VEC3" + }, + { + "bufferView":109, + "componentType":5126, + "count":215, + "type":"VEC2" + }, + { + "bufferView":110, + "componentType":5126, + "count":215, + "type":"VEC2" + }, + { + "bufferView":111, + "componentType":5126, + "count":215, + "type":"VEC4" + }, + { + "bufferView":112, + "componentType":5126, + "count":215, + "type":"VEC3" + }, + { + "bufferView":113, + "componentType":5123, + "count":215, + "normalized":true, + "type":"VEC4" + }, + { + "bufferView":114, + "componentType":5126, + "count":37, + "max":[ + 50.000003814697266, + 17.577373504638672, + 250.00001525878906 + ], + "min":[ + -500, + -0.98198401927948, + -250.00003051757812 + ], + "type":"VEC3" + }, + { + "bufferView":115, + "componentType":5126, + "count":37, + "type":"VEC3" + }, + { + "bufferView":116, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":117, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":118, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":119, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":120, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":121, + "componentType":5126, + "count":37, + "type":"VEC4" + }, + { + "bufferView":122, + "componentType":5126, + "count":37, + "max":[ + 50.000003814697266, + 17.577373504638672, + 250.00001525878906 + ], + "min":[ + -500, + -0.98198401927948, + -250.00003051757812 + ], + "type":"VEC3" + }, + { + "bufferView":123, + "componentType":5126, + "count":37, + "type":"VEC3" + }, + { + "bufferView":124, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":125, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":126, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":127, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":128, + "componentType":5126, + "count":37, + "type":"VEC2" + }, + { + "bufferView":129, + "componentType":5126, + "count":37, + "type":"VEC4" + }, + { + "bufferView":130, + "componentType":5126, + "count":26, + "max":[ + 378.6883239746094, + 6.593480587005615, + 250 + ], + "min":[ + -378.6883239746094, + -14.229480743408203, + -250.00001525878906 + ], + "type":"VEC3" + }, + { + "bufferView":131, + "componentType":5126, + "count":26, + "type":"VEC3" + }, + { + "bufferView":132, + "componentType":5126, + "count":26, + "type":"VEC2" + }, + { + "bufferView":133, + "componentType":5126, + "count":26, + "type":"VEC2" + }, + { + "bufferView":134, + "componentType":5126, + "count":26, + "type":"VEC4" + }, + { + "bufferView":135, + "componentType":5123, + "count":72, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":60, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":60, + "byteOffset":60, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":120, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":160, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":200, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":240, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":280, + "target":34962 + }, + { + "buffer":0, + "byteLength":80, + "byteOffset":320, + "target":34962 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":400, + "target":34963 + }, + { + "buffer":0, + "byteLength":60, + "byteOffset":412, + "target":34962 + }, + { + "buffer":0, + "byteLength":60, + "byteOffset":472, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":532, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":572, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":612, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":652, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":692, + "target":34962 + }, + { + "buffer":0, + "byteLength":80, + "byteOffset":732, + "target":34962 + }, + { + "buffer":0, + "byteLength":60, + "byteOffset":812, + "target":34962 + }, + { + "buffer":0, + "byteLength":60, + "byteOffset":872, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":932, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":972, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":1012, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":1052, + "target":34962 + }, + { + "buffer":0, + "byteLength":40, + "byteOffset":1092, + "target":34962 + }, + { + "buffer":0, + "byteLength":80, + "byteOffset":1132, + "target":34962 + }, + { + "buffer":0, + "byteLength":7512, + "byteOffset":1212, + "target":34962 + }, + { + "buffer":0, + "byteLength":7512, + "byteOffset":8724, + "target":34962 + }, + { + "buffer":0, + "byteLength":5008, + "byteOffset":16236, + "target":34962 + }, + { + "buffer":0, + "byteLength":5008, + "byteOffset":21244, + "target":34962 + }, + { + "buffer":0, + "byteLength":10016, + "byteOffset":26252, + "target":34962 + }, + { + "buffer":0, + "byteLength":7512, + "byteOffset":36268, + "target":34962 + }, + { + "buffer":0, + "byteLength":5008, + "byteOffset":43780, + "target":34962 + }, + { + "buffer":0, + "byteLength":1392, + "byteOffset":48788, + "target":34963 + }, + { + "buffer":0, + "byteLength":5856, + "byteOffset":50180, + "target":34962 + }, + { + "buffer":0, + "byteLength":5856, + "byteOffset":56036, + "target":34962 + }, + { + "buffer":0, + "byteLength":3904, + "byteOffset":61892, + "target":34962 + }, + { + "buffer":0, + "byteLength":3904, + "byteOffset":65796, + "target":34962 + }, + { + "buffer":0, + "byteLength":7808, + "byteOffset":69700, + "target":34962 + }, + { + "buffer":0, + "byteLength":5856, + "byteOffset":77508, + "target":34962 + }, + { + "buffer":0, + "byteLength":3904, + "byteOffset":83364, + "target":34962 + }, + { + "buffer":0, + "byteLength":4680, + "byteOffset":87268, + "target":34963 + }, + { + "buffer":0, + "byteLength":420, + "byteOffset":91948, + "target":34962 + }, + { + "buffer":0, + "byteLength":420, + "byteOffset":92368, + "target":34962 + }, + { + "buffer":0, + "byteLength":280, + "byteOffset":92788, + "target":34962 + }, + { + "buffer":0, + "byteLength":280, + "byteOffset":93068, + "target":34962 + }, + { + "buffer":0, + "byteLength":280, + "byteOffset":93348, + "target":34962 + }, + { + "buffer":0, + "byteLength":560, + "byteOffset":93628, + "target":34962 + }, + { + "buffer":0, + "byteLength":420, + "byteOffset":94188, + "target":34962 + }, + { + "buffer":0, + "byteLength":280, + "byteOffset":94608, + "target":34962 + }, + { + "buffer":0, + "byteLength":288, + "byteOffset":94888, + "target":34963 + }, + { + "buffer":0, + "byteLength":948, + "byteOffset":95176, + "target":34962 + }, + { + "buffer":0, + "byteLength":948, + "byteOffset":96124, + "target":34962 + }, + { + "buffer":0, + "byteLength":632, + "byteOffset":97072, + "target":34962 + }, + { + "buffer":0, + "byteLength":632, + "byteOffset":97704, + "target":34962 + }, + { + "buffer":0, + "byteLength":1264, + "byteOffset":98336, + "target":34962 + }, + { + "buffer":0, + "byteLength":948, + "byteOffset":99600, + "target":34962 + }, + { + "buffer":0, + "byteLength":632, + "byteOffset":100548, + "target":34962 + }, + { + "buffer":0, + "byteLength":180, + "byteOffset":101180, + "target":34963 + }, + { + "buffer":0, + "byteLength":4104, + "byteOffset":101360, + "target":34962 + }, + { + "buffer":0, + "byteLength":4104, + "byteOffset":105464, + "target":34962 + }, + { + "buffer":0, + "byteLength":2736, + "byteOffset":109568, + "target":34962 + }, + { + "buffer":0, + "byteLength":2736, + "byteOffset":112304, + "target":34962 + }, + { + "buffer":0, + "byteLength":5472, + "byteOffset":115040, + "target":34962 + }, + { + "buffer":0, + "byteLength":4104, + "byteOffset":120512, + "target":34962 + }, + { + "buffer":0, + "byteLength":2736, + "byteOffset":124616, + "target":34962 + }, + { + "buffer":0, + "byteLength":1506, + "byteOffset":127352, + "target":34963 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":128860, + "target":34962 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":131440, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":134020, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":135740, + "target":34962 + }, + { + "buffer":0, + "byteLength":3440, + "byteOffset":137460, + "target":34962 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":140900, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":143480, + "target":34962 + }, + { + "buffer":0, + "byteLength":936, + "byteOffset":145200, + "target":34963 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":146136, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":146580, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":147024, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":147320, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":147616, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":147912, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":148208, + "target":34962 + }, + { + "buffer":0, + "byteLength":592, + "byteOffset":148504, + "target":34962 + }, + { + "buffer":0, + "byteLength":156, + "byteOffset":149096, + "target":34963 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":149252, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":149696, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":150140, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":150436, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":150732, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":151028, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":151324, + "target":34962 + }, + { + "buffer":0, + "byteLength":592, + "byteOffset":151620, + "target":34962 + }, + { + "buffer":0, + "byteLength":4308, + "byteOffset":152212, + "target":34962 + }, + { + "buffer":0, + "byteLength":4308, + "byteOffset":156520, + "target":34962 + }, + { + "buffer":0, + "byteLength":2872, + "byteOffset":160828, + "target":34962 + }, + { + "buffer":0, + "byteLength":2872, + "byteOffset":163700, + "target":34962 + }, + { + "buffer":0, + "byteLength":5744, + "byteOffset":166572, + "target":34962 + }, + { + "buffer":0, + "byteLength":4308, + "byteOffset":172316, + "target":34962 + }, + { + "buffer":0, + "byteLength":2872, + "byteOffset":176624, + "target":34962 + }, + { + "buffer":0, + "byteLength":1524, + "byteOffset":179496, + "target":34963 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":181020, + "target":34962 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":181980, + "target":34962 + }, + { + "buffer":0, + "byteLength":640, + "byteOffset":182940, + "target":34962 + }, + { + "buffer":0, + "byteLength":640, + "byteOffset":183580, + "target":34962 + }, + { + "buffer":0, + "byteLength":1280, + "byteOffset":184220, + "target":34962 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":185500, + "target":34962 + }, + { + "buffer":0, + "byteLength":640, + "byteOffset":186460, + "target":34962 + }, + { + "buffer":0, + "byteLength":180, + "byteOffset":187100, + "target":34963 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":187280, + "target":34962 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":189860, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":192440, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":194160, + "target":34962 + }, + { + "buffer":0, + "byteLength":3440, + "byteOffset":195880, + "target":34962 + }, + { + "buffer":0, + "byteLength":2580, + "byteOffset":199320, + "target":34962 + }, + { + "buffer":0, + "byteLength":1720, + "byteOffset":201900, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":203620, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":204064, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":204508, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":204804, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":205100, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":205396, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":205692, + "target":34962 + }, + { + "buffer":0, + "byteLength":592, + "byteOffset":205988, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":206580, + "target":34962 + }, + { + "buffer":0, + "byteLength":444, + "byteOffset":207024, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":207468, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":207764, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":208060, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":208356, + "target":34962 + }, + { + "buffer":0, + "byteLength":296, + "byteOffset":208652, + "target":34962 + }, + { + "buffer":0, + "byteLength":592, + "byteOffset":208948, + "target":34962 + }, + { + "buffer":0, + "byteLength":312, + "byteOffset":209540, + "target":34962 + }, + { + "buffer":0, + "byteLength":312, + "byteOffset":209852, + "target":34962 + }, + { + "buffer":0, + "byteLength":208, + "byteOffset":210164, + "target":34962 + }, + { + "buffer":0, + "byteLength":208, + "byteOffset":210372, + "target":34962 + }, + { + "buffer":0, + "byteLength":416, + "byteOffset":210580, + "target":34962 + }, + { + "buffer":0, + "byteLength":144, + "byteOffset":210996, + "target":34963 + } + ], + "samplers":[ + { + "magFilter":9729, + "minFilter":9987 + } + ], + "buffers":[ + { + "byteLength":211140, + "uri":"SM_Slice2_Ground.bin" + } + ] +} diff --git a/Assets/SM_Slice2_Ground.gltf.import b/Assets/SM_Slice2_Ground.gltf.import new file mode 100644 index 0000000..d72ae09 --- /dev/null +++ b/Assets/SM_Slice2_Ground.gltf.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://1mebjx2hqcl7" +path="res://.godot/imported/SM_Slice2_Ground.gltf-cc6f13939f6fa642a1ade0e18dbe1ca5.scn" + +[deps] + +source_file="res://Assets/SM_Slice2_Ground.gltf" +dest_files=["res://.godot/imported/SM_Slice2_Ground.gltf-cc6f13939f6fa642a1ade0e18dbe1ca5.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/SM_Slice2_Ground.scn b/Assets/SM_Slice2_Ground.scn new file mode 100644 index 0000000..4c88dda Binary files /dev/null and b/Assets/SM_Slice2_Ground.scn differ diff --git a/Assets/SM_Slice2_Ground.scn.depren b/Assets/SM_Slice2_Ground.scn.depren new file mode 100644 index 0000000..7a0f1d4 Binary files /dev/null and b/Assets/SM_Slice2_Ground.scn.depren differ diff --git a/Assets/SM_TestAgain.bin b/Assets/SM_TestAgain.bin new file mode 100644 index 0000000..34f81f1 Binary files /dev/null and b/Assets/SM_TestAgain.bin differ diff --git a/Assets/SM_TestAgain.gltf b/Assets/SM_TestAgain.gltf new file mode 100644 index 0000000..ede3704 --- /dev/null +++ b/Assets/SM_TestAgain.gltf @@ -0,0 +1,191 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 3, + 4 + ] + } + ], + "nodes":[ + { + "name":"Bone.002", + "translation":[ + 0, + 1, + 0 + ] + }, + { + "children":[ + 0 + ], + "name":"Bone.001" + }, + { + "name":"Root" + }, + { + "children":[ + 1, + 2 + ], + "name":"Armature" + }, + { + "mesh":0, + "name":"Icosphere", + "skin":0 + } + ], + "meshes":[ + { + "name":"Icosphere", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3, + "JOINTS_0":4, + "WEIGHTS_0":5 + }, + "indices":6 + } + ] + } + ], + "skins":[ + { + "inverseBindMatrices":7, + "joints":[ + 1, + 0, + 2 + ], + "name":"Armature" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":729, + "max":[ + 1, + 2, + 0.9999999403953552 + ], + "min":[ + -0.9999999403953552, + 0, + -0.9999999403953552 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":729, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":729, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":729, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5121, + "count":729, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5126, + "count":729, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":3840, + "type":"SCALAR" + }, + { + "bufferView":7, + "componentType":5126, + "count":3, + "type":"MAT4" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":8748, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":8748, + "byteOffset":8748, + "target":34962 + }, + { + "buffer":0, + "byteLength":5832, + "byteOffset":17496, + "target":34962 + }, + { + "buffer":0, + "byteLength":11664, + "byteOffset":23328, + "target":34962 + }, + { + "buffer":0, + "byteLength":2916, + "byteOffset":34992, + "target":34962 + }, + { + "buffer":0, + "byteLength":11664, + "byteOffset":37908, + "target":34962 + }, + { + "buffer":0, + "byteLength":7680, + "byteOffset":49572, + "target":34963 + }, + { + "buffer":0, + "byteLength":192, + "byteOffset":57252 + } + ], + "buffers":[ + { + "byteLength":57444, + "uri":"SM_TestAgain.bin" + } + ] +} diff --git a/Assets/SM_TestAgain.gltf.import b/Assets/SM_TestAgain.gltf.import new file mode 100644 index 0000000..1a07698 --- /dev/null +++ b/Assets/SM_TestAgain.gltf.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://g8xsinwhmss0" +path="res://.godot/imported/SM_TestAgain.gltf-ed52e5981aa49ca1702bf46fce59244d.scn" + +[deps] + +source_file="res://Assets/SM_TestAgain.gltf" +dest_files=["res://.godot/imported/SM_TestAgain.gltf-ed52e5981aa49ca1702bf46fce59244d.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/Scripts/post_process_shader.gd b/Assets/Scripts/post_process_shader.gd new file mode 100644 index 0000000..eedbc10 --- /dev/null +++ b/Assets/Scripts/post_process_shader.gd @@ -0,0 +1,94 @@ +@tool +class_name PostProcessShader +extends CompositorEffect + + +@export var vignette_colour : Color = Color(0.0, 0.0, 0.0, 0.392) +@export var vignette_pupil : float = 0.8 +@export var vignette_iris : float = 0.4 + + +# Called when this resource is constructed. +func _init(): + effect_callback_type = CompositorEffect.EFFECT_CALLBACK_TYPE_POST_TRANSPARENT + RenderingServer.call_on_render_thread(_initialize_compute) + +# System notifications, we want to react on the notification that +# alerts us we are about to be destroyed. +func _notification(what): + if what == NOTIFICATION_PREDELETE: + if shader.is_valid(): + # Freeing our shader will also free any dependents such as the pipeline! + rd.free_rid(shader) + +var rd : RenderingDevice +var shader : RID +var pipeline : RID + +## Render thread code below + +func _initialize_compute(): + rd = RenderingServer.get_rendering_device() + if !rd: return + + var shader_file = load("uid://bxunu0anan320") + var shader_spirv : RDShaderSPIRV = shader_file.get_spirv() + shader = rd.shader_create_from_spirv(shader_spirv) + pipeline = rd.compute_pipeline_create(shader) + +# Called by the rendering thread every frame. +func _render_callback(p_effect_callback_type, p_render_data): + if rd and p_effect_callback_type == EFFECT_CALLBACK_TYPE_POST_TRANSPARENT: + # Get our render scene buffers object, this gives us access to our render buffers. + # Note that implementation differs per renderer hence the need for the cast. + var render_scene_buffers: RenderSceneBuffersRD = p_render_data.get_render_scene_buffers() + if render_scene_buffers: + + # Loop through views just in case we're doing stereo rendering. No extra cost if this is mono. + var view_count = render_scene_buffers.get_view_count() + for view in range(view_count): + # Get our render size, this is the 3D render resolution! + var raster_size = render_scene_buffers.get_internal_size() + if raster_size.x == 0 and raster_size.y == 0: + return + + # We can use a compute shader here. + var x_groups = (raster_size.x - 1) / 8 + 1 + var y_groups = (raster_size.y - 1) / 8 + 1 + var z_groups = 1 + + # Get the RID for our color image, we will be reading from and writing to it. + var input_image = render_scene_buffers.get_color_layer(view) + + # Push constant. + var push_constant: PackedFloat32Array = PackedFloat32Array() + push_constant.push_back(raster_size.x) + push_constant.push_back(raster_size.y) + push_constant.push_back(0.0) + push_constant.push_back(0.0) + + push_constant.push_back(vignette_colour.r) + push_constant.push_back(vignette_colour.g) + push_constant.push_back(vignette_colour.b) + push_constant.push_back(vignette_colour.a) + + push_constant.push_back(vignette_pupil) + push_constant.push_back(vignette_iris) + push_constant.push_back(0.0) + push_constant.push_back(0.0) + + # Create a uniform set. + # This will be cached; the cache will be cleared if our viewport's configuration is changed. + var uniform: RDUniform = RDUniform.new() + uniform.uniform_type = RenderingDevice.UNIFORM_TYPE_IMAGE + uniform.binding = 0 + uniform.add_id(input_image) + var uniform_set = UniformSetCacheRD.get_cache(shader, 0, [ uniform ]) + + # Run our compute shader. + var compute_list:= rd.compute_list_begin() + rd.compute_list_bind_compute_pipeline(compute_list, pipeline) + rd.compute_list_bind_uniform_set(compute_list, uniform_set, 0) + rd.compute_list_set_push_constant(compute_list, push_constant.to_byte_array(), push_constant.size() * 4) + rd.compute_list_dispatch(compute_list, x_groups, y_groups, z_groups) + rd.compute_list_end() diff --git a/Assets/Scripts/post_process_shader.gd.uid b/Assets/Scripts/post_process_shader.gd.uid new file mode 100644 index 0000000..3d26a1d --- /dev/null +++ b/Assets/Scripts/post_process_shader.gd.uid @@ -0,0 +1 @@ +uid://crtv5xh5ud5kq diff --git a/Assets/Scripts/slice_ring.gd b/Assets/Scripts/slice_ring.gd new file mode 100644 index 0000000..f1a8b7e --- /dev/null +++ b/Assets/Scripts/slice_ring.gd @@ -0,0 +1,104 @@ +class_name SliceRing +extends Node3D + +@export var slice_ring_mesh : MeshInstance3D +@export_file("*.scn", "*.tscn") var slice_ring_hurtbox : String + +@export_category("Input") +@export var slice_ring_input : InputResource +@export var _joystick_tilt_threshold : float = 0.6 +@export var _flick_threshold : float = 0.15 +@export_range(0.01, 0.1, 0.001) var _flick_detection_timer_delay : float = 0.05 +@export var _rotation_lerp_speed : float = 20.0 + +@export var _random_slice_positions_horizontal : Array[float] +@export var _random_slice_positions_vertical : Array[float] +@export_range(0.02, 1.0, 0.02) var _max_time_between_cuts : float = 0.12 + +@export_category("Visuals") +@export var _high_power_material : Material +@export var _low_power_material : Material + +@onready var _flick_timer : Timer = $FlickTimer +@onready var _slice_timer : Timer = $SliceTimer + +signal slice_aim_update(bool, float) +signal slice_executed + +var _is_aiming_slice : bool = false +var _last_angle_vector_length : float = 0.0 + + +func _ready() -> void: + slice_ring_mesh.quaternion = Quaternion.IDENTITY + + InputHandler.add_input_resource(self, slice_ring_input) + +func set_high_power(_high_power:bool) -> void: + slice_ring_mesh.mesh.surface_set_material(0, _high_power_material if _high_power else _low_power_material) + + +func _calculate_slice_angle(_delta:float, _vector:Vector2, _tilt_input:bool) -> void: + var angle_length : float = _vector.length() + if _slice_timer.is_stopped(): + if angle_length >= _joystick_tilt_threshold or not _tilt_input: + var normalised_vector : Vector2 = _vector.normalized() + var angle : float = atan2(normalised_vector.y, normalised_vector.x) + slice_ring_mesh.quaternion = lerp(slice_ring_mesh.quaternion, Quaternion(basis.z, angle), _delta * angle_length * _rotation_lerp_speed) + _is_aiming_slice = true + elif _tilt_input and _last_angle_vector_length >= _joystick_tilt_threshold: + if _flick_timer.is_inside_tree() and _flick_timer.is_stopped() and _last_angle_vector_length >= _joystick_tilt_threshold: + _flick_timer.start(_flick_detection_timer_delay) + emit_signal("slice_aim_update", _is_aiming_slice, slice_ring_mesh.rotation.z) + _last_angle_vector_length = angle_length + +func _on_flick_timer_timeout() -> void: + if _last_angle_vector_length < _flick_threshold: + _execute_slice() + _is_aiming_slice = false + emit_signal("slice_aim_update", _is_aiming_slice, 0.0) + +func _execute_slice(_treat_as_flick:bool = true, _vertical_slices:bool = false) -> void: + slice_ring_mesh.physics_interpolation_mode = Node.PHYSICS_INTERPOLATION_MODE_INHERIT if _treat_as_flick else Node.PHYSICS_INTERPOLATION_MODE_OFF + + if _slice_timer.is_inside_tree() and _slice_timer.is_stopped(): + if not _treat_as_flick and not _is_aiming_slice: + var random_roll : float = 0.0 + if _vertical_slices: + if _random_slice_positions_vertical.size() > 0: + random_roll = _random_slice_positions_vertical[0] + _random_slice_positions_vertical.remove_at(0) + _random_slice_positions_vertical.append(random_roll) + else: + random_roll = 90.0 + else: + if _random_slice_positions_horizontal.size() > 0: + random_roll = _random_slice_positions_horizontal[0] + _random_slice_positions_horizontal.remove_at(0) + _random_slice_positions_horizontal.append(random_roll) + else: + random_roll = 90.0 + slice_ring_mesh.quaternion = Quaternion(Vector3.FORWARD, deg_to_rad(random_roll)) + + var _slice_ring_hurtbox_node : HurtboxBase = load(slice_ring_hurtbox).instantiate() + if _slice_ring_hurtbox_node: + _slice_ring_hurtbox_node.global_transform = slice_ring_mesh.global_transform + get_tree().root.add_child(_slice_ring_hurtbox_node) + + emit_signal("slice_executed") + _slice_timer.start() + +func _on_slice_timer_timeout() -> void: + pass + + +func _on_horizontal_slice_pressed() -> void: + _execute_slice(false, false) + +func _on_vertical_slice_pressed() -> void: + _execute_slice(false, true) + +func _on_aim_slice_ring_2d(_delta:float, _vector:Vector2) -> void: + _calculate_slice_angle(_delta, _vector, true) +func _on_aim_slice_ring_mouse(_delta:float, _vector:Vector2) -> void: + _calculate_slice_angle(_delta, _vector, false) diff --git a/Assets/Scripts/slice_ring.gd.uid b/Assets/Scripts/slice_ring.gd.uid new file mode 100644 index 0000000..1778e2f --- /dev/null +++ b/Assets/Scripts/slice_ring.gd.uid @@ -0,0 +1 @@ +uid://cpvwd36exce1n diff --git a/Assets/T_Noise.png b/Assets/T_Noise.png new file mode 100644 index 0000000..511666a Binary files /dev/null and b/Assets/T_Noise.png differ diff --git a/Assets/T_Noise.png.import b/Assets/T_Noise.png.import new file mode 100644 index 0000000..45dc8d5 --- /dev/null +++ b/Assets/T_Noise.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhshl0vs5kad4" +path.s3tc="res://.godot/imported/T_Noise.png-7da37caa01265a8358dcb70f2f7476d3.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/T_Noise.png" +dest_files=["res://.godot/imported/T_Noise.png-7da37caa01265a8358dcb70f2f7476d3.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=0 +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/Assets/TestCylinder.bin b/Assets/TestCylinder.bin new file mode 100644 index 0000000..0e3fa08 Binary files /dev/null and b/Assets/TestCylinder.bin differ diff --git a/Assets/TestCylinder.gltf b/Assets/TestCylinder.gltf new file mode 100644 index 0000000..a9cfa50 --- /dev/null +++ b/Assets/TestCylinder.gltf @@ -0,0 +1,884 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.5.48", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 10 + ] + } + ], + "nodes":[ + { + "name":"Chain.008", + "rotation":[ + 4.632211430296955e-23, + -2.9015546076637994e-22, + 6.352747104407253e-22, + 1 + ], + "translation":[ + -1.164670302474663e-21, + 0.24999988079071045, + 1.7470054537119944e-21 + ] + }, + { + "children":[ + 0 + ], + "name":"Chain.007", + "rotation":[ + 4.632211430296955e-23, + -2.901555617405758e-22, + 6.352747104407253e-22, + 1 + ], + "translation":[ + -3.1763735522036263e-22, + 0.24999988079071045, + 1.5352472168984194e-21 + ] + }, + { + "children":[ + 1 + ], + "name":"Chain.006", + "rotation":[ + 4.632211430296955e-23, + -2.9015520833089027e-22, + 4.0234064994579266e-21, + 1 + ], + "translation":[ + 1.376428539288238e-21, + 0.24999988079071045, + 1.2705494208814505e-21 + ] + }, + { + "children":[ + 2 + ], + "name":"Chain.005", + "rotation":[ + 4.632211430296955e-23, + -2.901556627147717e-22, + 6.352747104407253e-22, + 1 + ], + "translation":[ + -2.8587361969832636e-21, + 0.24999988079071045, + 1.0058516248644817e-21 + ] + }, + { + "children":[ + 3 + ], + "name":"Chain.004", + "rotation":[ + -2.842170943040401e-14, + -2.842170943040401e-14, + -3.5998900258307764e-21, + 1 + ], + "translation":[ + 7.940933880509066e-22, + 0.24999988079071045, + -1.4210853868169056e-14 + ] + }, + { + "children":[ + 4 + ], + "name":"Chain.003", + "rotation":[ + 1.4210854715202004e-14, + 1.4210854715202004e-14, + 2.752857078576476e-21, + 1 + ], + "translation":[ + -9.529120656610879e-22, + 0.24999988079071045, + -3.5527132552840273e-15 + ] + }, + { + "children":[ + 5 + ], + "name":"Chain.002", + "rotation":[ + -1.7801298213271366e-08, + -3.552713678800501e-15, + 6.337763091570324e-16, + 1 + ], + "translation":[ + 2.117582368135751e-22, + 0.24999988079071045, + 2.514629062161204e-22 + ] + }, + { + "children":[ + 6 + ], + "name":"Chain.001", + "rotation":[ + -0.7071066498756409, + 4.079768700648856e-08, + 6.597247903528114e-08, + 0.70710688829422 + ] + }, + { + "children":[ + 7 + ], + "name":"Bone", + "rotation":[ + 0.7071067690849304, + -5.338507591545749e-08, + -5.338507591545749e-08, + 0.7071067690849304 + ] + }, + { + "mesh":0, + "name":"Cylinder", + "skin":0 + }, + { + "children":[ + 9, + 8 + ], + "name":"Armature" + } + ], + "animations":[ + { + "channels":[ + { + "sampler":0, + "target":{ + "node":8, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":8, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":8, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":7, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":7, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":7, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":6, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":6, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":6, + "path":"scale" + } + }, + { + "sampler":9, + "target":{ + "node":5, + "path":"translation" + } + }, + { + "sampler":10, + "target":{ + "node":5, + "path":"rotation" + } + }, + { + "sampler":11, + "target":{ + "node":5, + "path":"scale" + } + }, + { + "sampler":12, + "target":{ + "node":4, + "path":"translation" + } + }, + { + "sampler":13, + "target":{ + "node":4, + "path":"rotation" + } + }, + { + "sampler":14, + "target":{ + "node":4, + "path":"scale" + } + }, + { + "sampler":15, + "target":{ + "node":3, + "path":"translation" + } + }, + { + "sampler":16, + "target":{ + "node":3, + "path":"rotation" + } + }, + { + "sampler":17, + "target":{ + "node":3, + "path":"scale" + } + }, + { + "sampler":18, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":19, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":20, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":21, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":22, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":23, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":24, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":25, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":26, + "target":{ + "node":0, + "path":"scale" + } + } + ], + "name":"ArmatureAction_Loop", + "samplers":[ + { + "input":8, + "interpolation":"STEP", + "output":9 + }, + { + "input":8, + "interpolation":"STEP", + "output":10 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":9 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":13 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":14 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":15 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":16 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":17 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":18 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":19 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":20 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":21 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":22 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":23 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":24 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":25 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + }, + { + "input":8, + "interpolation":"STEP", + "output":26 + }, + { + "input":12, + "interpolation":"LINEAR", + "output":27 + }, + { + "input":8, + "interpolation":"STEP", + "output":11 + } + ] + } + ], + "meshes":[ + { + "name":"Cylinder", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3, + "JOINTS_0":4, + "WEIGHTS_0":5 + }, + "indices":6 + } + ] + } + ], + "skins":[ + { + "inverseBindMatrices":7, + "joints":[ + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1, + 0 + ], + "name":"Armature" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":185, + "max":[ + 0.1499999761581421, + 1.9999998807907104, + 0.1499999612569809 + ], + "min":[ + -0.1499999761581421, + -3.975369566953241e-15, + -0.1499999612569809 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":185, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":185, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":185, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5121, + "count":185, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5126, + "count":185, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":852, + "type":"SCALAR" + }, + { + "bufferView":7, + "componentType":5126, + "count":9, + "type":"MAT4" + }, + { + "bufferView":8, + "componentType":5126, + "count":2, + "max":[ + 5 + ], + "min":[ + 0.08333333333333333 + ], + "type":"SCALAR" + }, + { + "bufferView":9, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":10, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":11, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":12, + "componentType":5126, + "count":60, + "max":[ + 5 + ], + "min":[ + 0.08333333333333333 + ], + "type":"SCALAR" + }, + { + "bufferView":13, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":14, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":15, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":16, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":17, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":18, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":19, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":20, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":21, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":22, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":23, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":24, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":25, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":26, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":27, + "componentType":5126, + "count":60, + "type":"VEC4" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":2220, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":2220, + "byteOffset":2220, + "target":34962 + }, + { + "buffer":0, + "byteLength":1480, + "byteOffset":4440, + "target":34962 + }, + { + "buffer":0, + "byteLength":2960, + "byteOffset":5920, + "target":34962 + }, + { + "buffer":0, + "byteLength":740, + "byteOffset":8880, + "target":34962 + }, + { + "buffer":0, + "byteLength":2960, + "byteOffset":9620, + "target":34962 + }, + { + "buffer":0, + "byteLength":1704, + "byteOffset":12580, + "target":34963 + }, + { + "buffer":0, + "byteLength":576, + "byteOffset":14284 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":14860 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":14868 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":14892 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":14924 + }, + { + "buffer":0, + "byteLength":240, + "byteOffset":14948 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":15188 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":16148 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":16172 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":17132 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":17156 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":18116 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":18140 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":19100 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":19124 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":20084 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":20108 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":21068 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":21092 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":22052 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":22076 + } + ], + "buffers":[ + { + "byteLength":23036, + "uri":"TestCylinder.bin" + } + ] +} diff --git a/Assets/TestCylinder.gltf.import b/Assets/TestCylinder.gltf.import new file mode 100644 index 0000000..abc8997 --- /dev/null +++ b/Assets/TestCylinder.gltf.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://swyqml51d23a" +path="res://.godot/imported/TestCylinder.gltf-a16cc490e9344012588e4dac067d9cc3.scn" + +[deps] + +source_file="res://Assets/TestCylinder.gltf" +dest_files=["res://.godot/imported/TestCylinder.gltf-a16cc490e9344012588e4dac067d9cc3.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=60.0 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/TestSkeleton.bin b/Assets/TestSkeleton.bin new file mode 100644 index 0000000..13a68ee Binary files /dev/null and b/Assets/TestSkeleton.bin differ diff --git a/Assets/TestSkeleton.gltf b/Assets/TestSkeleton.gltf new file mode 100644 index 0000000..30a92af --- /dev/null +++ b/Assets/TestSkeleton.gltf @@ -0,0 +1,575 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v4.5.48", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 3, + 4 + ] + } + ], + "nodes":[ + { + "name":"Top", + "rotation":[ + 0, + 4.371138828673793e-08, + 0, + 1 + ], + "translation":[ + 0, + 0.5, + 0 + ] + }, + { + "children":[ + 0 + ], + "name":"Bottom", + "rotation":[ + 3.0908619663705394e-08, + 0.7071067690849304, + 0.7071067690849304, + 3.0908619663705394e-08 + ] + }, + { + "children":[ + 1 + ], + "name":"Root", + "rotation":[ + 0, + 0.7071067690849304, + 0.7071067690849304, + 0 + ] + }, + { + "mesh":0, + "name":"Plane", + "skin":0 + }, + { + "children":[ + 2 + ], + "name":"Armature" + } + ], + "animations":[ + { + "channels":[ + { + "sampler":0, + "target":{ + "node":2, + "path":"translation" + } + }, + { + "sampler":1, + "target":{ + "node":2, + "path":"rotation" + } + }, + { + "sampler":2, + "target":{ + "node":2, + "path":"scale" + } + }, + { + "sampler":3, + "target":{ + "node":1, + "path":"translation" + } + }, + { + "sampler":4, + "target":{ + "node":1, + "path":"rotation" + } + }, + { + "sampler":5, + "target":{ + "node":1, + "path":"scale" + } + }, + { + "sampler":6, + "target":{ + "node":0, + "path":"translation" + } + }, + { + "sampler":7, + "target":{ + "node":0, + "path":"rotation" + } + }, + { + "sampler":8, + "target":{ + "node":0, + "path":"scale" + } + } + ], + "name":"Animation_Loop", + "samplers":[ + { + "input":15, + "interpolation":"LINEAR", + "output":16 + }, + { + "input":17, + "interpolation":"STEP", + "output":18 + }, + { + "input":17, + "interpolation":"STEP", + "output":19 + }, + { + "input":17, + "interpolation":"STEP", + "output":20 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":21 + }, + { + "input":17, + "interpolation":"STEP", + "output":19 + }, + { + "input":17, + "interpolation":"STEP", + "output":22 + }, + { + "input":15, + "interpolation":"LINEAR", + "output":23 + }, + { + "input":17, + "interpolation":"STEP", + "output":19 + } + ] + } + ], + "materials":[ + { + "doubleSided":true, + "name":"Test 1", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 1, + 0, + 0, + 1 + ], + "metallicFactor":0 + } + }, + { + "doubleSided":true, + "name":"Test 2", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0, + 1, + 0, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0 + } + } + ], + "meshes":[ + { + "name":"Plane", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3, + "JOINTS_0":4, + "WEIGHTS_0":5 + }, + "indices":6, + "material":0 + }, + { + "attributes":{ + "POSITION":7, + "NORMAL":8, + "TEXCOORD_0":9, + "TANGENT":10, + "JOINTS_0":11, + "WEIGHTS_0":12 + }, + "indices":13, + "material":1 + } + ] + } + ], + "skins":[ + { + "inverseBindMatrices":14, + "joints":[ + 2, + 1, + 0 + ], + "name":"Armature" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":3, + "max":[ + 0.5, + 1, + 2.9802322387695312e-08 + ], + "min":[ + -0.5, + 0, + -2.9802322387695312e-08 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":3, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":3, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":3, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5121, + "count":3, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5126, + "count":3, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":3, + "type":"SCALAR" + }, + { + "bufferView":7, + "componentType":5126, + "count":3, + "max":[ + 0.5, + 1, + 2.9802322387695312e-08 + ], + "min":[ + -0.5, + 0, + -2.9802322387695312e-08 + ], + "type":"VEC3" + }, + { + "bufferView":8, + "componentType":5126, + "count":3, + "type":"VEC3" + }, + { + "bufferView":9, + "componentType":5126, + "count":3, + "type":"VEC2" + }, + { + "bufferView":10, + "componentType":5126, + "count":3, + "type":"VEC4" + }, + { + "bufferView":11, + "componentType":5121, + "count":3, + "type":"VEC4" + }, + { + "bufferView":12, + "componentType":5126, + "count":3, + "type":"VEC4" + }, + { + "bufferView":13, + "componentType":5123, + "count":3, + "type":"SCALAR" + }, + { + "bufferView":14, + "componentType":5126, + "count":3, + "type":"MAT4" + }, + { + "bufferView":15, + "componentType":5126, + "count":60, + "max":[ + 1 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":16, + "componentType":5126, + "count":60, + "type":"VEC3" + }, + { + "bufferView":17, + "componentType":5126, + "count":2, + "max":[ + 1 + ], + "min":[ + 0.016666666666666666 + ], + "type":"SCALAR" + }, + { + "bufferView":18, + "componentType":5126, + "count":2, + "type":"VEC4" + }, + { + "bufferView":19, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":20, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":21, + "componentType":5126, + "count":60, + "type":"VEC4" + }, + { + "bufferView":22, + "componentType":5126, + "count":2, + "type":"VEC3" + }, + { + "bufferView":23, + "componentType":5126, + "count":60, + "type":"VEC4" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":36, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":36, + "byteOffset":36, + "target":34962 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":72, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":96, + "target":34962 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":144, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":156, + "target":34962 + }, + { + "buffer":0, + "byteLength":6, + "byteOffset":204, + "target":34963 + }, + { + "buffer":0, + "byteLength":36, + "byteOffset":212, + "target":34962 + }, + { + "buffer":0, + "byteLength":36, + "byteOffset":248, + "target":34962 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":284, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":308, + "target":34962 + }, + { + "buffer":0, + "byteLength":12, + "byteOffset":356, + "target":34962 + }, + { + "buffer":0, + "byteLength":48, + "byteOffset":368, + "target":34962 + }, + { + "buffer":0, + "byteLength":6, + "byteOffset":416, + "target":34963 + }, + { + "buffer":0, + "byteLength":192, + "byteOffset":424 + }, + { + "buffer":0, + "byteLength":240, + "byteOffset":616 + }, + { + "buffer":0, + "byteLength":720, + "byteOffset":856 + }, + { + "buffer":0, + "byteLength":8, + "byteOffset":1576 + }, + { + "buffer":0, + "byteLength":32, + "byteOffset":1584 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":1616 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":1640 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":1664 + }, + { + "buffer":0, + "byteLength":24, + "byteOffset":2624 + }, + { + "buffer":0, + "byteLength":960, + "byteOffset":2648 + } + ], + "buffers":[ + { + "byteLength":3608, + "uri":"TestSkeleton.bin" + } + ] +} diff --git a/Assets/TestSkeleton.gltf.import b/Assets/TestSkeleton.gltf.import new file mode 100644 index 0000000..48d2005 --- /dev/null +++ b/Assets/TestSkeleton.gltf.import @@ -0,0 +1,45 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bxdjgomhlu83j" +path="res://.godot/imported/TestSkeleton.gltf-50657de8ae4ee008e4cf9aae9c12807e.scn" + +[deps] + +source_file="res://Assets/TestSkeleton.gltf" +dest_files=["res://.godot/imported/TestSkeleton.gltf-50657de8ae4ee008e4cf9aae9c12807e.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/UI/LoadingThrobber/circular_throbber.gdshader b/Assets/UI/LoadingThrobber/circular_throbber.gdshader new file mode 100644 index 0000000..60b21a7 --- /dev/null +++ b/Assets/UI/LoadingThrobber/circular_throbber.gdshader @@ -0,0 +1,25 @@ +shader_type canvas_item; + +uniform vec4 color = vec4(1.0f, 1.0f, 1.0f, 1.0f); +uniform float thickness = 0.1f; +uniform float rotation_speed = 1.0f; + +vec2 rotate(vec2 v, float angle) { + return vec2( + v.x * cos(angle) + v.y * sin(angle), + v.x * sin(angle) - v.y * cos(angle) + ); +} + +void fragment() { + float distance_from_centre = distance(vec2(0.5f, 0.5f), UV.xy) * 2.0f; + float inner_circle = smoothstep((1.0f - (SCREEN_PIXEL_SIZE.x * 96.0f)) - thickness, 1.0f - thickness, distance_from_centre); + float outer_circle = 1.0f - smoothstep((1.0f - (SCREEN_PIXEL_SIZE.x * 96.0f)), 1.0f, distance_from_centre); + float throbber_edge = outer_circle * inner_circle; + + vec2 relative = rotate(UV - vec2(0.5f, 0.5f), TIME * rotation_speed); + float angle = atan(relative.x, relative.y); + + float t = (angle + PI) / 2.0f / PI; + COLOR *= throbber_edge * mix(vec4(color.rgb, 0.0f), vec4(color.rgb, 1.0f), t); +} diff --git a/Assets/UI/LoadingThrobber/circular_throbber.gdshader.uid b/Assets/UI/LoadingThrobber/circular_throbber.gdshader.uid new file mode 100644 index 0000000..ff5f130 --- /dev/null +++ b/Assets/UI/LoadingThrobber/circular_throbber.gdshader.uid @@ -0,0 +1 @@ +uid://cdsno15e4ik28 diff --git a/Assets/UI/LoadingThrobber/circular_throbber.material b/Assets/UI/LoadingThrobber/circular_throbber.material new file mode 100644 index 0000000..13cf643 Binary files /dev/null and b/Assets/UI/LoadingThrobber/circular_throbber.material differ diff --git a/Assets/UI/LoadingThrobber/circular_throbber.material.depren b/Assets/UI/LoadingThrobber/circular_throbber.material.depren new file mode 100644 index 0000000..9d8928b Binary files /dev/null and b/Assets/UI/LoadingThrobber/circular_throbber.material.depren differ diff --git a/Assets/UI/LoadingThrobber/circular_throbber.tscn b/Assets/UI/LoadingThrobber/circular_throbber.tscn new file mode 100644 index 0000000..1123d19 --- /dev/null +++ b/Assets/UI/LoadingThrobber/circular_throbber.tscn @@ -0,0 +1,18 @@ +[gd_scene format=3 uid="uid://ccy6uvk0tjnsn"] + +[ext_resource type="Material" uid="uid://dqjre1mbrfp6c" path="res://Assets/UI/LoadingThrobber/circular_throbber.material" id="1_o3q45"] + +[node name="CircularThrobber" type="AspectRatioContainer" unique_id=1517631718] +material = ExtResource("1_o3q45") +custom_minimum_size = Vector2(48, 48) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -1232.0 +offset_bottom = -672.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="." unique_id=1757903595] +material = ExtResource("1_o3q45") +layout_mode = 2 diff --git a/Assets/Visuals/Materials/M_MixamoJoints.material b/Assets/Visuals/Materials/M_MixamoJoints.material new file mode 100644 index 0000000..9958415 Binary files /dev/null and b/Assets/Visuals/Materials/M_MixamoJoints.material differ diff --git a/Assets/Visuals/Materials/M_MixamoSurface.material b/Assets/Visuals/Materials/M_MixamoSurface.material new file mode 100644 index 0000000..099c3ad Binary files /dev/null and b/Assets/Visuals/Materials/M_MixamoSurface.material differ diff --git a/Assets/Visuals/Materials/M_SliceRing_HighPower.material b/Assets/Visuals/Materials/M_SliceRing_HighPower.material new file mode 100644 index 0000000..ca2b071 Binary files /dev/null and b/Assets/Visuals/Materials/M_SliceRing_HighPower.material differ diff --git a/Assets/Visuals/Materials/M_SliceRing_HighPower.material.depren b/Assets/Visuals/Materials/M_SliceRing_HighPower.material.depren new file mode 100644 index 0000000..4e0a345 Binary files /dev/null and b/Assets/Visuals/Materials/M_SliceRing_HighPower.material.depren differ diff --git a/Assets/Visuals/Materials/M_SliceRing_LowPower.material b/Assets/Visuals/Materials/M_SliceRing_LowPower.material new file mode 100644 index 0000000..6c32b9f Binary files /dev/null and b/Assets/Visuals/Materials/M_SliceRing_LowPower.material differ diff --git a/Assets/Visuals/Materials/M_SliceRing_LowPower.material.depren b/Assets/Visuals/Materials/M_SliceRing_LowPower.material.depren new file mode 100644 index 0000000..bf57013 Binary files /dev/null and b/Assets/Visuals/Materials/M_SliceRing_LowPower.material.depren differ diff --git a/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material b/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material new file mode 100644 index 0000000..e669d5c Binary files /dev/null and b/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material differ diff --git a/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material.depren b/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material.depren new file mode 100644 index 0000000..9c0fc76 Binary files /dev/null and b/Assets/Visuals/Materials/Megascans/M_ConcretePavement.material.depren differ diff --git a/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material b/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material new file mode 100644 index 0000000..b8184ce Binary files /dev/null and b/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material differ diff --git a/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material.depren b/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material.depren new file mode 100644 index 0000000..a0c3fc4 Binary files /dev/null and b/Assets/Visuals/Materials/Megascans/M_DamagedRoad.material.depren differ diff --git a/Assets/Visuals/Materials/TestInternals/M_TestInternals_X.material b/Assets/Visuals/Materials/TestInternals/M_TestInternals_X.material new file mode 100644 index 0000000..0605d1e Binary files /dev/null and b/Assets/Visuals/Materials/TestInternals/M_TestInternals_X.material differ diff --git a/Assets/Visuals/Materials/TestInternals/M_TestInternals_Y.material b/Assets/Visuals/Materials/TestInternals/M_TestInternals_Y.material new file mode 100644 index 0000000..e45068f Binary files /dev/null and b/Assets/Visuals/Materials/TestInternals/M_TestInternals_Y.material differ diff --git a/Assets/Visuals/Materials/TestInternals/M_TestInternals_Z.material b/Assets/Visuals/Materials/TestInternals/M_TestInternals_Z.material new file mode 100644 index 0000000..f0ce2bb Binary files /dev/null and b/Assets/Visuals/Materials/TestInternals/M_TestInternals_Z.material differ diff --git a/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.bin b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.bin new file mode 100644 index 0000000..b81d050 Binary files /dev/null and b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.bin differ diff --git a/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf new file mode 100644 index 0000000..d7d534b --- /dev/null +++ b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf @@ -0,0 +1,117 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"Circle" + } + ], + "meshes":[ + { + "name":"Circle.002", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3 + }, + "indices":4 + } + ] + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":125, + "max":[ + 2, + 0.007499963045120239, + 2 + ], + "min":[ + -2, + -0.007499999832361937, + 0 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":125, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":125, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":125, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5123, + "count":180, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":1500, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":1500, + "byteOffset":1500, + "target":34962 + }, + { + "buffer":0, + "byteLength":1000, + "byteOffset":3000, + "target":34962 + }, + { + "buffer":0, + "byteLength":2000, + "byteOffset":4000, + "target":34962 + }, + { + "buffer":0, + "byteLength":360, + "byteOffset":6000, + "target":34963 + } + ], + "buffers":[ + { + "byteLength":6360, + "uri":"C_SliceRing.bin" + } + ] +} diff --git a/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf.import b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf.import new file mode 100644 index 0000000..f5b0ace --- /dev/null +++ b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf.import @@ -0,0 +1,51 @@ +[remap] + +importer="ArrayMesh" +importer_version=1 +type="ArrayMesh" +uid="uid://cym5hdu5vrh3d" +path="res://.godot/imported/C_SliceRing.gltf-8614b7f87b374bfd3892070b9cea4155.res" + +[deps] + +source_file="res://Assets/Visuals/Meshes/CustomColliders/C_SliceRing.gltf" +dest_files=["res://.godot/imported/C_SliceRing.gltf-8614b7f87b374bfd3892070b9cea4155.res"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=false +meshes/generate_lods=false +meshes/create_shadow_meshes=false +meshes/light_baking=0 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=true +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"materials": { +"@MATERIAL:0": { +"use_external/path": "uid://li04p3pck0c4" +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.shape b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.shape new file mode 100644 index 0000000..bf84ce0 Binary files /dev/null and b/Assets/Visuals/Meshes/CustomColliders/C_SliceRing.shape differ diff --git a/Assets/Visuals/Meshes/CustomColliders/SliceRingHurtbox.tscn b/Assets/Visuals/Meshes/CustomColliders/SliceRingHurtbox.tscn new file mode 100644 index 0000000..82a895c --- /dev/null +++ b/Assets/Visuals/Meshes/CustomColliders/SliceRingHurtbox.tscn @@ -0,0 +1,8 @@ +[gd_scene format=3 uid="uid://vc2npve1t2wk"] + +[ext_resource type="Shape3D" uid="uid://5wklr05bp58i" path="res://Assets/Visuals/Meshes/CustomColliders/C_SliceRing.shape" id="2_0qhxw"] + +[node name="Hurtbox" type="HurtboxBase" unique_id=1020335083] +shape = ExtResource("2_0qhxw") +collision_layer = 4096 +collision_mask = 130 diff --git a/Assets/Visuals/Meshes/Mixamo/M_MixamoBot.mesh b/Assets/Visuals/Meshes/Mixamo/M_MixamoBot.mesh new file mode 100644 index 0000000..dea8ecf Binary files /dev/null and b/Assets/Visuals/Meshes/Mixamo/M_MixamoBot.mesh differ diff --git a/Assets/Visuals/Meshes/Mixamo/M_MixamoBot_Skin.res b/Assets/Visuals/Meshes/Mixamo/M_MixamoBot_Skin.res new file mode 100644 index 0000000..784d88e Binary files /dev/null and b/Assets/Visuals/Meshes/Mixamo/M_MixamoBot_Skin.res differ diff --git a/Assets/Visuals/Meshes/SK_Mixamo.bin b/Assets/Visuals/Meshes/SK_Mixamo.bin new file mode 100644 index 0000000..762da08 Binary files /dev/null and b/Assets/Visuals/Meshes/SK_Mixamo.bin differ diff --git a/Assets/Visuals/Meshes/SK_Mixamo.gltf b/Assets/Visuals/Meshes/SK_Mixamo.gltf new file mode 100644 index 0000000..d208ca3 --- /dev/null +++ b/Assets/Visuals/Meshes/SK_Mixamo.gltf @@ -0,0 +1,2114 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "extensionsUsed":[ + "KHR_materials_specular" + ], + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + } + ], + "nodes":[ + { + "name":"headtop_end", + "rotation":[ + -3.3527612686157227e-08, + -1.9984014443252818e-15, + -2.4313884239290928e-14, + 1 + ], + "translation":[ + 9.856984561906756e-09, + 0.2096278965473175, + 0.10122936964035034 + ] + }, + { + "children":[ + 0 + ], + "name":"head", + "rotation":[ + 5.2154071283894154e-08, + 7.771561172376096e-15, + -2.1760371282653068e-14, + 1 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -1.075674882500266e-09, + 0.09341881424188614, + 0.028410382568836212 + ] + }, + { + "children":[ + 1 + ], + "name":"neck", + "rotation":[ + -2.2351745343485163e-08, + -8.215651229259106e-15, + 7.904787935331115e-14, + 1 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + 4.108491324927854e-12, + 0.1686534732580185, + 4.163336342344337e-15 + ] + }, + { + "name":"handindex4.L", + "rotation":[ + -4.300993623473914e-06, + -0.0003774439974222332, + -1.3087859770166688e-05, + 0.9999999403953552 + ], + "translation":[ + -8.129177331284154e-10, + 0.027748674154281616, + 2.6050212653672133e-08 + ] + }, + { + "children":[ + 3 + ], + "name":"handindex3.L", + "rotation":[ + 2.2046522190066753e-06, + -1.7822947029344505e-07, + -6.633296288782731e-05, + 1 + ], + "translation":[ + -8.358682634934667e-10, + 0.02850005030632019, + 5.8848137030054204e-08 + ] + }, + { + "children":[ + 4 + ], + "name":"handindex2.L", + "rotation":[ + 4.796952453034464e-07, + 1.1558869061900623e-07, + 0.00010514154564589262, + 1 + ], + "translation":[ + 2.7111752842756687e-09, + 0.03700003772974014, + 2.4030887502135556e-08 + ] + }, + { + "children":[ + 5 + ], + "name":"handindex1.L", + "rotation":[ + 8.872710282048502e-07, + -5.201111008545922e-08, + -4.404903302202001e-05, + 1 + ], + "translation":[ + -0.02259862795472145, + 0.09109316766262054, + 0.0051802643574774265 + ] + }, + { + "name":"handmiddle4.L", + "rotation":[ + 2.8689903786016657e-08, + -0.0010240075644105673, + 2.8007299988530576e-05, + 0.999999463558197 + ], + "translation":[ + 5.814456471853191e-09, + 0.029528817161917686, + -1.932665583126436e-08 + ] + }, + { + "children":[ + 7 + ], + "name":"handmiddle3.L", + "rotation":[ + -4.0409959183307365e-06, + -1.631082682251872e-07, + 2.0510378817562014e-05, + 1 + ], + "translation":[ + 3.566604789284611e-09, + 0.029500018805265427, + -4.096026273714415e-08 + ] + }, + { + "children":[ + 8 + ], + "name":"handmiddle2.L", + "rotation":[ + 4.041001830046298e-06, + 4.4069697224813353e-08, + 2.134915121132508e-05, + 1 + ], + "translation":[ + 5.23044718647725e-10, + 0.03700001910328865, + -6.085109305331571e-09 + ] + }, + { + "children":[ + 9 + ], + "name":"handmiddle1.L", + "rotation":[ + -7.24426968190528e-07, + -2.264228271542379e-08, + -3.166962051182054e-05, + 1 + ], + "translation":[ + -3.5773257422988536e-07, + 0.09533406794071198, + -4.5995889763617015e-07 + ] + }, + { + "name":"handpinky4.L", + "rotation":[ + -3.0361243261722848e-06, + -0.0007839997415430844, + -0.00029601866845041513, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 1.9833805708913133e-09, + 0.02125522680580616, + -5.474696251894784e-08 + ] + }, + { + "children":[ + 11 + ], + "name":"handpinky3.L", + "rotation":[ + 8.514914043189492e-06, + 5.460542524815537e-07, + -6.653391756117344e-05, + 1 + ], + "translation":[ + -1.1610836736508645e-09, + 0.021000083535909653, + -9.591443017598067e-08 + ] + }, + { + "children":[ + 12 + ], + "name":"handpinky2.L", + "rotation":[ + -5.203507953410735e-06, + -1.4068231735109293e-07, + -0.00021075546101201326, + 1 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + -3.333013864903478e-09, + 0.03599989786744118, + -1.5751382420603477e-09 + ] + }, + { + "children":[ + 13 + ], + "name":"handpinky1.L", + "rotation":[ + -4.035667188873049e-06, + -4.0740797402349926e-08, + 0.0020447801798582077, + 0.9999979138374329 + ], + "translation":[ + 0.038062646985054016, + 0.08077787607908249, + 0.004868661984801292 + ] + }, + { + "name":"handring4.L", + "rotation":[ + -8.12406497630036e-09, + 0.0004936773329973221, + 1.6482892533531412e-05, + 0.9999998807907104 + ], + "translation":[ + -2.3473216970160138e-07, + 0.026443222537636757, + 1.7724477174851927e-07 + ] + }, + { + "children":[ + 15 + ], + "name":"handring3.L", + "rotation":[ + -4.0410077417618595e-06, + -4.0146960600395687e-07, + -6.205201543707517e-07, + 1 + ], + "translation":[ + -1.1457927939773072e-09, + 0.029499877244234085, + 3.77251296868053e-08 + ] + }, + { + "children":[ + 16 + ], + "name":"handring2.L", + "rotation":[ + 4.040944531880086e-06, + 4.384003915447465e-08, + 2.030075449965807e-07, + 1 + ], + "translation":[ + -4.8606949576424086e-09, + 0.03150007873773575, + -8.246857419180742e-09 + ] + }, + { + "children":[ + 17 + ], + "name":"handring1.L", + "rotation":[ + -7.243593813655025e-07, + -2.2613424022210893e-08, + 6.208795639395248e-06, + 1 + ], + "translation":[ + 0.018650822341442108, + 0.09104537963867188, + 0.0004301290027797222 + ] + }, + { + "name":"handthumb4.L", + "rotation":[ + 0.0051511358469724655, + 0.12268276512622833, + 0.04165191575884819, + 0.9915581345558167 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -6.705522537231445e-08, + 0.025805741548538208, + -1.492392698310141e-07 + ] + }, + { + "children":[ + 19 + ], + "name":"handthumb3.L", + "rotation":[ + -0.0015303968684747815, + 0.0007450461853295565, + -0.0060737901367247105, + 0.999980092048645 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 4.563480615615845e-08, + 0.03418399393558502, + 8.200773748967549e-08 + ] + }, + { + "children":[ + 20 + ], + "name":"handthumb2.L", + "rotation":[ + -0.002065066946670413, + 0.0010431568371132016, + -0.00821353867650032, + 0.9999635815620422 + ], + "scale":[ + 0.9999999403953552, + 0.9999997615814209, + 0.9999998211860657 + ], + "translation":[ + -5.029141902923584e-08, + 0.041870877146720886, + -2.5017115490300057e-07 + ] + }, + { + "children":[ + 21 + ], + "name":"handthumb1.L", + "rotation":[ + 0.25309571623802185, + -0.06132367253303528, + 0.22735275328159332, + 0.938345730304718 + ], + "scale":[ + 1, + 1.0000001192092896, + 0.9999999403953552 + ], + "translation":[ + -0.026817314326763153, + 0.02466154471039772, + 0.015761854127049446 + ] + }, + { + "children":[ + 6, + 10, + 14, + 18, + 22 + ], + "name":"hand.L", + "rotation":[ + -1.1724073800678525e-07, + -1.953404327181829e-09, + -0.0008556083193980157, + 0.9999996423721313 + ], + "translation":[ + 0.0004846574447583407, + 0.283287912607193, + -1.312394886099355e-07 + ] + }, + { + "children":[ + 23 + ], + "name":"forearm.L", + "rotation":[ + 6.256710776142427e-07, + 8.773042736720527e-08, + 0.0008559320122003555, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 1 + ], + "translation":[ + 2.7814976988338458e-09, + 0.2784152925014496, + -7.977563143413136e-08 + ] + }, + { + "children":[ + 24 + ], + "name":"arm.L", + "rotation":[ + -0.02460736408829689, + -0.0025615300983190536, + 0.10350420325994492, + 0.9943212866783142 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999998807907104 + ], + "translation":[ + -1.862645149230957e-09, + 0.10837707668542862, + -1.4278940341228008e-07 + ] + }, + { + "children":[ + 25 + ], + "name":"shoulder.L", + "rotation":[ + 0.4844230115413666, + 0.5709701776504517, + -0.5261619687080383, + 0.40308940410614014 + ], + "scale":[ + 0.9999998807907104, + 0.9999997615814209, + 0.9999998807907104 + ], + "translation":[ + 0.04570445790886879, + 0.11195652931928635, + -0.008066272363066673 + ] + }, + { + "name":"handindex4.R", + "rotation":[ + -4.387489752843976e-06, + 0.001002811943180859, + 8.70746371219866e-05, + 0.999999463558197 + ], + "translation":[ + -2.3528627934865654e-09, + 0.027721796184778214, + 4.0083602215190695e-08 + ] + }, + { + "children":[ + 27 + ], + "name":"handindex3.R", + "rotation":[ + 1.0574328371149022e-05, + -1.8728944439772022e-07, + -8.806938421912491e-05, + 1 + ], + "scale":[ + 1, + 1, + 0.9999999403953552 + ], + "translation":[ + 1.858708742474846e-10, + 0.028500143438577652, + -5.2046402743144426e-08 + ] + }, + { + "children":[ + 28 + ], + "name":"handindex2.R", + "rotation":[ + -6.274121915339492e-06, + 1.944923440078128e-07, + 0.0002557229599915445, + 1 + ], + "translation":[ + -2.725073500187136e-10, + 0.03699992597103119, + 1.2146533556744998e-08 + ] + }, + { + "children":[ + 29 + ], + "name":"handindex1.R", + "rotation":[ + -1.9564166259256055e-11, + -1.192104690517226e-07, + -0.00016411440446972847, + 1 + ], + "translation":[ + 0.02259833924472332, + 0.0910828560590744, + 0.005178694147616625 + ] + }, + { + "name":"handmiddle4.R", + "rotation":[ + -4.200302100798581e-06, + 0.0009290380985476077, + 0.0001665618474362418, + 0.9999995827674866 + ], + "translation":[ + 3.8664325074933e-09, + 0.029466252774000168, + 2.036575708075361e-08 + ] + }, + { + "children":[ + 31 + ], + "name":"handmiddle3.R", + "rotation":[ + 2.0204365682729986e-06, + -1.5780838680257148e-07, + -0.00032192468643188477, + 1 + ], + "scale":[ + 0.9999999403953552, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -4.794991070866672e-09, + 0.029499920085072517, + 8.23749317646616e-08 + ] + }, + { + "children":[ + 32 + ], + "name":"handmiddle2.R", + "rotation":[ + -2.020426563831279e-06, + 3.75363455873412e-08, + 0.0008498621755279601, + 0.9999996423721313 + ], + "translation":[ + -1.5178187595665804e-09, + 0.0370001457631588, + 1.2647534219922818e-07 + ] + }, + { + "children":[ + 33 + ], + "name":"handmiddle1.R", + "rotation":[ + -6.49106601802174e-11, + -3.723018855011917e-12, + -0.0005016589420847595, + 0.9999998807907104 + ], + "translation":[ + -2.609650380236417e-07, + 0.09532509744167328, + 4.839977805204398e-07 + ] + }, + { + "name":"handpinky4.R", + "rotation":[ + -5.569639142777305e-06, + 0.0015697574708610773, + -4.1209597839042544e-05, + 0.9999987483024597 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 0.9999998807907104 + ], + "translation":[ + 2.5656277102825698e-09, + 0.02115778997540474, + 7.441177984901515e-08 + ] + }, + { + "children":[ + 35 + ], + "name":"handpinky3.R", + "rotation":[ + 5.613026587525383e-06, + -2.406910937224893e-07, + -0.0004968639113940299, + 0.9999998807907104 + ], + "scale":[ + 1, + 0.9999999403953552, + 0.9999999403953552 + ], + "translation":[ + -2.625103689979369e-09, + 0.02099986933171749, + 1.6951955217336945e-07 + ] + }, + { + "children":[ + 36 + ], + "name":"handpinky2.R", + "rotation":[ + -2.1285734419507207e-06, + 1.4029291151018697e-07, + 0.0008462514379061759, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 0.9999999403953552 + ], + "translation":[ + 8.041411092563067e-09, + 0.035999998450279236, + 1.1781166620039585e-07 + ] + }, + { + "children":[ + 37 + ], + "name":"handpinky1.R", + "rotation":[ + 4.967071618011687e-06, + -4.231911177043912e-08, + 0.0005204537301324308, + 0.9999998807907104 + ], + "scale":[ + 1, + 1.0000001192092896, + 1 + ], + "translation":[ + -0.03806281462311745, + 0.08076678216457367, + 0.004867088980972767 + ] + }, + { + "name":"handring4.R", + "rotation":[ + 1.1671562560877646e-07, + 0.00014603129238821566, + -0.0007996074273250997, + 0.9999996423721313 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + 3.3163018997584004e-09, + 0.02638809010386467, + 1.240848916950199e-07 + ] + }, + { + "children":[ + 39 + ], + "name":"handring3.R", + "rotation":[ + 2.0626657715183683e-06, + -8.260165174078793e-08, + -0.00011254193668719381, + 1 + ], + "translation":[ + 3.6250611401555943e-09, + 0.028896944597363472, + -6.861417212178367e-09 + ] + }, + { + "children":[ + 40 + ], + "name":"handring2.R", + "rotation":[ + -2.0626207515306305e-06, + -4.134354192331102e-09, + -0.00022161708329804242, + 1 + ], + "scale":[ + 0.9999998807907104, + 0.9999999403953552, + 1 + ], + "translation":[ + 2.4463133740937337e-09, + 0.033792734146118164, + -8.046864508060025e-09 + ] + }, + { + "children":[ + 41 + ], + "name":"handring1.R", + "rotation":[ + -1.860207474169151e-11, + 1.1921048326257733e-07, + 0.0001560438540764153, + 1 + ], + "translation":[ + -0.018651369959115982, + 0.09103600680828094, + 0.0004307127383071929 + ] + }, + { + "name":"handthumb4.R", + "rotation":[ + 0.005775901488959789, + -0.11750974506139755, + -0.04874412342905998, + 0.9918578863143921 + ], + "scale":[ + 1.0000001192092896, + 1, + 0.9999999403953552 + ], + "translation":[ + -6.007030606269836e-08, + 0.025749769061803818, + 7.210895347498081e-08 + ] + }, + { + "children":[ + 43 + ], + "name":"handthumb3.R", + "rotation":[ + -0.001665552263148129, + -0.0008075474761426449, + 0.006919392850250006, + 0.9999743700027466 + ], + "scale":[ + 0.9999999403953552, + 0.9999999403953552, + 1 + ], + "translation":[ + 5.168840289115906e-08, + 0.034162648022174835, + 1.4680230719932297e-07 + ] + }, + { + "children":[ + 44 + ], + "name":"handthumb2.R", + "rotation":[ + -0.002314238576218486, + -0.0011704372009262443, + 0.009300507605075836, + 0.9999533891677856 + ], + "scale":[ + 1.0000001192092896, + 1.0000001192092896, + 1.0000001192092896 + ], + "translation":[ + 3.166496753692627e-08, + 0.04188991338014603, + 2.0955660318122682e-08 + ] + }, + { + "children":[ + 45 + ], + "name":"handthumb1.R", + "rotation":[ + 0.25328338146209717, + 0.0616186261177063, + -0.22821031510829926, + 0.9380675554275513 + ], + "scale":[ + 1, + 1.0000001192092896, + 1 + ], + "translation":[ + 0.02681852877140045, + 0.02464805729687214, + 0.01573992148041725 + ] + }, + { + "children":[ + 30, + 34, + 38, + 42, + 46 + ], + "name":"hand.R", + "rotation":[ + -8.416084256168688e-07, + -1.2706919960692176e-07, + 0.000855970720294863, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1.0000001192092896, + 1 + ], + "translation":[ + -0.0004849898105021566, + 0.28328824043273926, + -4.924516474602569e-07 + ] + }, + { + "children":[ + 47 + ], + "name":"forearm.R", + "rotation":[ + 8.416084824602876e-07, + 1.2685785577559727e-07, + -0.0008559279376640916, + 0.9999996423721313 + ], + "scale":[ + 0.9999999403953552, + 1, + 1 + ], + "translation":[ + 7.243929189826304e-08, + 0.2784149646759033, + 7.136969237819812e-09 + ] + }, + { + "children":[ + 48 + ], + "name":"arm.R", + "rotation":[ + -0.024616025388240814, + 0.0025623163674026728, + -0.10349860042333603, + 0.9943216443061829 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + -1.862645149230957e-09, + 0.10838180780410767, + 3.878955823211072e-08 + ] + }, + { + "children":[ + 49 + ], + "name":"shoulder.R", + "rotation":[ + 0.48443058133125305, + -0.5709637999534607, + 0.5261635184288025, + 0.40308719873428345 + ], + "scale":[ + 0.9999997615814209, + 1, + 0.9999998807907104 + ], + "translation":[ + -0.045699700713157654, + 0.11195846647024155, + -0.008066335693001747 + ] + }, + { + "children":[ + 2, + 26, + 50 + ], + "name":"spine2", + "rotation":[ + 0.01288565807044506, + -4.771085748700443e-10, + -3.702412953998646e-08, + 0.9999169707298279 + ], + "translation":[ + 5.412337245047638e-15, + 0.09322061389684677, + -3.7252858575698156e-09 + ] + }, + { + "children":[ + 51 + ], + "name":"spine1", + "rotation":[ + -8.940696716308594e-08, + -3.34038352534094e-14, + 3.039235529911366e-14, + 1 + ], + "translation":[ + -6.717543188372588e-14, + 0.10002681612968445, + 3.2596334520462733e-09 + ] + }, + { + "children":[ + 52 + ], + "name":"spine", + "rotation":[ + -0.08015569299459457, + 4.009704894503141e-14, + -2.480680905136978e-07, + 0.9967823624610901 + ], + "scale":[ + 1, + 0.9999998211860657, + 0.9999999403953552 + ], + "translation":[ + -4.232656326125239e-12, + 0.10182435810565948, + 3.0267974793218855e-09 + ] + }, + { + "name":"toe_end.L", + "rotation":[ + 5.2061421840221556e-09, + -0.011869152076542377, + -6.175124300789037e-11, + 0.9999295473098755 + ], + "translation":[ + -3.2374511960142627e-09, + 0.09278135001659393, + 1.0894213531287278e-08 + ] + }, + { + "children":[ + 54 + ], + "name":"toebase.L", + "rotation":[ + 0.33524152636528015, + 3.9022669540145216e-08, + -1.4048482910311577e-07, + 0.9421322345733643 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -2.4129189757360336e-09, + 0.13816864788532257, + 4.508141415726641e-09 + ] + }, + { + "children":[ + 55 + ], + "name":"foot.L", + "rotation":[ + 0.45974862575531006, + 2.041474367331375e-08, + -1.8029456327894877e-07, + 0.8880491256713867 + ], + "translation":[ + 9.868331041218426e-09, + 0.44527870416641235, + 3.5456206859407757e-09 + ] + }, + { + "children":[ + 56 + ], + "name":"leg.L", + "rotation":[ + -0.03811243921518326, + -1.6466810848214664e-07, + 1.7646108574354002e-08, + 0.9992734789848328 + ], + "translation":[ + 3.130001369200386e-09, + 0.443713903427124, + -3.413118676576232e-10 + ] + }, + { + "children":[ + 57 + ], + "name":"upleg.L", + "rotation":[ + -8.941996298972299e-08, + 0.01036797184497118, + 0.9999462366104126, + 2.677497263903206e-07 + ], + "scale":[ + 1, + 0.9999999403953552, + 1 + ], + "translation":[ + 0.08207788318395615, + -0.0677180141210556, + -0.015122131444513798 + ] + }, + { + "name":"toe_end.R", + "rotation":[ + -2.2927851617282613e-08, + 0.011608129367232323, + -2.6613722337032186e-10, + 0.9999326467514038 + ], + "translation":[ + -1.0687933205133504e-08, + 0.09278120845556259, + 1.225798129667055e-09 + ] + }, + { + "children":[ + 59 + ], + "name":"toebase.R", + "rotation":[ + 0.3352416157722473, + 1.524676207509401e-08, + -9.762964481296876e-08, + 0.9421321749687195 + ], + "translation":[ + -1.7568225985087338e-08, + 0.13816867768764496, + -7.635153842500131e-09 + ] + }, + { + "children":[ + 60 + ], + "name":"foot.R", + "rotation":[ + 0.4597400426864624, + 3.2379794845383e-08, + -1.7348713754472556e-07, + 0.8880535364151001 + ], + "translation":[ + -3.818936722410626e-09, + 0.44527819752693176, + 2.023623935087926e-09 + ] + }, + { + "children":[ + 61 + ], + "name":"leg.R", + "rotation":[ + -0.03809138014912605, + -8.132730044962955e-08, + 9.350360485882447e-09, + 0.9992742538452148 + ], + "translation":[ + -6.652245421179259e-09, + 0.4437147080898285, + 2.934825715783518e-10 + ] + }, + { + "children":[ + 62 + ], + "name":"upleg.R", + "rotation":[ + -4.640854811555073e-08, + 0.010356487706303596, + 0.9999463558197021, + 2.514035486456123e-07 + ], + "scale":[ + 1, + 0.9999998807907104, + 0.9999999403953552 + ], + "translation":[ + -0.08207789808511734, + -0.06771751493215561, + -0.015122181735932827 + ] + }, + { + "children":[ + 53, + 58, + 63 + ], + "name":"hips", + "rotation":[ + 0.711658775806427, + -1.7599082013930456e-07, + 1.782787961701615e-07, + 0.7025253176689148 + ], + "translation":[ + -7.727290807224563e-08, + -0.015543073415756226, + 1.0427486896514893 + ] + }, + { + "children":[ + 64 + ], + "name":"root", + "rotation":[ + -0.7071067690849304, + 0, + 0, + 0.7071067690849304 + ] + }, + { + "mesh":0, + "name":"Beta_Surface", + "skin":0 + }, + { + "children":[ + 66, + 65 + ], + "name":"Mixamo" + }, + { + "name":"WGT-Armature_arm.L.001", + "rotation":[ + 0, + 0, + 1, + 7.549789415861596e-08 + ], + "scale":[ + 0.12076857686042786, + 0.12076857686042786, + 0.12076857686042786 + ], + "translation":[ + 0.4300432503223419, + 1.4406129121780396, + -0.26406732201576233 + ] + }, + { + "name":"WGT-Armature_arm.R.001", + "rotation":[ + 0, + 0, + -1, + 7.549789415861596e-08 + ], + "scale":[ + 0.12076857686042786, + 0.12076857686042786, + 0.12076857686042786 + ], + "translation":[ + -0.4300432503223419, + 1.4406129121780396, + -0.26406732201576233 + ] + }, + { + "name":"WGT-Armature_foot.ik.L", + "rotation":[ + 0, + 0.9421200156211853, + 0.33527588844299316, + 9.819790314224974e-09 + ], + "scale":[ + 0.13816864788532257, + 0.13816864788532257, + 0.13816864788532257 + ], + "translation":[ + 0.08207781612873077, + 0.08729472756385803, + -0.02742675505578518 + ] + }, + { + "name":"WGT-Armature_foot.ik.R", + "rotation":[ + 0, + 0.9421200156211853, + 0.33527591824531555, + 1.165481862130946e-07 + ], + "scale":[ + 0.13816869258880615, + 0.13816867768764496, + 0.13816867768764496 + ], + "translation":[ + -0.08207794278860092, + 0.08729400485754013, + -0.02742842584848404 + ] + }, + { + "name":"WGT-Armature_handindex.ik.L", + "rotation":[ + 0.707075834274292, + 0, + -0.7071377038955688, + 1.369082980318126e-07 + ], + "scale":[ + 0.03700000047683716, + 0.03700000047683716, + 0.03700000047683716 + ], + "translation":[ + 0.8044246435165405, + 1.4700753688812256, + -0.03288594260811806 + ] + }, + { + "name":"WGT-Armature_handindex.ik.R", + "rotation":[ + 0.707075834274292, + 0, + 0.7071377038955688, + 1.3799638054479146e-07 + ], + "scale":[ + 0.03699999675154686, + 0.03699999675154686, + 0.03699999675154686 + ], + "translation":[ + -0.8044247031211853, + 1.4700753688812256, + -0.032885950058698654 + ] + }, + { + "name":"WGT-Armature_handmiddle1.R.001", + "rotation":[ + 0.7070847153663635, + 0, + 0.7071289420127869, + 5.3697153390430685e-08 + ], + "scale":[ + 0.03700000047683716, + 0.03700000047683716, + 0.03700000047683716 + ], + "translation":[ + -0.8086656332015991, + 1.4700753688812256, + -0.05548422038555145 + ] + }, + { + "name":"WGT-Armature_handmiddle.ik.L", + "rotation":[ + 0.7070847153663635, + 0, + -0.7071289420127869, + 5.2611017764547796e-08 + ], + "scale":[ + 0.03700000420212746, + 0.03700000420212746, + 0.03700000420212746 + ], + "translation":[ + 0.8086655735969543, + 1.4700753688812256, + -0.055484212934970856 + ] + }, + { + "name":"WGT-Armature_handpinky1.R.001", + "rotation":[ + 0.7085514068603516, + 0, + 0.7056592106819153, + 9.242550902399671e-08 + ], + "scale":[ + 0.03599989414215088, + 0.03599989414215088, + 0.03599989414215088 + ], + "translation":[ + -0.7941094636917114, + 1.4700753688812256, + -0.09354723989963531 + ] + }, + { + "name":"WGT-Armature_handpinky.ik.L", + "rotation":[ + 0.7085514068603516, + 0, + -0.7056592106819153, + 9.135793277437187e-08 + ], + "scale":[ + 0.035999901592731476, + 0.035999901592731476, + 0.035999901592731476 + ], + "translation":[ + 0.7941094040870667, + 1.4700753688812256, + -0.09354722499847412 + ] + }, + { + "name":"WGT-Armature_handring1.R.001", + "rotation":[ + 0.7071115374565125, + 0, + 0.7071021199226379, + 9.250321397757943e-08 + ], + "scale":[ + 0.03150010108947754, + 0.03150010108947754, + 0.03150010108947754 + ], + "translation":[ + -0.8043769598007202, + 1.4700753688812256, + -0.07413540780544281 + ] + }, + { + "name":"WGT-Armature_handring.ik.L", + "rotation":[ + 0.7071115374565125, + 0, + -0.7071021199226379, + 7.16748305151782e-09 + ], + "scale":[ + 0.03150010108947754, + 0.03150010108947754, + 0.03150010108947754 + ], + "translation":[ + 0.8043769001960754, + 1.4700753688812256, + -0.07413539290428162 + ] + }, + { + "name":"WGT-Armature_head.ik.001", + "rotation":[ + 0.6627617478370667, + 0, + 0, + 0.7488303780555725 + ], + "scale":[ + 0.23279033601284027, + 0.23279033601284027, + 0.23279033601284027 + ], + "translation":[ + 0, + 1.599294662475586, + -0.015195577405393124 + ] + }, + { + "name":"WGT-Armature_hips.001", + "rotation":[ + 0.7116587162017822, + 0, + 0, + 0.7025253772735596 + ], + "scale":[ + 0.10559235513210297, + 0.10559234768152237, + 0.10559234768152237 + ], + "translation":[ + 0, + 1.0427486896514893, + 0.015543079003691673 + ] + }, + { + "name":"WGT-Armature_root", + "rotation":[ + 0.7071068286895752, + 0, + 0, + 0.7071068286895752 + ], + "scale":[ + 0.30000001192092896, + 0.30000001192092896, + 0.30000001192092896 + ] + }, + { + "name":"WGT-Armature_spine.ik", + "rotation":[ + 0.6627617478370667, + 0, + 0, + 0.7488303780555725 + ], + "scale":[ + 0.13701453804969788, + 0.13701453804969788, + 0.13701453804969788 + ], + "translation":[ + 0, + 1.3357118368148804, + -0.011555260978639126 + ] + }, + { + "name":"WGT-Armature_toe.ik.L", + "rotation":[ + -0.01186931598931551, + -0.9999295473098755, + 0, + 9.097316819861589e-07 + ], + "scale":[ + 0.09278136491775513, + 0.09278136491775513, + 0.09278136491775513 + ], + "translation":[ + 0.082077756524086, + 0, + 0.17246022820472717 + ] + }, + { + "name":"WGT-Armature_toe.ik.R", + "rotation":[ + -0.011607975699007511, + 0.9999326467514038, + 0, + 7.906297696536058e-07 + ], + "scale":[ + 0.09278120845556259, + 0.09278120845556259, + 0.09278121590614319 + ], + "translation":[ + -0.0820779874920845, + 0, + 0.17245841026306152 + ] + }, + { + "name":"WGT-Armature_upleg.L.001", + "rotation":[ + 0, + -1, + 0, + 4.371138828673793e-08 + ], + "scale":[ + 0.094741091132164, + 0.094741091132164, + 0.094741091132164 + ], + "translation":[ + 0.08207781612873077, + 0.5315314531326294, + 0.24768204987049103 + ] + }, + { + "name":"WGT-Armature_upleg.R.001", + "rotation":[ + 0, + -1, + 0, + 4.371138828673793e-08 + ], + "scale":[ + 0.094741091132164, + 0.094741091132164, + 0.094741091132164 + ], + "translation":[ + -0.08207781612873077, + 0.5315314531326294, + 0.24768204987049103 + ] + }, + { + "name":"WGT-Armature_wrist.ik.L", + "rotation":[ + -0.7071071863174438, + 0, + 0.7071064710617065, + 4.374621767055942e-07 + ], + "scale":[ + 0.08227872848510742, + 0.08227872848510742, + 0.08227872848510742 + ], + "translation":[ + 0.7133315801620483, + 1.4406124353408813, + -0.05548465624451637 + ] + }, + { + "name":"WGT-Armature_wrist.ik.R", + "rotation":[ + -0.70710688829422, + 0, + -0.7071066498756409, + 2.247644914632474e-08 + ], + "scale":[ + 0.08226776123046875, + 0.08226776123046875, + 0.08226776123046875 + ], + "translation":[ + -0.7133318781852722, + 1.4406129121780396, + -0.055484991520643234 + ] + }, + { + "name":"WGT-Mixamo_shoulder.L.001", + "rotation":[ + -0.6299028396606445, + 0.015588964335620403, + 0.7762799263000488, + 0.019211439415812492 + ], + "scale":[ + 0.10837706923484802, + 0.10837706178426743, + 0.10837706923484802 + ], + "translation":[ + 0.04570433869957924, + 1.4458590745925903, + 0.07444843649864197 + ] + }, + { + "name":"WGT-Mixamo_shoulder.R.001", + "rotation":[ + -0.6299028396606445, + -0.015588964335620403, + -0.7762799263000488, + 0.019211439415812492 + ], + "scale":[ + 0.10837706923484802, + 0.10837706178426743, + 0.10837706923484802 + ], + "translation":[ + -0.04570433869957924, + 1.4458590745925903, + 0.07444843649864197 + ] + } + ], + "materials":[ + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 2.0, + 2.0, + 2.0 + ] + } + }, + "name":"Beta_HighLimbsGeoSG3", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.8370000123977661, + 0.30230802297592163, + 0.26365500688552856, + 1 + ], + "metallicFactor":0, + "roughnessFactor":0.5527864098548889 + } + }, + { + "doubleSided":true, + "extensions":{ + "KHR_materials_specular":{ + "specularColorFactor":[ + 2.0, + 2.0, + 2.0 + ] + } + }, + "name":"Beta_Joints_MAT1", + "pbrMetallicRoughness":{ + "baseColorFactor":[ + 0.3333333432674408, + 0.12452887743711472, + 0.10101473331451416, + 1 + ], + "metallicFactor":0.5, + "roughnessFactor":0.5527864098548889 + } + } + ], + "meshes":[ + { + "name":"Beta_Surface", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TANGENT":3, + "JOINTS_0":4, + "WEIGHTS_0":5 + }, + "indices":6, + "material":0 + }, + { + "attributes":{ + "POSITION":7, + "NORMAL":8, + "TEXCOORD_0":9, + "TANGENT":10, + "JOINTS_0":11, + "WEIGHTS_0":12 + }, + "indices":13, + "material":1 + } + ] + } + ], + "skins":[ + { + "inverseBindMatrices":14, + "joints":[ + 65, + 64, + 53, + 52, + 51, + 2, + 1, + 0, + 26, + 25, + 24, + 23, + 6, + 5, + 4, + 3, + 10, + 9, + 8, + 7, + 14, + 13, + 12, + 11, + 18, + 17, + 16, + 15, + 22, + 21, + 20, + 19, + 50, + 49, + 48, + 47, + 30, + 29, + 28, + 27, + 34, + 33, + 32, + 31, + 38, + 37, + 36, + 35, + 42, + 41, + 40, + 39, + 46, + 45, + 44, + 43, + 58, + 57, + 56, + 55, + 54, + 63, + 62, + 61, + 60, + 59 + ], + "name":"Mixamo" + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":15901, + "max":[ + 0.9025658369064331, + 1.8088831901550293, + 0.17174169421195984 + ], + "min":[ + -0.9025661945343018, + -0.0003219323407392949, + -0.14895710349082947 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":15901, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":15901, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":4, + "componentType":5121, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":5, + "componentType":5126, + "count":15901, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":84816, + "type":"SCALAR" + }, + { + "bufferView":7, + "componentType":5126, + "count":12473, + "max":[ + 0.8834667205810547, + 1.5964422225952148, + 0.1250191628932953 + ], + "min":[ + -0.8834670782089233, + -0.0003511549439281225, + -0.12990522384643555 + ], + "type":"VEC3" + }, + { + "bufferView":8, + "componentType":5126, + "count":12473, + "type":"VEC3" + }, + { + "bufferView":9, + "componentType":5126, + "count":12473, + "type":"VEC2" + }, + { + "bufferView":10, + "componentType":5126, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":11, + "componentType":5121, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":12, + "componentType":5126, + "count":12473, + "type":"VEC4" + }, + { + "bufferView":13, + "componentType":5123, + "count":62520, + "type":"SCALAR" + }, + { + "bufferView":14, + "componentType":5126, + "count":66, + "type":"MAT4" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":190812, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":190812, + "byteOffset":190812, + "target":34962 + }, + { + "buffer":0, + "byteLength":127208, + "byteOffset":381624, + "target":34962 + }, + { + "buffer":0, + "byteLength":254416, + "byteOffset":508832, + "target":34962 + }, + { + "buffer":0, + "byteLength":63604, + "byteOffset":763248, + "target":34962 + }, + { + "buffer":0, + "byteLength":254416, + "byteOffset":826852, + "target":34962 + }, + { + "buffer":0, + "byteLength":169632, + "byteOffset":1081268, + "target":34963 + }, + { + "buffer":0, + "byteLength":149676, + "byteOffset":1250900, + "target":34962 + }, + { + "buffer":0, + "byteLength":149676, + "byteOffset":1400576, + "target":34962 + }, + { + "buffer":0, + "byteLength":99784, + "byteOffset":1550252, + "target":34962 + }, + { + "buffer":0, + "byteLength":199568, + "byteOffset":1650036, + "target":34962 + }, + { + "buffer":0, + "byteLength":49892, + "byteOffset":1849604, + "target":34962 + }, + { + "buffer":0, + "byteLength":199568, + "byteOffset":1899496, + "target":34962 + }, + { + "buffer":0, + "byteLength":125040, + "byteOffset":2099064, + "target":34963 + }, + { + "buffer":0, + "byteLength":4224, + "byteOffset":2224104 + } + ], + "buffers":[ + { + "byteLength":2228328, + "uri":"SK_Mixamo.bin" + } + ] +} diff --git a/Assets/Visuals/Meshes/SK_Mixamo.gltf.import b/Assets/Visuals/Meshes/SK_Mixamo.gltf.import new file mode 100644 index 0000000..49a8949 --- /dev/null +++ b/Assets/Visuals/Meshes/SK_Mixamo.gltf.import @@ -0,0 +1,135 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://ctnpqtyc515fl" +path="res://.godot/imported/SK_Mixamo.gltf-0393d2376ddc2bfeeeebb96a6c29c831.scn" + +[deps] + +source_file="res://Assets/Visuals/Meshes/SK_Mixamo.gltf" +dest_files=["res://.godot/imported/SK_Mixamo.gltf-0393d2376ddc2bfeeeebb96a6c29c831.scn"] + +[params] + +nodes/root_type="CharacterSkeleton3D" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"materials": { +"Beta_HighLimbsGeoSG3": { +"use_external/enabled": true, +"use_external/fallback_path": "res://Assets/Visuals/Materials/M_MixamoSurface.material", +"use_external/path": "uid://c72ub4cjetivk" +}, +"Beta_Joints_MAT1": { +"use_external/enabled": true, +"use_external/fallback_path": "res://Assets/Visuals/Materials/M_MixamoJoints.material", +"use_external/path": "uid://dm1tfa3nrut8p" +} +}, +"nodes": { +"PATH:Mixamo/Skeleton3D/Beta_Surface": { +"import/skip_import": true +}, +"PATH:WGT-Armature_arm_L_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_arm_R_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_foot_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_foot_ik_R": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handindex_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handindex_ik_R": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handmiddle1_R_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handmiddle_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handpinky1_R_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handpinky_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handring1_R_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_handring_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_head_ik_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_hips_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_root": { +"import/skip_import": true +}, +"PATH:WGT-Armature_spine_ik": { +"import/skip_import": true +}, +"PATH:WGT-Armature_toe_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_toe_ik_R": { +"import/skip_import": true +}, +"PATH:WGT-Armature_upleg_L_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_upleg_R_001": { +"import/skip_import": true +}, +"PATH:WGT-Armature_wrist_ik_L": { +"import/skip_import": true +}, +"PATH:WGT-Armature_wrist_ik_R": { +"import/skip_import": true +}, +"PATH:WGT-Mixamo_shoulder_L_001": { +"import/skip_import": true +}, +"PATH:WGT-Mixamo_shoulder_R_001": { +"import/skip_import": true +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/Visuals/Meshes/SM_SliceRing.bin b/Assets/Visuals/Meshes/SM_SliceRing.bin new file mode 100644 index 0000000..a6cb2c6 Binary files /dev/null and b/Assets/Visuals/Meshes/SM_SliceRing.bin differ diff --git a/Assets/Visuals/Meshes/SM_SliceRing.gltf b/Assets/Visuals/Meshes/SM_SliceRing.gltf new file mode 100644 index 0000000..3491652 --- /dev/null +++ b/Assets/Visuals/Meshes/SM_SliceRing.gltf @@ -0,0 +1,143 @@ +{ + "asset":{ + "generator":"Khronos glTF Blender I/O v5.2.39", + "version":"2.0" + }, + "scene":0, + "scenes":[ + { + "name":"Scene", + "nodes":[ + 0 + ] + } + ], + "nodes":[ + { + "mesh":0, + "name":"SM_SliceRing" + } + ], + "meshes":[ + { + "name":"SM_SliceRing", + "primitives":[ + { + "attributes":{ + "POSITION":0, + "NORMAL":1, + "TEXCOORD_0":2, + "TEXCOORD_1":3, + "TEXCOORD_2":4, + "TANGENT":5 + }, + "indices":6 + } + ] + } + ], + "accessors":[ + { + "bufferView":0, + "componentType":5126, + "count":116, + "max":[ + 2, + 0.007499999832361937, + 2 + ], + "min":[ + -2, + -0.007499999832361937, + -1.7484555314695172e-07 + ], + "type":"VEC3" + }, + { + "bufferView":1, + "componentType":5126, + "count":116, + "type":"VEC3" + }, + { + "bufferView":2, + "componentType":5126, + "count":116, + "type":"VEC2" + }, + { + "bufferView":3, + "componentType":5126, + "count":116, + "type":"VEC2" + }, + { + "bufferView":4, + "componentType":5126, + "count":116, + "type":"VEC2" + }, + { + "bufferView":5, + "componentType":5126, + "count":116, + "type":"VEC4" + }, + { + "bufferView":6, + "componentType":5123, + "count":402, + "type":"SCALAR" + } + ], + "bufferViews":[ + { + "buffer":0, + "byteLength":1392, + "byteOffset":0, + "target":34962 + }, + { + "buffer":0, + "byteLength":1392, + "byteOffset":1392, + "target":34962 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":2784, + "target":34962 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":3712, + "target":34962 + }, + { + "buffer":0, + "byteLength":928, + "byteOffset":4640, + "target":34962 + }, + { + "buffer":0, + "byteLength":1856, + "byteOffset":5568, + "target":34962 + }, + { + "buffer":0, + "byteLength":804, + "byteOffset":7424, + "target":34963 + } + ], + "buffers":[ + { + "byteLength":8228, + "uri":"SM_SliceRing.bin" + } + ] +} diff --git a/Assets/Visuals/Meshes/SM_SliceRing.gltf.import b/Assets/Visuals/Meshes/SM_SliceRing.gltf.import new file mode 100644 index 0000000..ae0e53d --- /dev/null +++ b/Assets/Visuals/Meshes/SM_SliceRing.gltf.import @@ -0,0 +1,63 @@ +[remap] + +importer="ArrayMesh" +importer_version=1 +type="ArrayMesh" +uid="uid://cv5uncwb0f3yf" +path="res://.godot/imported/SM_SliceRing.gltf-8819cb94aca5e2a541c509f5223ba0fa.res" + +[deps] + +source_file="res://Assets/Visuals/Meshes/SM_SliceRing.gltf" +dest_files=["res://.godot/imported/SM_SliceRing.gltf-8819cb94aca5e2a541c509f5223ba0fa.res"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/root_script=null +mesh_library/use_node_names_as_mesh_names=false +array_mesh/deduplicate_surfaces=true +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"materials": { +"@MATERIAL:0": { +"use_external/enabled": true, +"use_external/path": "uid://li04p3pck0c4" +} +}, +"meshes": { +"SM_SliceRing_SM_SliceRing": { +"generate/lightmap_uv": 2, +"generate/lods": 2, +"generate/shadow_meshes": 2, +"lods/normal_merge_angle": 20.0, +"save_to_file/enabled": false, +"save_to_file/fallback_path": "", +"save_to_file/path": "" +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 +gltf/texture_map_mode=1 diff --git a/Assets/Visuals/Meshes/slice_plane.tscn b/Assets/Visuals/Meshes/slice_plane.tscn new file mode 100644 index 0000000..352325c --- /dev/null +++ b/Assets/Visuals/Meshes/slice_plane.tscn @@ -0,0 +1,40 @@ +[gd_scene format=3 uid="uid://b5bg5jc0yectn"] + +[ext_resource type="Script" uid="uid://c6q0jmdr7hmum" path="res://Assets/mesh_slice_test.gd" id="1_et1c0"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hy47e"] +transparency = 1 +cull_mode = 2 +shading_mode = 0 +albedo_color = Color(1, 0, 1, 0.1764706) +uv1_scale = Vector3(10, 10, 10) +disable_receive_shadows = true +grow_amount = 0.343 +distance_fade_max_distance = 30.0 + +[sub_resource type="PlaneMesh" id="PlaneMesh_6ql8e"] +material = SubResource("StandardMaterial3D_hy47e") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dt08d"] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0, 1, 0, 0.1764706) +disable_receive_shadows = true + +[sub_resource type="CylinderMesh" id="CylinderMesh_6ql8e"] +material = SubResource("StandardMaterial3D_dt08d") +top_radius = 0.0 +bottom_radius = 0.02 +height = 0.3334961 + +[node name="Test Slice Plane" type="Node3D" unique_id=2064012430] +transform = Transform3D(0.9998343, 0, 0, 0, 0.9998406, 0, 0, 0, 0.99990726, 0, 0, 0) +script = ExtResource("1_et1c0") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1121976583] +transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0) +mesh = SubResource("PlaneMesh_6ql8e") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="MeshInstance3D" unique_id=1950096126] +transform = Transform3D(1.0000012, 1.4901161e-08, 5.9604645e-08, 2.2351742e-08, 0.9999999, 3.2782555e-07, 2.0861626e-07, -3.7252903e-09, 0.9999996, 0, 0.16674817, -2.9802322e-08) +mesh = SubResource("CylinderMesh_6ql8e") diff --git a/Assets/Visuals/Meshes/test_plane.tscn b/Assets/Visuals/Meshes/test_plane.tscn new file mode 100644 index 0000000..7e3bfc8 --- /dev/null +++ b/Assets/Visuals/Meshes/test_plane.tscn @@ -0,0 +1,68 @@ +[gd_scene format=3 uid="uid://khrvrokp682r"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hy47e"] +transparency = 1 +cull_mode = 2 +shading_mode = 0 +albedo_color = Color(1, 0, 1, 0.1764706) +uv1_scale = Vector3(10, 10, 10) +disable_receive_shadows = true +grow_amount = 0.343 +distance_fade_max_distance = 30.0 + +[sub_resource type="PlaneMesh" id="PlaneMesh_6ql8e"] +material = SubResource("StandardMaterial3D_hy47e") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dt08d"] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0, 1, 0, 0.1764706) +disable_receive_shadows = true + +[sub_resource type="CylinderMesh" id="CylinderMesh_6ql8e"] +material = SubResource("StandardMaterial3D_dt08d") +top_radius = 0.0 +bottom_radius = 0.02 +height = 0.3334961 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ko42f"] +transparency = 1 +shading_mode = 0 +albedo_color = Color(0, 0, 1, 0.1764706) +disable_receive_shadows = true + +[sub_resource type="CylinderMesh" id="CylinderMesh_nn3ia"] +material = SubResource("StandardMaterial3D_ko42f") +top_radius = 0.0 +bottom_radius = 0.02 +height = 0.3334961 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wkn0x"] +transparency = 1 +shading_mode = 0 +albedo_color = Color(1, 0, 0, 0.1764706) +disable_receive_shadows = true + +[sub_resource type="CylinderMesh" id="CylinderMesh_w0oxe"] +material = SubResource("StandardMaterial3D_wkn0x") +top_radius = 0.0 +bottom_radius = 0.02 +height = 0.3334961 + +[node name="Test Plane" type="Node3D" unique_id=2064012430] +transform = Transform3D(0.9998343, 0, 0, 0, 0.9998406, 0, 0, 0, 0.99990726, 0, 0, 0) + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1121976583] +mesh = SubResource("PlaneMesh_6ql8e") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="MeshInstance3D" unique_id=1950096126] +transform = Transform3D(1.0000012, 1.4901161e-08, 5.9604645e-08, 2.2351742e-08, 0.9999999, 3.2782555e-07, 2.0861626e-07, -3.7252903e-09, 0.9999996, 0, 0.16674817, -2.9802322e-08) +mesh = SubResource("CylinderMesh_6ql8e") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="MeshInstance3D/MeshInstance3D2" unique_id=1359183057] +transform = Transform3D(1.0000012, -2.9802255e-08, 1.3411031e-07, -1.3411044e-07, -3.9986162e-08, -0.99999136, 6.7055225e-08, 0.9999998, 2.8410938e-07, 2.4947633e-09, -0.16742095, 0.16699998) +mesh = SubResource("CylinderMesh_nn3ia") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="MeshInstance3D/MeshInstance3D2/MeshInstance3D2" unique_id=2089669404] +transform = Transform3D(2.3343869e-08, 0.99999994, 2.962721e-07, 4.2939683e-07, -2.7823347e-08, -0.9999913, -1.0000012, -1.3909066e-08, -6.976121e-07, 0.167, -0.167, 0) +mesh = SubResource("CylinderMesh_w0oxe") diff --git a/Assets/Visuals/Shaders/Compositors/PostProcessCompositor.res b/Assets/Visuals/Shaders/Compositors/PostProcessCompositor.res new file mode 100644 index 0000000..a77fa08 Binary files /dev/null and b/Assets/Visuals/Shaders/Compositors/PostProcessCompositor.res differ diff --git a/Assets/Visuals/Shaders/post_process_old.gdshader b/Assets/Visuals/Shaders/post_process_old.gdshader new file mode 100644 index 0000000..0af2096 --- /dev/null +++ b/Assets/Visuals/Shaders/post_process_old.gdshader @@ -0,0 +1,53 @@ +shader_type spatial; +render_mode blend_mix, skip_vertex_transform, depth_test_disabled, unshaded, cull_back, shadows_disabled, fog_disabled, specular_disabled, specular_occlusion_disabled, ambient_light_disabled; + +group_uniforms ChromaticAbberation; +uniform bool ca_enabled = false; +uniform lowp float ca_blur_offset : hint_range(0.0f, 10.0f, 0.01) = 2.5f; +uniform lowp float ca_centre_offset : hint_range(0.0f, 1.0f, 0.01) = 0.0f; +group_uniforms; + +group_uniforms Vignette; +uniform bool vignette_enabled = false; +uniform lowp vec4 vignette_colour : source_color = vec4(0.0f, 0.0f, 0.0f, 0.4f); +uniform lowp float vignette_pupil : hint_range(0.0f, 0.9975f, 0.01f) = 0.8f; +uniform lowp float vignette_iris : hint_range(0.0025f, 5.0f, 0.01f) = 0.4f; +group_uniforms; + +uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_linear; +const vec2 vertices[4] = { vec2(10.0f, -10.0f), vec2(10.0f, 100.0f), vec2(-100.0f, -10.0f), vec2(-100.0f, 100.0f) }; +//const vec3 debug_colours[4] = { vec3(1.0f, 0.0f, 0.0f), vec3(1.0f, 1.0f, 0.0f), vec3(1.0f, 0.0f, 1.0f), vec3(0.0f, 0.0f, 1.0f) }; + +void chromatic_abberation(inout vec3 mix_colour, in vec2 screen_uv, in vec2 screen_pixel_size) +{ + float distance_from_centre = smoothstep(ca_centre_offset, 1.0f, distance(vec2(0.5f, 0.5f), screen_uv.xy) * 2.0f); + + vec4 green_channel = texture(screen_texture, screen_uv); + vec4 red_channel = texture(screen_texture, vec2(screen_uv.x + (ca_blur_offset * screen_pixel_size.x * distance_from_centre), screen_uv.y)); + vec4 blue_channel = texture(screen_texture, vec2(screen_uv.x - (ca_blur_offset * screen_pixel_size.x * distance_from_centre), screen_uv.y)); + mix_colour = vec3(red_channel.r, green_channel.g, blue_channel.b); +} + +void vignette(inout vec3 mix_colour, in vec2 screen_uv) +{ + float distance_to_centre = distance(screen_uv, vec2(0.5f, 0.5f)) * 2.0f; + mix_colour.rgb = mix(mix_colour.rgb, vignette_colour.rgb, smoothstep((vignette_pupil * 2.0f) - 1.0f, 1.0f + vignette_iris, distance_to_centre) * vignette_colour.a); +} + + +void vertex() +{ + //VERTEX = (inverse(CANVAS_MATRIX) * inverse(SCREEN_MATRIX) * vec4(vertices[VERTEX_ID], 1.0f, 1.0f)).xy; // For Canvas + POSITION = vec4(vertices[VERTEX_ID].xy, 1.0f, 1.0f); // For 3D +} + +void fragment() +{ + //COLOR = texture(screen_texture, SCREEN_UV); // For Canvas + ALBEDO = texture(screen_texture, SCREEN_UV).rgb; // For 3D + + // Post-process effects are mixed together one after the other. + // To change the order of effects, simply change the function order. + if (ca_enabled) chromatic_abberation(ALBEDO, SCREEN_UV, 1.0 / VIEWPORT_SIZE); + if (vignette_enabled) vignette(ALBEDO, SCREEN_UV); +} diff --git a/Assets/Visuals/Shaders/post_process_old.gdshader.uid b/Assets/Visuals/Shaders/post_process_old.gdshader.uid new file mode 100644 index 0000000..df51312 --- /dev/null +++ b/Assets/Visuals/Shaders/post_process_old.gdshader.uid @@ -0,0 +1 @@ +uid://dd64almpjtr7p diff --git a/Assets/Visuals/Shaders/post_process_vignette.glsl b/Assets/Visuals/Shaders/post_process_vignette.glsl new file mode 100644 index 0000000..cc9108e --- /dev/null +++ b/Assets/Visuals/Shaders/post_process_vignette.glsl @@ -0,0 +1,47 @@ +#[compute] +#version 450 + +// Invocations in the (x, y, z) dimension +layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in; + +layout(rgba16f, set = 0, binding = 0) uniform image2D screen_texture; + +// Our push constant +layout(push_constant, std430) uniform Params { + vec2 raster_size; + vec2 reserved; + + vec4 vignette_colour; + + float vignette_pupil; + float vignette_iris; + vec2 reserved2; +} params; + + +// void chromatic_abberation(inout vec3 mix_colour, in vec2 screen_uv, in vec2 screen_pixel_size) +// { + // float distance_from_centre = smoothstep(params.ca_centre_offset, 1.0f, distance(vec2(0.5f, 0.5f), screen_uv) * 2.0f); + + // mix_colour.r = imageLoad(screen_texture, vec2(screen_uv.x + (params.ca_blur_offset * screen_pixel_size.x * distance_from_centre), screen_uv.y)).r; + // mix_colour.b = imageLoad(screen_texture, vec2(screen_uv.x - (params.ca_blur_offset * screen_pixel_size.x * distance_from_centre), screen_uv.y)).b; +// } + + +// The code we want to execute in each invocation +void main() { + ivec2 uv = ivec2(gl_GlobalInvocationID.xy); + vec2 screen_uv = gl_GlobalInvocationID.xy / params.raster_size; + + vec4 color = imageLoad(screen_texture, uv); + + // Custom code below this line + + // chromatic_abberation(color.rgb, screen_uv, screen_pixel_size); + float distance_to_centre = distance(screen_uv, vec2(0.5f, 0.5f)) * 2.0f; + color.rgb = mix(color.rgb, params.vignette_colour.rgb, smoothstep((params.vignette_pupil * 2.0f) - 1.0f, 1.0f + params.vignette_iris, distance_to_centre) * params.vignette_colour.a); + + // Custom code above this line + + imageStore(screen_texture, uv, color); +} \ No newline at end of file diff --git a/Assets/Visuals/Shaders/post_process_vignette.glsl.import b/Assets/Visuals/Shaders/post_process_vignette.glsl.import new file mode 100644 index 0000000..d4632c2 --- /dev/null +++ b/Assets/Visuals/Shaders/post_process_vignette.glsl.import @@ -0,0 +1,14 @@ +[remap] + +importer="glsl" +type="RDShaderFile" +uid="uid://bxunu0anan320" +path="res://.godot/imported/post_process_vignette.glsl-8708cad4531e6c2afec5a3b25a805fbe.res" + +[deps] + +source_file="res://Assets/Visuals/Shaders/post_process_vignette.glsl" +dest_files=["res://.godot/imported/post_process_vignette.glsl-8708cad4531e6c2afec5a3b25a805fbe.res"] + +[params] + diff --git a/Assets/Visuals/Shaders/slice_ring.gdshader b/Assets/Visuals/Shaders/slice_ring.gdshader new file mode 100644 index 0000000..1029c06 --- /dev/null +++ b/Assets/Visuals/Shaders/slice_ring.gdshader @@ -0,0 +1,47 @@ +shader_type spatial; +render_mode blend_mix, unshaded, depth_draw_never, cull_disabled, diffuse_burley, specular_disabled, fog_disabled, shadows_disabled, ambient_light_disabled, specular_occlusion_disabled; + +uniform lowp vec4 albedo : source_color; +uniform lowp float intersection_thickness : hint_range(0.0f, 0.1f) = 0.02f; + +uniform sampler2D pattern : filter_linear_mipmap, repeat_enable; +uniform lowp float pattern_tiling : hint_range(1.0f, 64.0f, 1.0f) = 16.0f; + +uniform sampler2D depth_texture : hint_depth_texture; + + +void fragment() +{ + ALBEDO = albedo.rgb; + METALLIC = 0.0f; + SPECULAR = 0.0f; + ROUGHNESS = 1.0f; + + lowp float depth = texture(depth_texture, SCREEN_UV).x; + lowp vec3 ndc = vec3(SCREEN_UV * 2.0 - 1.0, depth); + lowp vec4 view = INV_PROJECTION_MATRIX * vec4(ndc, 1.0); + view.xyz /= view.w; + lowp float linear_depth = -view.z; + + lowp float object_depth = FRAGCOORD.z; + lowp vec3 object_ndc = vec3(SCREEN_UV * 2.0 - 1.0, object_depth); + lowp vec4 object_view = INV_PROJECTION_MATRIX * vec4(object_ndc, 1.0); + object_view.xyz /= object_view.w; + lowp float linear_object_depth = -object_view.z; + + highp vec2 uv = clamp(vec2(atan(1.0 - UV.y, 1.0 - UV.x) / (PI / 2.0f), distance(vec2(1.0f, 1.0f), UV)), 0.0f, 1.0f); + lowp float cross_hatch = smoothstep(0.25f, 0.75f, texture(pattern, uv * pattern_tiling).r); + lowp float add_edging = clamp(cross_hatch + smoothstep(0.98f, 0.999f, distance(vec2(1.0f), UV)), 0.0f, 1.0f); + + lowp vec2 edging_fade = smoothstep(vec2(0.0f, 0.1f), vec2(0.333333333333333333333333333333333f, 1.0f), uv); + lowp float fresnel = abs(dot(NORMAL, VIEW)); + lowp float view_angle_fresnel = (1.0f - smoothstep(0.01f, 0.015f, fresnel)); + lowp float fade_edges = (add_edging * edging_fade.x * edging_fade.y) + view_angle_fresnel; + + lowp float intersection_fresnel = pow(1.0f - fresnel, 20.0f); + lowp float intersection = step(distance(linear_depth, linear_object_depth), intersection_thickness + intersection_fresnel); + + lowp float final_mask = step(distance(vec2(1.0f, 1.0f), UV), 1.0f); + + ALPHA = clamp(fade_edges + intersection, 0.0f, 1.0f) * albedo.a * final_mask; +} diff --git a/Assets/Visuals/Shaders/slice_ring.gdshader.uid b/Assets/Visuals/Shaders/slice_ring.gdshader.uid new file mode 100644 index 0000000..a3f99bb --- /dev/null +++ b/Assets/Visuals/Shaders/slice_ring.gdshader.uid @@ -0,0 +1 @@ +uid://dhsjib37x7r20 diff --git a/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr b/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr new file mode 100644 index 0000000..6e3fdaf Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr differ diff --git a/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr.import b/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr.import new file mode 100644 index 0000000..fc3d3cd --- /dev/null +++ b/Assets/Visuals/Textures/Lightmaps/node_3d_2.exr.import @@ -0,0 +1,29 @@ +[remap] + +importer="2d_array_texture" +type="CompressedTexture2DArray" +uid="uid://c87igboq3ci5k" +path.bptc="res://.godot/imported/node_3d_2.exr-4b1541d3c4f38fb1cffd137426ad2d1d.bptc.ctexarray" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Lightmaps/node_3d_2.exr" +dest_files=["res://.godot/imported/node_3d_2.exr-4b1541d3c4f38fb1cffd137426ad2d1d.bptc.ctexarray"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/channel_pack=1 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=4 diff --git a/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake b/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake new file mode 100644 index 0000000..374feb6 Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake differ diff --git a/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake.depren b/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake.depren new file mode 100644 index 0000000..eabb142 Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/node_3d_2.lmbake.depren differ diff --git a/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr b/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr new file mode 100644 index 0000000..56c15cf Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr differ diff --git a/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr.import b/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr.import new file mode 100644 index 0000000..0941798 --- /dev/null +++ b/Assets/Visuals/Textures/Lightmaps/start_sublevel.exr.import @@ -0,0 +1,29 @@ +[remap] + +importer="2d_array_texture" +type="CompressedTexture2DArray" +uid="uid://coja6hfdec8gd" +path.bptc="res://.godot/imported/start_sublevel.exr-8431e95a83c4ef023ce4bb2be0b48073.bptc.ctexarray" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Lightmaps/start_sublevel.exr" +dest_files=["res://.godot/imported/start_sublevel.exr-8431e95a83c4ef023ce4bb2be0b48073.bptc.ctexarray"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/channel_pack=1 +mipmaps/generate=false +mipmaps/limit=-1 +slices/horizontal=1 +slices/vertical=4 diff --git a/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake b/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake new file mode 100644 index 0000000..81ce3b0 Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake differ diff --git a/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake.depren b/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake.depren new file mode 100644 index 0000000..00f5157 Binary files /dev/null and b/Assets/Visuals/Textures/Lightmaps/start_sublevel.lmbake.depren differ diff --git a/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR new file mode 100644 index 0000000..c8eccde Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR.import b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR.import new file mode 100644 index 0000000..af912a3 --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc33kwddcl862" +path.bptc="res://.godot/imported/T_ConcretePavement_vh3ndge_8K_ORDp.EXR-d0a1303f810c1e0b526922523a6445e6.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/ConcretePavement/T_ConcretePavement_vh3ndge_8K_ORDp.EXR" +dest_files=["res://.godot/imported/T_ConcretePavement_vh3ndge_8K_ORDp.EXR-d0a1303f810c1e0b526922523a6445e6.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=8 +roughness/src_normal="res://Assets/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR new file mode 100644 index 0000000..838b691 Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR.import b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR.import new file mode 100644 index 0000000..72ddab6 --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlna5ccdg2p8d" +path.bptc="res://.godot/imported/T_Concrete_Pavement_vh3ndge_8K_D.EXR-40bbb1fdba51f3032bdd064a95a8ceff.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_D.EXR" +dest_files=["res://.godot/imported/T_Concrete_Pavement_vh3ndge_8K_D.EXR-40bbb1fdba51f3032bdd064a95a8ceff.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR new file mode 100644 index 0000000..b4c54e3 Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR.import b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR.import new file mode 100644 index 0000000..953d90d --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpn15qndq12yp" +path.bptc="res://.godot/imported/T_Concrete_Pavement_vh3ndge_8K_N.EXR-b2767090264fcd3a67c761b0b5451fd2.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR" +dest_files=["res://.godot/imported/T_Concrete_Pavement_vh3ndge_8K_N.EXR-b2767090264fcd3a67c761b0b5451fd2.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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://Assets/Textures/Megascans/ConcretePavement/T_Concrete_Pavement_vh3ndge_8K_N.EXR" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR new file mode 100644 index 0000000..163d25e Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR.import b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR.import new file mode 100644 index 0000000..ec71996 --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2okkq5r1hir7" +path.bptc="res://.godot/imported/T_DamagedRoad_vfyheb3_4K_ORDp.EXR-021ebf612dfccd6c7e91071d1b1043d1.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/DamagedRoad/T_DamagedRoad_vfyheb3_4K_ORDp.EXR" +dest_files=["res://.godot/imported/T_DamagedRoad_vfyheb3_4K_ORDp.EXR-021ebf612dfccd6c7e91071d1b1043d1.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR new file mode 100644 index 0000000..b5ddaa4 Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR.import b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR.import new file mode 100644 index 0000000..a1bd34f --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj3xufi6blutl" +path.bptc="res://.godot/imported/T_Damaged_Road_vfyheb3_4K_D.EXR-e972138dc6f19b85734b512e261c650c.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_D.EXR" +dest_files=["res://.godot/imported/T_Damaged_Road_vfyheb3_4K_D.EXR-e972138dc6f19b85734b512e261c650c.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR new file mode 100644 index 0000000..c6ede41 Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR.import b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR.import new file mode 100644 index 0000000..c75b4cc --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cby74o1kmo71h" +path.bptc="res://.godot/imported/T_Damaged_Road_vfyheb3_4K_N.EXR-7ca053ae1d753347cca4f1081a593a2d.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR" +dest_files=["res://.godot/imported/T_Damaged_Road_vfyheb3_4K_N.EXR-7ca053ae1d753347cca4f1081a593a2d.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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://Assets/Textures/Megascans/DamagedRoad/T_Damaged_Road_vfyheb3_4K_N.EXR" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR b/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR new file mode 100644 index 0000000..023f95e Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR.import b/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR.import new file mode 100644 index 0000000..ef50f6c --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4q4giq4n7ftq" +path="res://.godot/imported/T_MudStain_wbhtaitv_8K_DpRA.EXR-39a26f5dbae4bd88d864c210dfca38e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/MudStain/T_MudStain_wbhtaitv_8K_DpRA.EXR" +dest_files=["res://.godot/imported/T_MudStain_wbhtaitv_8K_DpRA.EXR-39a26f5dbae4bd88d864c210dfca38e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 diff --git a/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR b/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR new file mode 100644 index 0000000..ab193eb Binary files /dev/null and b/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR differ diff --git a/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR.import b/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR.import new file mode 100644 index 0000000..72c0440 --- /dev/null +++ b/Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ghceyy5uba6j" +path.bptc="res://.godot/imported/T_Mud_Stain_wbhtaitv_8K_D.EXR-78180e40be6adc669680e68070a64638.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Megascans/MudStain/T_Mud_Stain_wbhtaitv_8K_D.EXR" +dest_files=["res://.godot/imported/T_Mud_Stain_wbhtaitv_8K_D.EXR-78180e40be6adc669680e68070a64638.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=4096 +detect_3d/compress_to=0 diff --git a/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr b/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr new file mode 100644 index 0000000..3d82514 Binary files /dev/null and b/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr differ diff --git a/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr.import b/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr.import new file mode 100644 index 0000000..73a7a9c --- /dev/null +++ b/Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btc0nme74t0l6" +path.bptc="res://.godot/imported/industrial_sunset_puresky_4k.exr-1e07fd23bbd2fc5697912a55d5245e90.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Skyboxes/industrial_sunset_puresky_4k.exr" +dest_files=["res://.godot/imported/industrial_sunset_puresky_4k.exr-1e07fd23bbd2fc5697912a55d5245e90.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr b/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr new file mode 100644 index 0000000..2ee4434 Binary files /dev/null and b/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr differ diff --git a/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr.import b/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr.import new file mode 100644 index 0000000..60b1de4 --- /dev/null +++ b/Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d22vlve4a6a7" +path.bptc="res://.godot/imported/zwartkops_start_morning_4k.hdr-183fc9e55d9445c67ee3611e90236d31.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/Skyboxes/zwartkops_start_morning_4k.hdr" +dest_files=["res://.godot/imported/zwartkops_start_morning_4k.hdr-183fc9e55d9445c67ee3611e90236d31.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/T_CrossHatch.PNG b/Assets/Visuals/Textures/T_CrossHatch.PNG new file mode 100644 index 0000000..8ab9a64 Binary files /dev/null and b/Assets/Visuals/Textures/T_CrossHatch.PNG differ diff --git a/Assets/Visuals/Textures/T_CrossHatch.PNG.import b/Assets/Visuals/Textures/T_CrossHatch.PNG.import new file mode 100644 index 0000000..9d18726 --- /dev/null +++ b/Assets/Visuals/Textures/T_CrossHatch.PNG.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b41w3b7w7whas" +path.bptc="res://.godot/imported/T_CrossHatch.PNG-aafa568a63e349372334ba73f7e01ae8.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/T_CrossHatch.PNG" +dest_files=["res://.godot/imported/T_CrossHatch.PNG-aafa568a63e349372334ba73f7e01ae8.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=1 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=8 +process/channel_remap/blue=8 +process/channel_remap/alpha=8 +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=32 +detect_3d/compress_to=0 diff --git a/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png b/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png new file mode 100644 index 0000000..3d9a407 Binary files /dev/null and b/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png differ diff --git a/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png.import b/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png.import new file mode 100644 index 0000000..e1ee961 --- /dev/null +++ b/Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dajw8k34klw3r" +path.s3tc="res://.godot/imported/T_Damaged_Road_vfyheb3_4K_D.png-7cb62e89e4015ffa631b991a18262801.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/T_Damaged_Road_vfyheb3_4K_D.png" +dest_files=["res://.godot/imported/T_Damaged_Road_vfyheb3_4K_D.png-7cb62e89e4015ffa631b991a18262801.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds b/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds new file mode 100644 index 0000000..4c0bdc6 Binary files /dev/null and b/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds differ diff --git a/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds.uid b/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds.uid new file mode 100644 index 0000000..0ad928c --- /dev/null +++ b/Assets/Visuals/Textures/T_MipPreview_8K_DXT1.dds.uid @@ -0,0 +1 @@ +uid://tjm7crx5g87f diff --git a/Assets/Visuals/Textures/XPlane.png b/Assets/Visuals/Textures/XPlane.png new file mode 100644 index 0000000..f5c3c95 Binary files /dev/null and b/Assets/Visuals/Textures/XPlane.png differ diff --git a/Assets/Visuals/Textures/XPlane.png.import b/Assets/Visuals/Textures/XPlane.png.import new file mode 100644 index 0000000..6a7cf94 --- /dev/null +++ b/Assets/Visuals/Textures/XPlane.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yluxyjv8ri5i" +path.s3tc="res://.godot/imported/XPlane.png-63c1fff9cbf06fad5fb958baa8f19222.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/XPlane.png" +dest_files=["res://.godot/imported/XPlane.png-63c1fff9cbf06fad5fb958baa8f19222.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=8 +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/Assets/Visuals/Textures/YPlane.png b/Assets/Visuals/Textures/YPlane.png new file mode 100644 index 0000000..15df249 Binary files /dev/null and b/Assets/Visuals/Textures/YPlane.png differ diff --git a/Assets/Visuals/Textures/YPlane.png.import b/Assets/Visuals/Textures/YPlane.png.import new file mode 100644 index 0000000..f245925 --- /dev/null +++ b/Assets/Visuals/Textures/YPlane.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drotbmy0nkyym" +path.s3tc="res://.godot/imported/YPlane.png-7baaefbf4e1c47e3b6e658ec033e6f6d.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/YPlane.png" +dest_files=["res://.godot/imported/YPlane.png-7baaefbf4e1c47e3b6e658ec033e6f6d.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=8 +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/Assets/Visuals/Textures/ZPlane.png b/Assets/Visuals/Textures/ZPlane.png new file mode 100644 index 0000000..73b55d0 Binary files /dev/null and b/Assets/Visuals/Textures/ZPlane.png differ diff --git a/Assets/Visuals/Textures/ZPlane.png.import b/Assets/Visuals/Textures/ZPlane.png.import new file mode 100644 index 0000000..5144194 --- /dev/null +++ b/Assets/Visuals/Textures/ZPlane.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnws6tqa0kgrh" +path.s3tc="res://.godot/imported/ZPlane.png-99365c66f5e54479b820c4b303389d4a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/Visuals/Textures/ZPlane.png" +dest_files=["res://.godot/imported/ZPlane.png-99365c66f5e54479b820c4b303389d4a.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=2 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=1 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=8 +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/Assets/slice_material.material b/Assets/slice_material.material new file mode 100644 index 0000000..8c5ff91 Binary files /dev/null and b/Assets/slice_material.material differ diff --git a/Assets/test_again.tscn b/Assets/test_again.tscn new file mode 100644 index 0000000..91f5d7b --- /dev/null +++ b/Assets/test_again.tscn @@ -0,0 +1,83 @@ +[gd_scene format=4 uid="uid://bccvgit2o8yt7"] + +[ext_resource type="Material" uid="uid://qn1gthije2s3" path="res://Assets/slice_material.material" id="1_vawi8"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dyxn6"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_l2io6"] +resource_name = "SM_TestAgain_Icosphere" +_surfaces = [{ +"aabb": AABB(-0.99999994, 0, -0.99999994, 2, 2, 1.9999999), +"attribute_data": PackedByteArray("QbroPqOwVz+hLro+VmEvP0G66D75EQc/wy46PgAAgD8GL7o9+REHP8a6aD3mkkg/wOgiP6OwVz/wogs/AACAP5AuOj9WYS8/kC46PwAAgD/SRXc/5pJIP2B0UT/5EQc/8KILP1ZhLz8Bo4s+o7BXP6Euuj4AAIA/wy46PlZhLz8Bo4s++REHP0SjCz2TQyA/wOgiP/kRBz9gdFE/o7BXPzC6aD8AAIA/AgBgP5NDID/8oss+k0MgP1oX3T78iEM/FQDAPo66XD9NFx0/KnU5PxoAgD4qdTk/RLqoPpNDID+nuug9esRhP5AuOj/QnE0/potOP0BrND+86GI//IhDP3bRZT+Oulw/jC56P3rEYT/M6OI+k0MgP5wu+j68LxY/NroIPxN/Pj+TLho/vC8WP2J0MT+TQyA/etElP2tXKj9kdBE/0JxNP5wu+j5mzmY/ky4aP2bOZj/WRTc/E38+P77oQj+TQyA/1kU3P466XD/uois/Zs5mP77oQj894nA/MLpoP1ZhLz8CAGA/PeJwPzsAAD68LxY/8+iiPWtXKj8AAAAAVmEvP4S66D0qdTk/2osuPo66XD9KXXQ+Zs5mP0pddD68LxY/dXSRPmpXKj8sXbQ+E38+P4rRxT7QnE0/XRedPmbOZj/lRdc+Zs5mP8LoAj+TQyA/zOjiPmpXKj8pXfQ+KnU5P1kX3T4qdTk/nC76PrqmUj/qRZc+KnU5P0W6qD7mkkg/XBedPrqmUj+5i64+esRhP/yiyz494nA/RLqoPj3icD8ZAIA+/IhDP9qLLj65plI/exddPj3icD8GL7o9o7BXP5a66D38iEM/24suPhN/Pj8jo4s9KnU5PwUvujwqdTk/xrpoPbwvFj8LRhc+k0MgP3sXXT6TQyA/jdGFPpNDID8GACA/k0MgPx9dFD+TQyA/YnQxP0BrND81uig/KnU5P8LoAj/mkkg/TRcdP/yIQz/uois/uqZSP2J0MT/mkkg/qosOP466XD980QU/esRhP8LoAj894nA/kC46P1HYaz8yukg/Zs5mPzK6SD+6plI/MrpIPxN/Pj9gdFE/0JxNP9RFVz8qdTk/1EVXP39NJT+ki24/KnU5P44uWj+8LxY/YHRRP6g5Gz/qoms/uaZSPwAAgD+jsFc/ji5aP2bOZj+ki24/esRhP1wXnT6Oulw/iNHFPlHYaz9wdNE+esRhPxUAwD65plI/5EXXPrqmUj+iLro+0JxNP4rRxT78iEM/QrroPtCcTT+2i+4+E38+PwGjiz7QnE0/dnSRPhN/Pj9KXXQ+uqZSP2G6aD56xGE/knRRPtCcTT/DLjo+UdhrP/PoIj4p7HU/I6MLPlHYaz/y6CI+esRhPwpGFz66plI/9S66PdCcTT/CLjo+0JxNPwtGFz7mkkg/knRRPvyIQz/06KI9QGs0PyOjCz1rVyo/1C66PX9NJT8CRhc+a1cqPwNGFz5AazQ/5C66Pag5Gz97F10+QGs0P3oXXT5rVyo/jNGFPrwvFj/oRZc+0SURP+hFlz6oORs/jtGFPkBrND9Euqg+a1cqP0S6qD5AazQ//KLLPkBrND/9oss+alcqP1gX3T7RJRE/tIvuPpNDID/N6OI+QGs0P8LoAj9rVyo/wugCP0BrND8eXRQ/QGs0Px5dFD9rVyo/8KILP9CcTT9kdBE//IhDP6qLDj+5plI/ki4aP7qmUj980SU/E38+P8HoIj/QnE0/2EUXP3rEYT+cLvo+jrpcPza6CD9mzmY/ZHQRPynsdT/uois/jrpcPxxdND8p7HU/eNFFP3rEYT/WRTc/uaZSPwQAQD/QnE0/BABAP/yIQz/soks//IhDP77oQj9AazQ/vuhCP2tXKj9idDE/a1cqPwcAID9AazQ/NLooP6g5Gz80uig/0CURPwYAID+8LxY/ji5aP7qmUj+OLlo/jrpcPwIAYD/mkkg/ji5aPxN/Pj920WU/uaZSPwIAYD9AazQ/potOP2tXKj8CAGA/a1cqP6SLbj/8iEM/MrpIP5NDID/soks/0CURP9JFdz+6plI/GF10P1HYaz/qoms/Zs5mP6SLbj8p7HU/NroIPxT2ej980QU/UdhrP6qLDj9mzmY/2UUXP1HYaz8eXRQ/Zs5mP/CiCz96xGE/ZHQRP3rEYT82ugg/jrpcP8LoAj+6plI/NroIP7mmUj8eXRQ/uqZSPza6CD/mkkg/qosOP+aSSD8HACA/5pJIP/CiCz/8iEM/ky4aPxN/Pj8HACA/E38+P3vRJT/mkkg/YnQxP2bOZj+oiy4/UdhrP2J0MT+6plI/HF00P3rEYT8cXTQ/UdhrP9ZFNz9mzmY/kC46PynsdT9KFz0/Zs5mP5AuOj96xGE/Shc9P7mmUj8EAEA/esRhP9ZFNz/mkkg/vuhCP7qmUj9KFz0/5pJIP5AuOj/8iEM/potOP+aSSD+mi04/E38+PxpdVD/mkkg/AgBgP7qmUj8CAGA/Zs5mP7zoYj96xGE/vOhiP1HYaz8wumg/Kex1P3bRZT9mzmY/0kV3P2bOZj8wumg/esRhPxhddD96xGE/MLpoP9CcTT9edHE/uqZSP6SLbj/QnE0/6qJrP+aSSD8YXXQ//IhDP3bRZT/mkkg/dtFlPxN/Pj/URVc//IhDP0gXXT8qdTk/Gl1UPxN/Pj+OLlo/a1cqP2B0UT8qdTk/Gl1UP2tXKj8aXVQ/k0MgP+yiSz8qdTk/YHRRP39NJT+mi04/k0MgPxpdVD/lGww/MrpIP2tXKj/soks/qDkbP3jRRT+oORs/eNFFPyp1OT8cXTQ//IhDPzW6KD/8iEM/76IrPxN/Pj+oiy4/KnU5P8HoIj8qdTk/7qIrP2tXKj80uig/f00lP3rRJT+TQyA/qIsuP6g5Gz/A6CI/f00lPwYAID9rVyo/wOgiP6g5Gz+TLho/k0MgP5IuGj9rVyo/2UUXPyp1OT8IAAA/KnU5P3zRBT/8iEM/ni76PhN/Pj8qXfQ+/IhDP7aL7j7mkkg/zujiPhN/Pj/O6OI+5pJIP/yiyz66plI/FADAPmbOZj+I0cU+esRhP6Auuj5R2Gs/FQDAPhT2ej+hLro+esRhP7mLrj5R2Gs/0eiiPlHYaz8uXbQ+jrpcPy1dtD65plI/RLqoPrqmUj8uXbQ+5pJIPxYAwD7mkkg/oi66PvyIQz/mRdc+E38+P7qLrj78iEM/cXTRPip1OT/pRZc+/IhDP10XnT4Tfz4/0OiiPip1OT91dJE+5pJIP47RhT4Tfz4/AqOLPip1OT+N0YU+5pJIP3oXXT5mzmY/Y7poPlHYaz95F10+uqZSP6rRRT5mzmY/kXRRPnrEYT+q0UU+uaZSP8IuOj56xGE/2osuPmbOZj/ELjo+Kex1P/PoIj5R2Gs/OwAAPmbOZj8jows+esRhPzsAAD66plI/2osuPuaSSD/FdNE95pJIP6rRRT7mkkg/wi46PvyIQz9LXXQ+E38+P2O6aD4qdTk/8ugiPvyIQz8zAAA+E38+P7R00T0Tfz4/G6MLPip1OT80o4s9/IhDPwUvOj38iEM/BOmiPRN/Pj/ULro9KnU5P+QuOj0qdTk/pHTRPWtXKj+Eumg9a1cqP6a6aD2TQyA/BOmiPZNDID80o4s9qDkbP9Z00T3lGww/JemiPeUbDD+0dNE9k0MgP4S66D1/TSU/KgAAPmtXKj9LXXQ+k0MgP0pddD5rVyo/AKOLPqg5Gz+N0YU+a1cqPwGjiz5+TSU/dHSRPpNDID/oRZc+f00lP1wXnT5rVyo/0eiiPqg5Gz+N0YU+5RsMP+RF1z6TQyA/cXTRPqg5Gz9Auug+f00lP1kX3T6oORs/tIvuPrwvFj8oXfQ+f00lP7SL7j5rVyo/QbroPip1OT/biy4+FPZ6P6vRRT4U9no/k3RRPinsdT+r0UU+PeJwP9uLLj494nA/C0YXPj3icD+TdFE+UdhrPwpGFz5mzmY/GACAPnrEYT87AAA+jrpcP9Z00T2Oulw/C0YXPo66XD+q0UU+jrpcP6W66D2jsFc/IqMLPqOwVz/z6CI+orBXP8IuOj6isFc/1nTRPbqmUj8l6aI9uaZSP0Sjiz3QnE0/prroPdCcTT8iows+0JxNP/LoIj7QnE0/FOmiPeaSSD87AAA+5pJIP+Quuj38iEM/I6MLPvyIQz+mumg9E38+P0SjCz0Tfz4/I6MLPUBrND8FLzo8QGs0P4W6aD1AazQ/pHTRPUBrND/DLro8VmEvPwUvOjxrVyo/wy46PVZhLz8FL7o8f00lPxOjiz1WYS8/5C46PYBNJT/ELro9VmEvPyOjiz1/TSU/BS86Pag5Gz8U6aI9vC8WP0Sjiz3QJRE/9i66PdAlET+nuug90CURP8V00T28LxY/lbroPag5Gz8jows+qDkbPzIAAD6TQyA/GqMLPn9NJT/z6CI+f00lP9uLLj5rVyo/dbroPVZhLz8Tows+VmEvPyoAAD5AazQ/6+giPlZhLz/biy4+QGs0P/PoIj4qdTk/C0YXPhN/Pj/CLjo+KnU5P6rRRT5AazQ/q9FFPhN/Pj+SdFE+KnU5P3sXXT4Tfz4/ehddPuaSSD9iumg+/IhDP5J0UT6isFc/YrpoPtCcTT9KXXQ+5pJIP3oXXT6Oulw/YrpoPqKwVz9KXXQ+jrpcP4zRhT6Oulw/GQCAPqOwVz+N0YU+uaZSPxkAgD7QnE0/dHSRPrqmUj/oRZc+o7BXP3R0kT6Oulw/6EWXPtCcTT/oRZc+esRhP9Dooj6jsFc/0OiiPnrEYT9Euqg+jrpcP0W6qD5mzmY/uYuuPqKwVz8tXbQ+Zs5mPyxdtD494nA/uYuuPinsdT+gLro+Kex1Py1dtD4U9no/idHFPinsdT8UAMA+PeJwP3F00T5R2Gs//KLLPmbOZj9YF90+esRhP+RF1z6Oulw/zOjiPo66XD/8oss+jrpcP1kX3T6jsFc/oS66PqKwVz+I0cU+orBXP3F00T6isFc/zejiPrmmUj9ydNE+0JxNP1oX3T7QnE0/uYuuPtCcTT/Q6KI+0JxNP/6iyz7mkkg/XRedPuaSSD8Bo4s+/IhDP9Hooj78iEM/RLqoPhN/Pj8VAMA+E38+P7mLrj4qdTk/oS66Pip1OT/+oss+E38+P3J00T78iEM/idHFPip1OT/mRdc+5pJIP0K66D78iEM/tIvuPrqmUj8oXfQ+0JxNPyhd9D6jsFc/tIvuPo66XD8oXfQ+esRhPwgAAD+jsFc/CAAAP3rEYT/C6AI/jrpcP8LoAj9mzmY/CAAAP1HYaz82ugg/PeJwP3zRBT8p7HU/8KILP1HYaz/wogs/Kex1P6qLDj8U9no/qosOPz3icD8fXRQ/PeJwP2R0ET9R2Gs/TRcdP3rEYT8eXRQ/jrpcP5IuGj+Oulw/BgAgP466XD980QU/orBXP/CiCz+isFc/TBcdP6OwVz8IAAA/0JxNP3zRBT/QnE0/nC76PuaSSD8IAAA//IhDP2R0ET+isFc/2EUXP6KwVz/YRRc/0JxNPx5dFD/mkkg/TRcdP9CcTT+TLho/5pJIP9lFFz/8iEM/qosOPxN/Pj8GACA/uaZSPx9dFD8Tfz4/wugCPxN/Pj/wogs/KnU5P3zRBT8qdTk/tIvuPkBrND/lRdc+QGs0P5wu+j5AazQ/FQDAPkBrND9wdNE+VmEvPy1dtD5AazQ/iNHFPlZhLz+5i64+VmEvPxUAwD5qVyo/LV20PmpXKj+J0cU+fk0lP3B00T5/TSU/5EXXPmpXKj9ZF90+VmEvP1gX3T5/TSU/QbroPlZhLz/lRdc+vC8WPyhd9D5WYS8/CAAAP1ZhLz+cLvo+a1cqP0C66D6oORs/nC76PpNDID/M6OI+vC8WPyhd9D6oORs/QLroPtElET/M6OI+5RsMP7WL7j7lGww/KV30PtAlET8IAAA/qDkbPwgAAD9/TSU/fNEFP39NJT82ugg/a1cqP3zRBT9WYS8/NroIP0BrND+qiw4/QGs0P2R0ET9WYS8/qosOP2tXKj9kdBE/KnU5P5MuGj9AazQ/wugiP/yIQz960SU/uqZSPzS6KD/QnE0/NLooP6OwVz960SU/jrpcPzS6KD96xGE/qIsuP6OwVz+oiy4/esRhP2J0MT+Oulw/YnQxPz3icD/WRTc/PeJwP9ZFNz8U9no/Shc9PxT2ej8EAEA/Kex1P0oXPT894nA/BABAP1HYaz940UU/UdhrP77oQj9mzmY/7KJLP3rEYT9KFz0/jrpcP77oQj+Oulw/MrpIP466XD+mi04/jrpcPxxdND+isFc/kC46P6KwVz/soks/o7BXP6iLLj/QnE0/HF00P9CcTT/uois/5pJIP6iLLj/8iEM/e9ElP0BrND/vois/QGs0P2J0MT8Tfz4/HF00Pyp1OT+QLjo/KnU5P0oXPT8Tfz4/vuhCP+aSSD8EAEA/orBXP3jRRT+isFc/eNFFP9CcTT+mi04/uaZSP+yiSz/QnE0/MrpIP+aSSD940UU//IhDP77oQj8Tfz4/BABAPyp1OT9KFz0/QGs0P2B0UT/8iEM/Gl1UP7qmUj/URVc/0JxNP9RFVz+jsFc/Gl1UP466XD/URVc/esRhP0gXXT+jsFc/SBddP3rEYT8CAGA/jrpcP0gXXT9R2Gs/dtFlPz3icD+86GI/Kex1PzC6aD9R2Gs/dtFlPxT2ej/qoms/FPZ6P+qiaz894nA/XnRxPz3icD+ki24/UdhrP150cT9mzmY/6qJrP466XD9edHE/jrpcP9JFdz+Oulw/Rhd9P466XD+86GI/orBXPzC6aD+isFc/jC56P6OwVz9GF30/uaZSPxhddD+isFc/jC56P9CcTT+ki24/orBXPxhddD/QnE0/XnRxP+aSSD9edHE/E38+P7zoYj/QnE0/SBddP9CcTT+OLlo/5pJIPzC6aD/8iEM/SBddP/yIQz/qoms/E38+PzC6aD8qdTk/6qJrP0BrND8CAGA/E38+P7zoYj8qdTk/dtFlP0BrND+86GI/VmEvP3bRZT9rVyo/ji5aP0BrND9IF10/VmEvP7zoYj9/TSU/SBddP39NJT/URVc/VmEvPxpdVD9AazQ/ji5aP5NDID9IF10/qDkbP2B0UT9WYS8/1EVXP6g5Gz8aXVQ/vC8WP9RFVz/QJRE/7KJLP39NJT9gdFE/0CURP6aLTj/lGww/potOP7wvFj8yukg/vC8WP3jRRT+ATSU/BABAP39NJT9KFz0/a1cqP+yiSz9WYS8/eNFFP1ZhLz8EAEA/VmEvPzK6SD9AazQ/qtFFPmtXKj+UdFE+VmEvP5J0UT5/TSU/ZLpoPlZhLz9iumg+f00lP0xddD5AazQ/GgCAPlZhLz92dJE+QGs0P14XnT5AazQ/AqOLPlZhLz/qRZc+VmEvP9Looj5WYS8/uYuuPn5NJT/Q6KI+f00lP1wXnT6TQyA/XRedPrwvFj8ZAIA+f00lP2K6aD6oORs/GQCAPqg5Gz8ZAIA+0CURP3R0kT68LxY/AKOLPtElET90dJE+5RsMPwYAID/lGww/etElP+UbDD/A6CI/0CURP00XHT/QJRE/etElP7wvFj/uois/vC8WP00XHT+oORs/2UUXP6g5Gz/uois/k0MgP6iLLj9/TSU/HF00P39NJT/YRRc/gE0lP2R0ET9/TSU/TBcdP39NJT/YRRc/VmEvP00XHT9WYS8/wegiP1ZhLz81uig/VmEvP6mLLj9WYS8/1kU3P2tXKj8cXTQ/VmEvP9ZFNz9AazQ/"), +"bone_aabbs": [AABB(-0.99999994, 0, -0.99999994, 2, 1.0000014, 1.9999999), AABB(-0.99999994, 0.99999774, -0.99999994, 1.9999999, 1.0000023, 1.9999999)], +"format": 34359745559, +"index_count": 3840, +"index_data": PackedByteArray("AwBsAW0BbAE8AW0BbQE8AW4BbAF9ADwBPAFvAW4BbgFvAUsAfQBwATwBPAFwAW8BfQBxAXABbwFyAUsASwByATUBcAF8AG8BbwF8AHIBcQE9AXABcAE9AXwAcQF+AD0BcgE0ATUBNQE0ATcAfAA3AXIBcgE3ATQBPQE7AXwAfAA7ATcBfgBzAT0BPQFzATsBfgA+AXMBNAF6ADcANwB6AHQBNwE4ATQBNAE4AXoAPgE/AXMBPgEcAD8BcwE/AX8AcwF/ADsBOwE6ATcBNwE6ATgBOwF/ADoBHAB1AT8BHAB2AXUBPwF3AX8APwF1AXcBfwA2ADoBfwB3ATYAOgE2AHgBOgF4ATgBdgF5AXUBdgFMAHkBdQF6AXcBdQF5AXoBdwF7ATYAdwF6AXsBNgB8AXgBNgB7AXwBTAB9AXkBTAB+AX0BeQFAAXoBfQFAAXkBegGAAHsBQAGAAHoBewFKAHwBgABKAHsBfgGBAH0BfgF/AYEAfQGAAUABfQGBAIABQAGBAYAAgAGBAUABgACCAUoAgQGCAYAAfwGDAYEAfwEFAIMBgQBCAYABgQCDAUIBgAGEAYEBgAFCAYQBgQGDAIIBhAGDAIEBBQBLAYMBBQBMAUsBgwGFAUIBgwFLAYUBQgFNAIQBQgGFAU0AhAGGAYMAhAFNAIYBTAGHAUsBTAGIAYcBSwFNAYUBSwGHAU0BhQFJAU0AhQFNAUkBTQBIAYYBTQBJAUgBiAFPAYcBiAFQAE8BhwFPAE0BhwFPAU8ATQFOAUkBTQFPAE4BSQE1AEgBSQFOATUAUACJAU8BUACKAYkBTwGLAU8ATwGJAYsBTwCFAE4BTwCLAYUATgGMATUATgGFAIwBigGNAYkBigE0AI0BNACOAY0BiQGNAY8BiQGPAYsBjgGGAI0BjQGGAI8BjgGQAYYAiwGPAZEBiwGRAYUAhgBRAY8BjwFRAZEBkAGSAYYAhgCSAVEBkAERAJIBhQCRAZMBhQCTAYwBUQEzAJEBkQEzAJMBkgGUAVEBUQGUATMAEQBSAZIBkgFSAZQBEQCVAVIBlQFUAVIBlQFRAFQBUgFTAZQBUgFUAVMBlAGHADMAlAFTAYcAMwCHAFABMwBQAZMBUQCWAVQBUQCXAZYBVAGKAFMBVAGWAYoAUwFXAYcAUwGKAFcBhwBYAVABhwBXAVgBlwGYAZYBlwFWAZgBVgFVAZgBVgEEAFUBmAFVAZkBlgGYAZoBmAGZAZoBlgGaAYoAmgGZATIAigCaAZsBmgEyAJsBigCbAVcBmwEyAJwBVwGbAZ0BmwGcAZ0BVwGdAVgBnQGcAVIAnQFSAJ4BWAGdAZ4BngFSAJ8BWAGeAVkBUAFYAVkBngGfAYgAWQGeAYgAiACfAaABUAFZAaEBkwFQAaEBjAGTAaEBoQFZAaIBWQGIAKIBjAGhAaMBowGhAaIBNQCMAaMBiACgAaQBogGIAKQBpAGgAQ8AowGiAYkAiQCiAaQBNQCjAUoBSgGjAYkASAE1AEoBiQCkAaUBpQGkAQ8ASgGJAKYBpgGJAKUBSAFKAacBpwFKAaYBhgFIAacBhgGnAUcBhgFHAYMApwGmAU4ApwFOAEcBpgGlAagBpgGoAU4ApQGpAagBpQEPAKkBgwBHAUEBgwBBAYIBRwFOAEQBRwFEAUEBTgCoAaoBTgCqAUQBqAGrAaoBqAGpAasBggFBAYIAggGCAEoAQQFEAUMBQQFDAYIARAGqAYQARAGEAEMBqgGsAYQAqgGrAawBSgCCADkBSgA5AXwBggBDAXsAggB7ADkBQwGEAK0BQwGtAXsAhACuAa0BhACsAa4BfAE5Aa8BeAF8Aa8BOQF7ADYBOQE2Aa8BewCtAbABewCwATYBrQGxAbABrQGuAbEBeAGvAbIBOAF4AbIBOAGyAXoAsgGvAbMBrwE2AbMBegCyAbQBsgGzAbQBegC0AXQBdAG0AbUBtAG2AbUBtAGzAbYBtQG2AQ0ANgF5ALMBswF5ALYBNgGwAXkAtgG3AQ0AeQC3AbYBsAG4AXkAeQC4AbcBsAGxAbgBDQC3AbkBtwG4AXcAtwF3ALkBuAGxATMBuAEzAXcAsQFJADMBsQGuAUkADQC5AboBDQC6AbsBuQF3ALwBrgFFAUkArgGsAUUBugFuALsBuwFuAL0BuQFFALoBuQG8AUUAugG+AW4AugFFAL4BbgC/Ab0BvQG/ATwAvgHAAW4AbgDAAb8BRQAmAb4BvwHBATwAPADBASMBwAFGAL8BvwFGAMEBvgHCAcABvgEmAcIBwAEkAUYAwgEkAcABwQEiASMBIwEiAUgARgDDAcEBwQHDASIBJAEhAUYARgAhAcMBIgHEAUgASADEAcUBwwEfASIBIgEfAcQBIQEdAcMBwwEdAR8BxAHGAcUBxQHGAccBxgEgAccBxwEgAQ4AxgHIASABxAHJAcYByQHIAcYBHwHJAcQByQFHAMgBHwFvAMkBbwBHAMkBHQFvAB8BbwDKAUcAywHKAW8AHQHLAW8AywE9AMoBHgHLAR0BcAA9AMsBHgFwAMsBcADMAT0AIQEeAR0BzQHMAXAAzQHOAcwBzwFwAB4BzwHNAXAAGAAeASEBGADPAR4BJAEYACEB0AHOAc0B0QEYACQBwgHRASQB0gHPARgA0QHSARgA0wHNAc8B0gHTAc8B0wHQAc0B0AEAAM4BwgElAdEBJgElAcIB0QFxANIBJQFxANEB0gEcAdMBcQAcAdIB0wFyANABHAFyANMBcgDUAdAB0AHUAQAAHAHVAXIAcQA7ABwBOwDVARwBcwA7AHEAJQFzAHEAcgDWAdQB1QHWAXIA1wFzACUBJgHXASUBcwAoATsA2AHXASYBRQDYASYBvAHYAUUAOwDZAdUBKAHZATsA1wEnAXMAJwEoAXMA2AFEANcBRAAnAdcBvAHaAdgB2gFEANgBvAEwAdoBdwAwAbwBdwAzATABMwHbATABMwFJANsBMAEtAdoBMAHbAS0B2gHcAUQA2gEtAdwB3AErAUQARAArAScBSQAxAdsBSQBFATEB2wF4AC0B2wExAXgALQEuAdwBLQF4AC4B3AHdASsB3AEuAd0BKwEpAScBJwEpASgB3QE6ACsBKwE6ACkBLgEvAd0BKQF0ACgBKAF0ANkBOgDeASkBKQHeAXQA3QHfAToA3QEvAd8BOgDgAd4B3wHgAToA3gHhAXQAdADiAdkBdADhAeIB3gHjAeEB4AHjAd4B2QHiAeQB2QHkAdUB1QHkAdYB5AHiARcA4gHhASoB4gEqARcA4QHjASwB4QEsASoB1gHkARsB5AEXABsB1gEbAXUA1AHWAXUAGwEXAOUB1AF1AOYBAADUAeYBdQAbARkBGwHlARkB5gF1AOcBdQAZAecBAADmAegB6QEAAOgB5gHnAUIA5gFCAOgB6QHoAaMA6gHpAaMA6AFCAOsBowDoAesB6gGjAOwBKQDqAewBowDrAe0B7AGjAO0BKQDsAe4B7wEpAO4B7AHtAV4A7gHsAV4A7wHuAcQAXwDvAcQA7gFeAKQAxADuAaQAXwDEAPAB8QFfAPABxACkAPIB8AHEAPIB8QHwAfMBwwDxAfMBwwDzAfQBBwDDAPQB9AHzAaUA8wHwAfUB8wH1AaUA8AHyAfUBpQD1AfYB9QH3AfYB9QHyAfcB9gH3AcYA8gHFAPcB8gGkAMUA9wHHAMYA9wHFAMcAxgDHACoApADIAMUApABeAMgAxQDJAMcAxQDIAMkAxwCiACoAxwDJAKIAKgCiAPgBXgDKAMgAXgDtAcoAyABdAMkAyADKAF0AyQD5AaIAyQBdAPkBogD6AfgBogD5AfoB+AH6AfsB7QH8AcoA7QHrAfwBygD9AV0AygD8Af0B+gH+AfsB6wHLAPwBQgDLAOsB/AHMAP0BywDMAPwBQgD/AcsA5wH/AUIAywAAAswA/wEAAssA5wEBAv8B5wEZAQEC/wFZAAACAQJZAP8BGQEYAQECGQHlARgBAQICAlkAAQIYAQICWQDOAAACAgIWAVkAWQAWAc4AAALOAJwAAAKcAMwAzACcAJ4AzACeAP0BzgDPAJwAFgHRAM4AzgDRAM8A/QGeAAMCXQD9AQMCXQADAvkBnAAoAJ4AnADPACgAngDNAAMCngAoAM0A+QEDAgQCAwLNAAQC+QEEAvoB+gEEAv4BzQCfAAQCBAKfAP4BKAAFAs0AzQAFAp8AKAAGAgUCzwAGAigABQIHAp8AzwCdAAYC0QCdAM8ABgIIAgUCBQIIAgcCnQAJAgYCBgIJAggC0QAKAp0AnwAHAgsCnwALAv4BnQAMAgkCCgIMAp0AJAAKAtEAFgEkANEA/gELAgYA+wH+AQYADQIkABYBAgINAhYBJAAOAgoCAgIXAQ0CGAEXAQICDQIPAiQADwIOAiQAFwEVAQ0CDQIVAQ8CGAF2ABcB5QF2ABgBFwFAABUBdgBAABcB5QEaAXYAFwAaAeUBFwAqARoBGgFrAXYAdgBrAUAAKgFBABoBGgFBAGsBKgEsAUEAawEQAkAAQQCXAGsBawGXABACLAERAkEAQQARApcALAGTABEC4wGTACwBQAAQAhICQAASAhUB4wETApMA4AETAuMBkwAUAhECFQITAuAB3wEVAuABEwIWApMAkwAWAhQCFQIBABMCEwIBABYC3wGSABUCLwGSAN8BFQIXAgEAkgAXAhUCAQAYAhYCFwIZAgEAGAKUABYCFgKUABQCGAIaApQAGgIbApQAGgIWABsClAAcAhQClAAbAhwCFAIcAh0CEQIUAh0CEQIdApcAFgBkARsCFgBlAWQBGwIeAhwCGwJkAR4CHAI/AB0CHAIeAj8AlwAdAh8CHQI/AB8ClwAfAhACZQFnAWQBZQEgAmcBZAEiAB4CZAFnASIAEAIfAiECEAIhAhICHwJqASECPwBqAR8CHgJmAT8APwBmAWoBHgIiAGYBEgIhAiICagEjAiECIQIjAiICZgFpAWoBagFpASMCIgCWAGYBZgGWAGkBIgAkApYAZwEkAiIAlgAlAmkBZwEmAiQCIAImAmcBIAKVACYCJAInApYAlgAnAiUCJgJoASQCJAJoAScClQAoAiYCJgIoAmgBlQApAigCKQIqAigCKQICACoCKAIqAisCKAIrAmgBaAErAiMAaAEjACcCJwIjACwCJwIsAiUCJQIsAj4AJQI+AC0CaQElAi0CLQI+AC4CaQEtAiMCLQIuApgAIwItApgAmAAuAi8CIwKYACICmAAvAjACIgKYADACMAIvAgwAmQAiAjACEgIiApkAFQESApkAFQGZAA8CmQAwAjECDwKZADECMQIwAgwADwIxAg4CMQIMADICMQIyAg4CMgIMADMCDAA0AjMCDgIyAjUCDgI1AgoCCgI1AgwCNQIyApoAMgIzApoADAI1AhQBNQKaABQBDAIUAdIACQIMAtIAFAGaADYCCQLSAFoACAIJAloA0gAUARkAFAE2AhkAWgDSANMA0gAZANMACAJaANAABwIIAtAAWgDTADcC0ABaADcCBwLQAKEACwIHAqEA0AA3AtQAoQDQANQACwKhADgCBgALAjgCoQDUADkCOAKhADkCBgA4AjoCOwIGADoCOAI5AlsAOAJbADoCOwI6AqYAPAI7AqYAOgJbAD0CpgA6Aj0CPAKmAD4CLgA8Aj4CpgA9Aj8CPgKmAD8CLgA+AtUA1gAuANUAPgI/AtgA1QA+AtgA1gDVANkAQALWANkA1QDYANoA2QDVANoAQALZAEECpwBAAkEC2QDaAGAAQQLZAGAApwBBAtsAQgKnANsAQgLbAEMCCQBCAkMCQwLbAEQC2wBBAkUC2wBFAkQCQQJgAEUCRAJFAi8ARQJGAi8ARQJgAEYCLwBGAkcCYADcAEYCYADaANwARgJIAkcCRgLcAEgCRwJIAmEA2gDdANwA2gDYAN0A3ADfAEgC3ADdAN8ASAKoAGEASALfAKgAYQCoAEkC2AAtAN0A2AA/Ai0A3QBKAt8A3QAtAEoC3wBLAqgA3wBKAksCqABMAkkCqABLAkwCSQJMAk0CPwJOAi0APwI9Ak4CLQBPAkoCLQBOAk8CTAJQAk0CPQLXAE4CWwDXAD0CTgKpAE8C1wCpAE4CWwBRAtcAOQJRAlsA1wBSAqkAUQJSAtcAOQJTAlECOQLUAFMCUQJcAFICUwJcAFEC1AAHAVMC1AA3AgcBUwJUAlwAUwIHAVQCNwKgAAcBNwLTAKAABwEIAVQCBwGgAAgB0wAKAaAA0wAZAAoBoABYAAgBoAAKAVgAGQCwAAoBGQA2ArAACgFVAlgACgGwAFUCCAFYAAkBWABVAlYCWABWAgkBCAEJAVcCVAIIAVcCVAJXAgYBVAIGAVwAVwIJAVgCCQFWAlcACQFXAFgCVwJYAisAVwIrAAYBXAAGAeAAXADgAFICBgErAOMABgHjAOAAWAJZAisAUgLgAB0AUgIdAKkA4ADjAOIA4ADiAB0AKwBaAuMAKwBZAloC4wCrAOIA4wBaAqsAqQAdAN4AqQDeAE8CHQDiAKoAHQCqAN4A4gCrAFsC4gBbAqoATwLeAFwCSgJPAlwCSgJcAksC3gDhAFwC3gCqAOEASwJcAl0CXALhAF0CSwJdAkwCTAJdAlAC4QBiAF0CXQJiAFACqgBeAuEA4QBeAmIAqgBbAl4CYgBfAlACXgJgAmIAYgBgAl8CWwJhAl4CXgJhAmACWwJiAmECqwBiAlsCUAJfAhMATQJQAhMAqwBjAmICWgJjAqsAYQJiAqwAWgJkAmMCWQJkAloCYgJjAmMAYgJjAKwAYwJkAgUBYwIFAWMAWQJlAmQCYQKsAOQAYAJhAuQAZAKtAAUBZAJlAq0AYALkAGQAXwJgAmQA5ACsAGYCXwJkAGcCEwBfAmcCZADkAOYA5ABmAuYAZwJkAGgCZADmAGgCEwBnAmkCagITAGkCZwJoArQAZwK0AGkCagJpArUAawJqArUAaQK0AGwCtQBpAmwCawK1AG0CbABrAm0CtQBsAm4CbQK1AG4CbABtAugAbwJsAOgAbQJuAukA6ABtAukAbwLoAOoAMQBvAuoA6ADpAOwA6gDoAOwAMQDqAHACcQIxAHAC6gDsAHICcALqAHICcQJwAusAcwJxAusAcwLrAHQCFABzAnQCdALrAMIA6wBwAnUC6wB1AsIAcAJyAnUCwgB1AnYCdQJ3AnYCdQJyAncCdgJ3AsAAcgLBAHcCcgLsAMEAdwJ4AsAAdwLBAHgCwAB4Au0A7ADuAMEA7ADpAO4AwQBtAHgCwQDuAG0AeALvAO0AeAJtAO8A7QDvACEA6QAgAO4A6QBuAiAA7gB5Am0A7gAgAHkCbQB6Au8AbQB5AnoC7wB7AiEA7wB6AnsCIQB7AnwCbgJ9AiAAbgJsAn0CIAB+AnkCIAB9An4CewJ/AnwCfAJ/AmsAfwKAAmsAewKBAn8CegKBAnsCvwCAAn8CgQK/AH8CvwCCAoACegKDAoECeQKDAnoCeQJ+AoMCgwLxAIEC8QC/AIEChAKCAr8A8QCEAr8AhAIKAIICagDxAIMCfgJqAIMC8gCEAvEAagDyAPEAhQIKAIQC8gCFAoQChQL0AAoAuABqAH4CfQK4AH4C8ADyAGoAuADwAGoA8wCFAvIA8ADzAPIAvAD0AIUC8wC8AIUCvACGAvQA5wC4AH0CbALnAH0CtADnAGwC5wCHArgAhwLwALgAtACIAucAiAKHAucAaAKIArQAhwL1APAA9QDzAPAAiAK2AIcCtgD1AIcCaAKJAogCiQK2AIgCaALmAIkC9QCKAvMAigK8APMAtgAfAPUAHwCKAvUAiQKLArYAiwIfALYA5gD3AIkCiQL3AIsC5gBmAvcAigKMArwAjAKGArwAjAJnAIYC9gCMAooCHwD2AIoCjQJnAIwC9gCNAowCjQKOAmcAjwL2AB8AiwKPAh8AkAKNAvYAjwKQAvYAkQKOAo0CkAKRAo0CkQIwAI4CiwK3AI8C9wC3AIsCjwL4AJACtwD4AI8CkAK5AJEC+AC5AJACkQKSAjAAuQCSApECkgKTAjAA9wD5ALcAZgL5APcAtwBlAPgA+QBlALcA+ACUArkAZQCUAvgAuQCVApIClAKVArkAuwCTApIClQK7AJICuwCWApMClwKWArsAlwIVAJYC+gC7AJUC+gCXArsAlAKYApUCmAL6AJUCmQKYApQCZQCZApQCmgIVAJcCmgKbAhUAZgCXAvoAZgCaApcC/AD6AJgC/ABmAPoAmQKcApgCnAL8AJgCnQKbApoCnQJoAJsC/QCaAmYA/QCdApoC/wBmAPwA/wD9AGYAugD8AJwCugD/APwAngJoAJ0CngKfAmgAaQCdAv0AaQCeAp0CAAH9AP8AAAFpAP0AoAL/ALoAoAIAAf8AoQKfAp4CoQIBAZ8CogIBAaECogILAAEBvgCiAqECowKhAp4CvgChAqMCowKeAmkApAK+AKMCAwGjAmkApAKjAgMBAwFpAAABBAGkAgMBvQADAQABBAEDAb0AvQAAAaACLAAEAb0ALAC9AKUCpQK9AKACpgIsAKUCpQKgAgIBpgKlAq4ArgClAgIBAgGgAroApwKmAq4AAgG6AKgCqAK6AJwCrgACAakCqQICAagCpwKuAKoCqgKuAKkCCACnAqoCrQCqAqkCZQIIAKoCZQKqAq0ArQCpAqsCqwKpAqgCBQGtAKsCHgCoApwCqwKoAh4AHgCcApkCBQGrAv4A/gCrAh4AYwAFAf4A+wAeAJkC/gAeAPsA+wCZAmUA+QD7AGUA5QD+APsA5QD7APkAYwD+AOUAZgLlAPkArABjAOUArADlAGYCDwCsAq0CqQEPAK0CrAKMAK0CrAKuAowAqQGtAosAqwGpAYsArQKMAK8CiwCtAq8CrgKwAowArgJTALACjABbAa8CjACwAlsBqwGLAEYBrAGrAUYBrAFGAUUBRgGLALECiwCvArECRQFGARoARgGxAhoARQEaADEBsQKvArICrwJbAbICGgCxApAAsQKyApAAMQEaADIBGgCQADIBMQEyAXgAeAAyAUMAeABDAC4BLgFDAC8BMgGzAkMAMgGQALMCQwC0Ai8BQwCzArQCLwG0ApIAkAC1ArMCkACyArUCswK2ArQCswK1ArYCtAK3ApIAtAK2ArcCkgC3AhcCsgJdAbUCWwFdAbICtQI5ALYCXQE5ALUCtgJhAbcCOQBhAbYCtwKRABcCYQGRALcCkQAZAhcCkQC4AhkCuQK4ApEAYQG5ApEAuQIbALgCOQBgAWEBYAG5AmEBugIbALkCYAG6ArkCugJiARsAXgFgATkAXQFeATkAXwG6AmABXgFfAWABjwBiAboCXwGPALoCjwC7AmIBvAJeAV0BWwG8Al0BsAK8AlsBvAJUAF4BVABfAV4BsAJaAbwCWgFUALwCUwBaAbACUwC9AloBvQK+AloBWgG+AlQAvQI4AL4CVABcAV8BvgJcAVQAXAGPAF8BOACNAL4CvgKNAFwBOAC/Ao0AXAHAAo8AjQDAAlwBwAK7Ao8AwAKOALsCjQDBAsACwQKOAMACvwLBAo0AwQLCAo4AvwJjAcECYwHCAsECYwEQAMICwwISAMQCwwLEAsUCxQLEArIAxgLDAsUCxQKyAMcCxgLFArMAswDFAscCxwKyAMgCJQDGArMAxwLIArEAsQDIAg4BswDHAhEBEQHHArEAJQCzAMkCyQKzABEBygIlAMkCsQAOAcsCywIOASYAEQGxAA0BDQGxAMsCyQIRAVUAVQARAQ0BygLJAhIBEgHJAlUAVgDKAhIBywImAMwCzAImAM0CDQHLAgwBDAHLAswCVgASAc4CDwENAQwBVQANAQ8BzwJWAM4CEgFVANAC0AJVAA8BzgISAdACzwLOApsANALPApsANAKbADMCmwDOAhMBzgLQAhMBMwKbANECmwATAdECmgAzAtECmgDRAjYCNgLRAtIC0QITAdICNgLSArAAEwHQAhABEwEQAdIC0AIPARABsADSAtMC0gIQAdMCsADTAlUCEAEPAScAEAEnANMCDwEMAScAVQLTAtQC0wInANQCVQLUAlYCJwAMAQsBJwALAdQCDAHMAgsBVgLUAtUC1AILAdUCVgLVAlcACwHMAq8ACwGvANUCzALNAq8ArwDNAtYC1QKvANcCrwDWAtcCVwDVAtcC1wLWAggAVwDXAtgC2ALXAggAWAJXANgC2AIIAGUCWALYAlkC2AJlAlkC"), +"lods": [0.05243938, PackedByteArray("BwDDAKUAwwDEAKUAXwDEAMMAXwApAMQAxACkAKUAxAApAKQApQCkAMUApQDFAMYAKQBeAKQAxQDHAMYAxgDHACoApADIAMUApABeAMgAxQDJAMcAxQDIAMkAxwCiACoAxwDJAKIAKgCiAAYAKQCjAF4AXgDKAMgAXgCjAMoAKQAAAKMAyADKAF0AyABdAMkAowDLAMoAygDMAF0AygDLAMwAXQCeAMkAzACeAF0AyQCeAM0AyQDNAKIAzACcAJ4AngAoAM0AnAAoAJ4AogDNAJ8AzQAoAJ8AogCfAAYAzgCcAMwAywDOAMwAnADPACgAzgDPAJwAKADQAJ8AnwChAAYAnwDQAKEAKABaANAAzwBaACgAzwCdAFoAzgDRAM8A0QCdAM8AnQDSAFoA0QDSAJ0A0ABaANMAWgDSANMAoQDQANQA0ADTANQAWwChANQABgChAFsABgBbAKYALgAGAKYA1ABcAFsALgCmANUA1gAuANUApgBbANcAWwBcANcA1QCmANgApgDXANgA1gDVANkApwDWANkA2QDVANoA1QDYANoApwDZANsApwDbAAkACQDbAC8A2wDZAGAA2QDaAGAA2wBgAC8AYADcAC8AYADaANwALwDcAGEA2gDYAN0A2gDdANwA2AAtAN0A3ACoAGEA2ACpAC0A2ADXAKkA3QAtAN4AqQDeAC0A3ADdAN8A3ADfAKgA3QDeAN8AYQCoABMA1wDgAKkAXADgANcAqQAdAN4A4AAdAKkA3wDeAOEA3wDhAKgAHQCqAN4A3gCqAOEA4ADiAB0AHQDiAKoAqADhAGIA4QCqAGIAqABiABMA4ADjAOIAqgDkAGIAYgBkABMAYgDkAGQAqgCsAOQA4gCsAKoA4gCrAKwA4wCrAOIAqwBjAKwA4wBjAKsA5ACsAOUArABjAOUAZADkAOYA5ADlAOYAtABkAOYAEwBkALQA5gC2ALQAEwC0ALUAbAATALUAtQC0AOcAtAC2AOcAbAC1AOgAMQBsAOgAtQDnAOkA6AC1AOkAMQDoAOoAMQDqAOsAFAAxAOsAFADrAMIA6wDqAMIA6gDoAOwA6gDsAMIA6ADpAOwAwgDsAMEAwgDBAMAAwQDtAMAA7ADuAMEA7ADpAO4AwQBtAO0AwQDuAG0A7QBtAO8A7QDvACEA6QAgAO4A7gBqAG0A7gAgAGoA6QC4ACAAuABqACAA6QDnALgA5wDwALgAuADwAGoAbQDxAO8AbQBqAPEA7wC/ACEA7wDxAL8AIQC/AGsAvwAKAGsA8QDyAL8AagDyAPEA8gAKAL8A8ADyAGoA8wAKAPIA8ADzAPIA8wD0AAoAtgDwAOcAvAD0APMAvABnAPQA9QDzAPAA9QC8APMAtgD1APAA9gBnALwA9gC8APUAtgAfAPUAHwD2APUA9wAfALYA5gD3ALYAtwD2AB8A9wC3AB8A5gDlAPcAtwD4APYAuQBnAPYA+AC5APYAuQAwAGcAtwBlAPgA+ABlALkA9wD5ALcA5QD5APcA+QBlALcAuQC7ADAAuwAVADAAZQD6ALkAuQD6ALsA+QD7AGUA5QD7APkAZQD8APoA+wD8AGUA+gBmALsAZgAVALsA/ABmAPoA/QAVAGYA+wAeAPwA/QBoABUA5QD+APsA/gAeAPsAYwD+AOUAugD8AB4A/gC6AB4A/wBmAPwA/wD9AGYAugD/APwAAAH9AP8AAAH/ALoAaQBoAP0AAAFpAP0AAQFoAGkAAgEAAboA/gACAboAAwFpAAABAwEBAWkAvgABAQMBvgALAAEBBAG+AAMBvQADAQABBAEDAb0AvQAAAQIBLAAEAb0ALAC9AK4ArgC9AAIBCAAsAK4ArQCuAAIBrQAIAK4ArQACAf4AVwAIAK0ABQGtAP4AYwAFAf4A4wAFAWMAKwCtAAUBKwAFAeMAVwCtACsABgErAOMABgHjAOAAXAAGAeAABwEGAVwA1AAHAVwA1ADTAAcBBwEIAQYBCAErAAYBCAEJASsACQFXACsACAFYAAkBCQFYAFcABwGgAAgB0wCgAAcBoABYAAgB0wAKAaAAoAAKAVgA0wAZAAoB0gAZANMACgEnAFgAWAALAVcAWAAnAAsBVwALAa8AVwCvAAgArwAmAAgACwEMAa8ADAEmAK8AJwAMAQsBCgGwACcAGQCwAAoBDQEmAAwBDQEOASYADwEMAScADwENAQwBEAEnALAAEAEPAScAGQAQAbAAVQANAQ8BVQAPARABsQAOAQ0BsQCyAA4BVQARAQ0BEQGxAA0BswCyALEAswCxABEBEgCyALMAJQASALMAJQCzABEBJQARARIBEgERAVUAVgAlABIBEwFVABABEgFVABMBGQATARABVgASAZsAmwASARMBDABWAJsAmgCbABMBmgAMAJsAmgATARkAFAGaABkA0gAUARkA0QAUAdIAJACaABQBJAAUAdEAmQAMAJoAmQCaACQAmQCYAAwAmAA+AAwAFQGZACQAQACYAJkAFQFAAJkAFgEkANEAFwEVASQAFwEkABYBFwFAABUBFgHRAM4AdgBAABcBGAEXARYBGAF2ABcBWQAWAc4AGAEWAVkAWQDOAMsAQgBZAMsAowBCAMsAAABCAKMAGQFZAEIAGQEYAVkAAAB1AEIAQgB1ABkBGQEaARgBGgF2ABgBdQAbARkBGwEaARkBcgB1AAAAcgAbAXUAcgAAAHAAcAAAAD0AOwAbAXIAHAFyAHAAHAE7AHIAcAA9AB0BHAFwAB4BHgFwAB0BHQE9AG8AbwA9AEcAbwBHAB8BHQFvAB8BHwFHACABIQEeAR0BIQEdAR8BcQAcAR4BcQA7ABwBIgEfASABIQEfASIBIgEgAUgASAAgAQ4AIwEiAUgAIwEhASIBRgAhASMBRgAjATwAGAAeASEBcQAeARgAJAEhAUYAJAEYACEBbgBGADwAbgAkAUYADQBuADwAJQEYACQBJQFxABgAJgEkAW4AJgElASQBbgBFACYBDQBFAG4AJgEnASUBJQFzAHEAJwFzACUBcwA7AHEAcwAoATsAJwEoAXMAKAEXADsAOwAXABsBGwEXABoBKAF0ABcAJwEpASgBKQF0ACgBdAAqARcAFwAqARoBKQEqAXQARAAnASYBRQBEACYBKwEpAScBRAArAScBKQEsASoBKwE6ACkBOgAsASkBKgEsAUEAKgFBABoBOgCTACwBLAGTAEEAkgCTADoALQErAUQALgE6ACsBLQEuASsBLgEvAToALwGSADoALgFDAC8BLwFDAJIALQF4AC4BeABDAC4BMAEtAUQAMAFEAEUAMQF4AC0BMAExAS0BeAAyAUMAMQEyAXgARQB3ADABDQB3AEUAdwAzATABMwExATABeQB3AA0AeQAzAXcAegB5AA0ANwB6AA0AewAzAXkANAF6ADcANQE0ATcAegA2AXkANgF7AHkANwE0ATUBNAE4AXoAOAE2AXoANwE4ATQBOAE5ATYBOQF7ADYBSwA3ATUBNwE6ATgBOgE5ATgBfAA3AUsAOgE2ADkBfAA7ATcBOwE6ATcBPAF8AEsAAwA8AUsAfQA8AQMAPAE9AXwAfQA9ATwBPQE7AXwAfQB+AD0BfgA7AT0BfgA+ATsBOwF/ADoBfwA2ADoBPgE/ATsBOwE/AX8APgEcAD8BHABAAT8BHABMAEABPwGAAH8APwFAAYAAfwBKADYAfwCAAEoASgA5ATYATACBAEABTAAFAIEASgCCADkBggB7ADkBgABBAUoAQQGCAEoAQAGDAIAAgwBBAYAAQgGDAEABgQBCAUABggBDAXsAQQFDAYIAQwFJAHsAewBJADMBMwFJADEBQwGEAEkAQQFEAUMBRAGEAEMBhABFAUkASQBFATEBRAFFAYQARQEaADEBMQEaADIBRAFGAUUBRQFGARoARwFEAUEBgwBHAUEBTgBGAUQBRwFOAEQBTQBHAYMAQgFNAIMATQBIAUcBSAFOAEcBQgFJAU0ATQBJAUgBTgCLAEYBRgGLABoASAFKAU4ASgGJAE4AiQCLAE4ASAE1AEoBSgE1AIkASQE1AEgBiQAPAIsASwFJAUIBgQBLAUIBBQBLAYEABQBMAUsBSwFNAUkBTAFNAUsBTQFOAUkBSQFOATUATAFPAU0BTAFQAE8BTQFPAE4BTQFPAU8ATwCFAE4BTgFQATUATgGFAFABTwAzAIUAMwBQAYUATwFRAU8ATwBRATMAUACGAE8BTwGGAFEBUAA0AIYANAARAIYAEQBSAYYAhgBSAVEBEQBRAFIBUQFTATMAUgFTAVEBUQBUAVIBUgFUAVMBUQBVAVQBUQBWAVUBVgEEAFUBVAFVAYoAVAGKAFMBVQEyAIoAigAyAFcBUwGKAFcBVwEyAFIAUwGHADMAUwFXAYcAMwCHAFABhwBXAVgBVwFSAFgBhwBYAVABWAFSAIgAiABSAA8AUAFYAVkBWQFYAYgANQBQAVkBNQBZAYkAiQBZAYgAiQCIAA8ADwBTAIwAiwAPAIwAUwBaAYwAiwCMAFsBjABaAVsBUwA4AFoBiwBbARoAOABcAVoBWgFUAFsBWgFcAVQAGgBbAV0BWwFUAF0BGgBdAZAAGgCQADIBMgGQADkAXQE5AJAAMgE5AEMAVABeAV0BXQFeATkAVABfAV4BVABcAV8BXgFgATkAXgFfAWABQwA5AGEBOQBgAWEBQwBhAZIAXwEbAGABYQFgAZEAYAEbAJEAkgBhAZEAXwFiARsAkQAbAAEAkgCRAAEAkgABAJMAkwABAJQAjwBiAV8BXAGPAF8BjwCOAGIBjQCPAFwBjQCOAI8AOACNAFwBOABjAY0AYwGOAI0AYwEQAI4AAQAWAJQAkwCUAEEAFgBkAZQAFgBlAWQBZAFmAZQAZQFnAWQBZQGVAGcBZAFnASIAZAEiAGYBlQBoAWcBZwFoASIAlQACAGgBaAECACMAIgBoASMAIgAjAJYAIgCWAGYBlgAjAD4AlgA+AGkBZgGWAGkBaQE+AJgAagFpAZgAZgFpAWoBQABqAZgAPwBmAWoBlABmAT8AQQCUAD8APwBqAZcAQQA/AJcAawFqAUAAawGXAGoBQQCXAGsBdgBrAUAAGgFBAGsBGgFrAXYA"), 0.07865907, PackedByteArray("DQBFAG4ADQBuADwAbgBGADwAPABGAEgAbgAYAEYARQAYAG4ARgBvAEgASABvAA4AbwBHAA4AbwA9AEcARgBwAG8AcAA9AG8AGABwAEYAcAAAAD0AcQBwABgARQBxABgAcQByAHAAcgAAAHAARQBzAHEAcQA7AHIAcwA7AHEAOwAXAHIAcwB0ADsAdAAXADsAcgB1AAAAcgAXAHUAAAB1AEIARABzAEUAcwA6AHQARAA6AHMAdABBABcAOgBBAHQAFwB2AHUAFwBBAHYAdwBEAEUADQB3AEUAeAA6AEQAdwB4AEQAeQB3AA0ASQB4AHcAeQBJAHcAegB5AA0ANwB6AA0AewBJAHkAfAB6ADcASgB7AHkAegBKAHkASwB8ADcANgBKAHoAfAA2AHoAfQB8AEsAAwB9AEsAfQB+AHwAfAB/ADYAfgB/AHwAfwBKADYAfgAcAH8AHACAAH8AfwCAAEoAHABMAIAATACBAIAATAAFAIEAgACCAEoAggB7AEoAgQCDAIAAgwCCAIAABQBNAIEAgQBNAIMAggCEAHsAhABJAHsAgwBOAIIAggBOAIQATQA1AIMANQBOAIMAhAAaAEkATgAaAIQASQAaAHgABQBPAE0ABQBQAE8ATwCFAE0ATQCFADUAUACGAE8AUAA0AIYANAARAIYATwAzAIUAhQAzADUATwCGADMAEQCHAIYAhgCHADMAEQBRAIcANQAzAIgAMwCHAIgANQCIAIkANQCJAE4AhwBSAIgAUQCKAIcAigBSAIcAUQAEAIoABAAyAIoAigAyAFIAiABSAA8AiQCIAA8AiQCLAE4AiQAPAIsATgCLABoAiwAPAIwAiwCMABoADwBTAIwAUwBUAIwAGgCMADkAjABUADkAUwCNAFQAOACNAFMAOAAQAI0AEACOAI0AVACNAI8AjQCOAI8AVACPADkAjwCOABsAjwAbADkAGgA5AJAAeAAaAJAAOQAbAJEAkAA5AEMAeACQAEMAQwA5AJEAeABDAJIAQwCRAJIAeACSADoAkQAbAAEAkgCRAAEAkgCTADoAkgABAJMAOgCTAEEAkwABAJQAkwCUAEEAAQAWAJQAFgAiAJQAFgCVACIAQQCUAD8AIgA/AJQAlQAjACIAlQACACMAIgAjAJYAIgCWAD8AlgAjAD4AQQA/AJcAlgA+AJgAPwCWAJgAmAA+AAwAlwA/AEAAQAA/AJgAdgBBAJcAdgCXAEAAQACYAJkAdgBAAJkAmQCYAAwAdgCZACQAmQAMAJoAmQCaACQAmgAMAJsADABWAJsAmgCbABkAJACaABkAdgAkAFkAdQB2AFkAdQBZAEIAWQAkAJwAWQCcAEIAnAAkAJ0AJAAZAJ0AQgCcAJ4AnACdACgAnAAoAJ4AnQBaACgAnQAZAFoAKABaAJ8AngAoAJ8AWgAZAKAAXgBCAJ4AnwBaAKEAWgCgAKEAogCeAJ8AowBCAF4AAABCAKMAKQAAAKMAKQCjAF4AXgCeAF0AXQCeAKIAXgBdAKIAKQBeAKQApABeAKIAXwApAKQAXwCkAKUABwBfAKUApQCkACoApACiACoAKgCiAAYAogCfAAYAnwChAAYABgChAFsABgBbAKYALgAGAKYAoQBcAFsAoQCgAFwApgBbAC0ALgCmAC0AXAAdAFsALgAtAGAApwAuAGAApwBgAC8ACQCnAC8ALwBgAGEAYACoAGEAYAAtAKgAYQCoABMALQBbAKkALQCpAKgAWwAdAKkAqACpAGIAqABiABMAHQCqAKkAqQCqAGIAHQCrAKoAHQArAKsAXAArAB0AqwCsAKoAqgCsAGIAoAArAFwAKwBjAKsAqwBjAKwAoABXACsAKwCtAGMAVwCtACsAYwCtAB4AYwAeAKwAVwAIAK0ArQCuAB4ArQAIAK4ACAAsAK4AVwCvAAgArwAmAAgAWACvAFcAoABYAFcAoACwAFgAoAAZALAAWAAnAK8AsAAnAFgAGQAnALAAJwAmAK8AGQCbACcAsQAmACcAsQCyACYAmwBVACcAVQCxACcAVgBVAJsAswCyALEAVQCzALEAVgCzAFUAEgCyALMAJQCzAFYAJQASALMAEwC0ALUAbAATALUAbAC1ACAAtQC0ACAAEwBkALQAYgBkABMAYgCsAGQAZAC2ALQAZACsALcAZAC3ALYArABlALcArAAeAGUAtgC4ALQAIAC0ALgAtwAfALYAtgAfALgAtwBlALkAtwC5AB8AZQAeALoAHgCuALoAZQC7ALkAZQC6ALsAuQBnAB8AuQAwAGcAuQC7ADAAuwAVADAAHwBnALwAHwC8ALgAvABnAAoAuAC8AGoAvAAKAGoAuABqACAAZgAVALsAugBmALsAZgBoABUAvQBmALoArgC9ALoALAC9AK4AvQBpAGYALABpAL0AaQBoAGYALAC+AGkACwBoAGkAvgALAGkAIABqAG0AagAKAL8AbQBqAL8AvwAKAGsAIQC/AGsAbQC/ACEAwABtACEAwQAgAG0AwQBtAMAAbAAgAMEAwgDBAMAAMQBsAMEAMQDBAMIAFAAxAMIA"), 0.11798861, PackedByteArray("FgACACIAAgAjACIAIgAjAD4AIgA+AAwAFgAiAD8APwAiAAwAAQAWAD8AQAA/AAwAAQA/AEEAQQA/AEAAOgABAEEAFwBBAEAAOgBBABcAFwBAAEIAQwABADoAOgAXADsAQwA6AEQARAA6ADsAOwAXAAAAAAAXAEIARAA7AEUARQBDAEQAGAA7AAAARQA7ABgAGAAAAD0AGAA9AEYARgA9AEcARgBHAEgASABHAA4APABGAEgADQBGADwADQAYAEYARQAYAA0ADQBJAEUASQBDAEUASgBJAA0ANwBKAA0ASQAaAEMANgBKADcASwA2ADcAHAA2AEsAHABKADYAAwAcAEsAHABMAEoATABNAEoATgBJAEoATQBOAEoATgAaAEkABQBNAEwABQBPAE0ABQBQAE8AUAA0AE8ATQBPADUANQBOAE0ATwA0ADMATwAzADUAEQAzADQAEQBRADMANQAPAE4ANQAzAA8ATgAPABoAMwBSAA8AUQBSADMAUQAyAFIABAAyAFEADwBTABoAGgBTADkAGgA5AEMAQwA5AAEAOQAbAAEAUwBUADkAVAAbADkAUwA4AFQAVAA4ABsAOAAQABsAJQASAFUAVQASACYAVgAlAFUAVQAmACcAVgBVACcAJwAmAFcAVwAmAAgAGQBWACcAWAAnAFcAGQAnAFgADABWABkAVwAIACsAWABXACsAJAAMABkAQAAMACQAQAAkAFkAQgBAAFkAJAAZAFoAWgAZAFgAWQAkACgAJABaACgAWQAoAEIAWgBYAFsAKABaAAYABgBaAFsAWwBYAFwAWAArAFwAQgAoAF0AXQAoAAYAXgBCAF0AAABCAF4AKgBdAAYAXgBdACoAKQAAAF4ABwBeACoAXwApAF4AXwBeAAcABgBbAC0ALgAGAC0ALQBbAB0AXAAdAFsAXAArAB0ALgAtAGAACQAuAGAACQBgAC8ALwBgAGEAYAAtAGEALQAdAGEAYQAdAGIAHQArAGIAYQBiABMAKwBjAGIAKwAIAGMAYgBjAGQAYgBkABMAYwAIAB4ACAAsAB4AZABjAGUAYwAeAGUAZAAfABMAZABlAB8AZQAeAGYALABmAB4AZQAwAB8AZQBmADAAMABnAB8AZgAVADAAHwBnAAoAZgBoABUALABpAGYAaQBoAGYALAALAGkACwBoAGkAHwAKAGoAHwBqABMAagAKAGsAIAATAGoAbAATACAAbQBqAGsAIABqAG0AbAAgAG0AbQBrACEAMQBsAG0AFABtACEAMQBtABQA"), 0.17698291, PackedByteArray("FgACACIAAgAjACIAIgAjAAwAAQAWACIAJAAiAAwAAQAiABcAFwAiACQAJAAMABkADAAlABkAFwAkAAAAJQASACYAJQAmACcAGQAlACcAJwAmAAgAGQAnAAgAJAAZACgAJAAoAAAAKQAAACgAKQAoACoABwApACoAKgAoAAYAKAAZAAYAGQAIACsABgAZACsAKwAIAB4ACAAsAB4AKwAdAAYAKwAeAB0ALQAGAB0ALgAGAC0ALgAtAC8ALQAdAC8ACQAuAC8ALwAdABMAHQAeABMALAAVAB4ALAALABUAHgAVADAAHgAwAB8AEwAeAB8AHwAwAAoAHwAgABMAHwAKACAAMQATACAAIAAKACEAMQAgABQAFAAgACEABAAyABEAEQAyADMAEQAzADQAMwAyAA8ANQA0ADMANQAzAA8ABQA0ADUABQA1ABwANQAPADYAHAA1ADYAHAA2ADcAAwAcADcANwA2AA0ADwAaADYANgAaAA0ADwA4ABoAGgA4ADkAOAAbADkAOAAQABsAOQAbAAEAGgA5AAEAGgABADoADQAaADoAOgABABcAOgAXADsAOgA7AA0AOwAXAAAADQA7ABgAGAA7AAAADQAYADwAGAAAAD0AGAAOADwAGAA9AA4A"), 0.2766173, PackedByteArray("FgACAAwAFwAWAAwAAQAWABcAFwAMAAAAAQAXABgAGAAXAAAAGAAAAA4AGAAOAA0AAQAYAA0ADAAGAAAABwAAAAYADAAZAAYADAASABkAGQASAAgABgAZAAgADQAaAAEAGgAbAAEAEAAbABoAHAAaAA0AAwAcAA0ADwAQABoADwAaABwABQAPABwABQARAA8AEQAEAA8ACAAdAAYABgAdAAkACQAdABMACAAeAB0AHQAeABMACAAVAB4ACAALABUAHgAVAB8AEwAeAB8AHwAVAAoAHwAgABMAHwAKACAAFAATACAAIAAKACEAFAAgACEA"), 0.45085093, PackedByteArray("AQACAAwAAAABAAwAAQAAAA0AAAAOAA0ADQAPAAEAEAABAA8ABQAPAA0AAwAFAA0ABQARAA8AEQAEAA8ADAAGAAAABwAAAAYABgAMAAgADAASAAgABgAIABMACQAGABMAEwAIAAoAFAATAAoACAAVAAoACAALABUA"), 1.4044164, PackedByteArray("AAABAAIAAQAAAAMAAwAEAAEABQAEAAMAAgAGAAAABwAAAAYABgACAAgABgAIAAkACQAIAAoACAALAAoA")], +"material": SubResource("StandardMaterial3D_dyxn6"), +"primitive": 3, +"skin_data": PackedByteArray("AAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD/f/9/AAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD/f/9/AAAAAAEAAAAAAAAA/3//fwAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA/3//fwAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAEAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAQAAAAAA/3//fwAAAAAAAAEAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA/3//fwAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD/f/9/AAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAABAAAAAAAAAP9//38AAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA/3//fwAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAEAAAAAAP9//38AAAAAAAABAAAAAAD/f/9/AAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAP//AAAAAAAA"), +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 729, +"vertex_data": PackedByteArray("VD45PwaDDT/vlQa/HvlkP1w+uT8AAACAAAAAAAAAAEAAAACAAAAAAAAAAAAAAACAAAAAAAAAAEAAAACABBUEv0a/Xj9fwlg/u4KNvgCDDT8mxFm/AAAAAAAAAAAAAACAVD45v30+uT/vlQa/AAAAAAAAAAAAAACABBUEv0a/Xj9fwlg/AAAAAAAAAEAAAACAu4KNPoA+uT8mxFm/VD45PwaDDT/vlQY/AAAAAAAAAAAAAACAu4KNPoA+uT8mxFk/AAAAAAAAAEAAAACA54EGv+BU4T/PcsM+AAAAAAAAAEAAAACAHvlkv0eDDT8AAACAAAAAAAAAAAAAAACA54EGv+BU4T/PcsM+v0ImP8JU4T8AAACA5Y5kP///fz9roOa+EsJFPzx4vT71M6S96IMNvvpgoz9ZeHO/4LorP/Ngoz81LTA/v0ImP8JU4T8AAACAw2huvqRZrz6ucDc/INFGvy5KOD/pchC/1a1ov5phtD8sNKS9245kvwAAgD+IoOY++Q0sv1B4vT5PRMc+w2huvqRZrz6ucDc/+LgBP+Hy6D/tZYi+6Jr2Pdjh9T8Qv72+h2XCPjYHkT9eXmq/6Jr2Pdjh9T8Qv72+54EGv+BU4T/PcsO+1kOhvgCi0D9KvDW/D4QNPgI+OT9WeHO/54EGP/xYdT7PcsO+RoFNvuxYdT5eHx6/uNxAvzUHkT9X3SS/54EGv+BU4T/PcsO+zuwTvyZ4vT422AS/RoFNvuxYdT5eHx6/R4PHvljjoT0AAACAVD45v30+uT/vlQY/R4PHvljjoT0AAACA6Jr2Pdjh9T8Qv70+1UOhvgKi0D9KvDU/VD45v30+uT/vlQY/G4QNvvhgoz9YeHM/zlwmPgp4vT7aa0I/54EGP/xYdT7PcsM+6Jr2Pdjh9T8Qv70+4g0sP/Kh0D+ARMc+De98PywHkT8ZI6A9kXxyPxw+OT9FWya+54EGP/xYdT7PcsM+54EGP/xYdT7PcsO+R4FNPuJU4T9dHx6/4Q0sP/Gh0D99RMe+5borP/5goz8pLTC/NJ9cP/Ngoz/Kw9m+98UdP1J9Hj+0czC/MZ9cP+Vgoz/5w9k+oAR2P0IUXT9ATnY+SJJYP2Z9Hj+jC78+s7orP/yCjT5TWyY+jGihPoDioT2QiWq+jGihPoDioT2QiWo+i0w0P+7/fz+fvDU/sIZRPqw8Fz8bomM/jGihPoDioT2QiWo+u4KNvgCDDT8mxFk/WCscvvj/fz9eAX0/tn1sPjUHkT92vXY/ePnkvvlgoz8axFk/oOkvv78loD/lhC4/jGihvtjh9T+QiWo+R4FNPuJU4T9dHx4/R4FNPuJU4T9dHx4/EeXRPujy6D/jmMw+KzTGve7y6D+MchC/R4FNPuJU4T9dHx6/9MUdv1bBsD+3czC/X/nkvvxgoz8exFm/Z5YGPzEUXT+98la/NSscvvr/fz9fAX2/dR/uvlR9Hj/sk0y/ntYivzMUXT84bEK/m1wmPhR4vT7ga0K/Tz65PsiCjT6zeBa/jGihPoDioT2QiWq+AT65vqg12D3slYa+v0Imv+xZdT4AAACAdltnv4J9Hj8REUi+ngR2v951kT9ATna+4pt3v2T+Pj/WNNk0i3xyv/dgoz9cWyY+pLorv0if3D8mWyY+oOkvv78loD/lhC4/jGihvtjh9T+QiWo+sPjkvqd88j9AloYyIC0wv7o8Fz//Xhk/u4KNvgCDDT8mxFk/v0Imv+xZdT4AAACAx/jkvu6CjT4mlgY/bBE4PzLM0z6fC78+OALiPgDq7z3YMyS+NE8lP3Jcmz4bI6C+1K1oP8w8Fz8hNKS9SJJYP2Z9Hj+jC7++UcB1Pz1KOD9Iww4z7K98PwAAgD8ZNCS+BFJIPzf+Pj8yihG/Sfg/P3jtkT/5hSW/+1FIPyb+Pj84ihE/qb5YP2PtkT9wbAM/9sUdP1J9Hj+1czA/K3j+Pohcmz6MeQQ/b/nkPgE+OT8XxFk/9IMNPoA12D2fw9k+O/CevSBHAz3QlXQ+v1omvhDuGD5h//8+rTpYPcCCjT7rLDA/CiVQPc/UGT8vXmo/hQeZvi7+Pj91fWs/R+KXPiBKOD8WuWk/VK+LPTUUXT9YAX0/BUHqPgAAgD9TomM/+di2vqZhtD+R8lY/m7oTvwANyz8QihE/LiFXvpDe3T+vhSU/Y94HPgINyz+zk0w/KWO/PVTBsD9efWs/k4MNvq588j96w9k+kx/uPlXBsD/jk0w//oe5PgANyz/3eDk/I2lcPhC7+D/ojYE+WJaAPsHl+z8AAACAmBrnPloB8T8b2AQ+PC0wP5xhtD/nXhk/wg9NP+MMyz/4S/c9f1tnPzbBsD/1EEg+fFtnPz7BsD/EEEi+wQ9NP+MMyz/3S/e9WJaAPsHl+z8AAACAEOXRPujy6D/jmMy+aU5IP5xhtD9tUfC+/oe5PgANyz/3eDm/lR/uPljBsD/ik0y/RmO/PVXBsD9dfWu/Yt4HPgINyz+zk0y/R+KXPiBKOD8VuWm/WSscPgAAgD9eAX2/sIZRPqw8Fz8comO/NGO/vVR9Hj9afWu/rTPEvnXtkT8wuWm/fQeZvi7+Pj93fWu/5ofIvYRcmz4V9jW/m7oTPwLM0z4RihG/K7mBPsxoOD45bAO/O/CevSBHAz3QlXS+HYi5vvzL0z7ueDm/O/CevSBHAz3QlXS+Ws00v9Rcmz7mjQG+IC0wv7s8Fz//Xhm/IZ9cvxc+OT8OxNm+3I5kvwAAgD+MoOa+7a98vwEAgD8ZNCS+SJJYv0vBsD+mC7++ZhE4v/sMyz+RC7++m7oTvwANyz8QihG/moZRvqdhtD8gomO/yeyTvmcB8T8Bk72+qQ5Qvsbl+z8iKRe+YCTQvBG7+D+glqm+dVtnv4J9Hj8REUg+xw9Nv4DM0z6SS/c9Izprv0AUXT9rk70+mQR2v+t1kT91TnY+Tk5Iv8U8Fz+9UfA+QZJYv1HBsD+tC78+DsJFv/Kh0D8ONKS9ZhE4v/sMyz+RC78+h0w0vwAAgD+jvDU/aUENv+025j/9TXa+qQ5Qvsbl+z8iKRe+dR/uvlN9Hj/rk0w/v1omvhDuGD5h//8+OeXRvhRpOD4Hmcw+O/CevSBHAz3QlXQ+XJLFPQDN6Tvmio+9xeyTPsDp7z0hk72+4DPGPehoOD6qchC/v1omvhDuGD5h//++3ZduvdBITj7NXhm/GiFXPuCFiD7ChSW/ZjlYPdqCjT77LDC/00OhPg54vT5SvDW/YXj+PszUGT/KQEW/79i2Pqo8Fz+P8la/ByVQPc7UGT8wXmq/xTPEPg0lXD8puWm/vg5oPg4lXD+Sv3a/mn1svpDxXT93vXa/gTeePgAAgD9veHO/D6+LveJ1kT9XAX2/jQ5ovnTtkT+Wv3a/dmXCvo7xXT9hXmq/1iqcvnRITj4o2AS/v1omvhDuGD5h//++C0gUv9TUGT9K9jW/yvjkvsqCjT4Olga/6JWGvqjp7z0iRMe+OeXRvtRoOD7LmMy+yy8qvkC5rjxgS/e9CrkBvxxpOD7SZYi+bc0Mv/iFiD7TmMy+Tk5Iv8Y8Fz++UfC+u2AjvxCDjT71lYa+NPg/vxElXD8ShiW/suBav/LUGT8Vl6m+n75YvxYlXD91bAO/1RtPvwAAgD/3eBa/D+98v6/xXT//IqC9XZl8v3LtkT+YmKi9Du98v7zxXT97I6A9seBav/LUGT8Vl6k++3gWvyxJTj422AQ+t2AjvxiDjT4RloY+rhrnvpjq7z1D2AQ+2C8qvqC5rjz5S/c9CrkBvzBpOD4AZog+RoFNvuxYdT5eHx4/bM0MvwyGiD7+mMw++1itvohcmz6w8SE/ItFGvy5KOD/ochA/C0gUv9TUGT9K9jU/zLorvwc+OT9DLTA/NPg/vxIlXD8RhiU/HnkWvwAAgD+4G08/n75YvxYlXD91bAM/62RYvzIHkT+weQQ/6698vwwAgD9YNCQ+7mtpv2gOoj9RI6A+WZl8v3btkT/YmKg9bdxAv8yizj+1NHA+UsB1v+Paoz+0hawzDsJFv/Kh0D8ONKQ9uQgRv+Ty6D91mKg9kXxyv/Fgoz9MWya+hQouv4Te3T9Dw44yuQgRv+Ty6D9zmKi9XJLFvTMW/z/mio89bdxAv8yizj+0NHC+KALivmIB8T/sMyS+48PZvjzi7D+9Np6+92tpv10Ooj9BI6C+h0w0vwAAgD+kvDW/8kDqvvr/fz9WomO/XpYGv+R1kT/C8la/VkgUv2gOoj/oQEW/MeKXvuzaoz8cuWm/B2zpvteizj8T3SS/Uz65vlSf3D+meBa/NbmBvu3y6D8jbAO/48PZvjzi7D+9Np6+LiFXvpDe3T+whSW/qFwmvgGi0D/Xa0K/lYMNvq588j95w9m+HJduPfQ25j+pXhm/QhAfvNmizj93+km/25yAPGYOoj9lvXa/I8cNP2sOoj+++km/BkHqPgAAgD9TomO/rtYiP+d1kT8rbEK/k0w0PwAAgD+ZvDW/wdxAP5bxXT9Q3SS/sb5YP3TtkT9ZbAO/8WRYP5vxXT+neQS/0epiP+nUGT/ONHC+xAgRPwhpOD4zmKi9qborP+iCjT4TWya+1vjkPuA12D3rF0Y1XJLFPQDN6Tvmio+9jwouPwSGiD44ZAE1ZALiPnDq7z1ANCQ+48PZPhzuGD69Np4+E8JFP0R4vT44NKQ91K1oP8w8Fz8hNKQ90epiP+nUGT/ONHA+XJl8Px8lXD+kmKg9XZl8Px8lXD+gmKi9AACAPwAAgD9EloYyKzprP991kT9Dk72+7K98PwAAgD8cNCQ+8OdrP1kOoj+W2JC+2Y5kP9r/fz+WoOY+JzprP8x1kT92k70+8+drP0sOoj/B2JA+42RYP33xXT+1eQQ/Qvg/P2ntkT8JhiU/NtFGP9zaoz/YchA/t9xAP4TxXT9W3SQ/qm3MPthITj5EoOY+48PZPhzuGD69Np4+X3j+Ps3UGT/KQEU/abmBPuhoOD40bAM/gD65Pt6CjT6yeBY/7ti2Pqw8Fz+O8lY/fiFXPtyFiD66hSU/wTTGPcRoOD6ZchA/pwOCPSC5rjzHEEg+0N6DvKjp7z01UfA+RoFNvuxYdT5eHx4/b4fIvVhcmz4B9jU/MmO/vVR9Hj9cfWs/wA5oPg4lXD+Sv3Y/tH1svo/xXT90vXY/xDPEPg0lXD8ouWk/gDeePgAAgD9veHM/qNYiP991kT8xbEI/IccNP2UOoj/F+kk/VyscPgAAgD9eAX0/V6+LveF1kT9YAX0/xQ5ovnHtkT+Sv3Y/A5yAPGUOoj9lvXY/B0HqvvX/fz9SomM/HnkWvwAAgD+4G08/yzPEvnHtkT8puWk/UOKXvujaoz8YuWk/XUgUv2cOoj/jQEU/plwmvgKi0D/Xa0I/Bmzpvtiizj8T3SQ/bm3MvvM25j8coOY+M7mBvu3y6D8ibAM/yeyTvmcB8T8Bk70+p+0WPTQW/z8+Qug9XJLFvTMW/z/mio89JTTGve7y6D+KchA/2DlYvVSf3D/iLDA/HRAfvNmizj92+kk/uyqcPvI25j8u2AQ/b3XxPtSizj+28SE/5T25Pqh88j/5lYY+sewTP/ih0D9U2AQ/Vs0MP4be3T8Cmcw++LgBP+Dy6D/sZYg+p2AjP0Gf3D8floY+YVM/P8Kizj8rjoE+O5YGPyfi7D8AAACAp+0WPTQW/z8+Qug98HgWP9425j8t2AS+O5YGPyfi7D8AAACAVs0MP4be3T8Bmcy+mBrnPloB8T8b2AS+I2lcPhC7+D/ojYG+m/jkPk6f3D8flga/sewTP/ih0D9T2AS/O9FGP+naoz/GchC/pu0WvQDM6Ts9Qug9XJLFPQDN6Tvmio89qQ5QPlBHAz0iKRc+tVEyPpCeaD2V2JA+DSbQPDCeaD23lqk+6Jr2vXDioT0Qv70+Cu2TPjjq7z0xk70+jpZuvXhITj6wXhk/PwscP7BZrz4SvuI+Vt4HvvrL0z62k0w/QRCEvpQM5j5wOks/7xEfPKZ0xT56+kk/70OhPhR4vT5PvDU/JlclviLkBT/pK10/Gc7yvEjS/j4tO10/e6DqPZj69T4Nwlg/vJaGPoTS8j5kG08/JGVivhRrJD/rQmg/H3W1vgxrJD8ILF0/SjzfvoC0Pz9qO10/tfAevoi0Pz+KlnQ/IpyAvDDjOz9jvXY/D4QNPgQ+OT9VeHM/hWXCvozxXT9eXmo/vWekvUy/Xj91/3w/gDeevvP/fz9veHM/lXkWsgAAgD///38/Z5YGv+J1kT+88lY/uVUlv1ygkD+DmUA/+cUdv1XBsD+1czA/fE82v3jKrT9Loho/Z3j+vpYVsz/LQEU/xYZRvqVhtD8fomM/oHEjv+0NvT81oho/dOAsv9h8xj+jM/s+Ry0Iv2xLwD+0hC4/Pwscv5Qp1D8SvuI+RV3PvlqBwj88mUA/AHj+vuoo2T9+eQQ/vpaGvl9Lwz9jG08/Uz65vlSf3D+meBY/48PZvjzi7D+9Np4+S1EyvhG7+D9s2JA+qQ5Qvsbl+z8iKRc+MAOCvR1F/T+WEEg+O/CePcbl+z/QlXQ+WiTQvBG7+D+ilqk+TeCDPGgB8T8gUfA+v1omPj7i7D9g//8+JZduPfQ25j+oXhk/o4fIPewo2T/89TU/xGhuPpcp1D+tcDc/QhCEPtt8xj9wOks/g6DqvVqBwj8Owlg/C87yPG5LwD8sO10/PiVQvZUVsz8xXmo/JlclPu8NvT/pK10/JGViPnbKrT/rQmg/tfAePrwloD+KlnQ/vWekPVqgkD93/3w/hweZPuiAoD93fWs/H3W1PnrKrT8ILF0/hGXCPjYHkT9eXmo/STzfPsAloD9rO10/AhUEP12gkD9fwlg/ZpYGPzIUXT+98lY/HXkWPwAAgD+5G08/RF3PPpr69T48mUA/W0gUPyvjOz/jQEU/uVUlP0e/Xj+FmUA/H2zpPsB0xT4Y3SQ/Ry0IP1DS/j61hC4/pLoTPx7M0z4VihE/dOAsP54M5j6jM/s+n3EjPyjkBT81oho/e082PxBrJD9Moho/n+kvP4K0Pz/nhC4/bmdLPxxrJD+5M/s+zZJFPzDkBT/VUNc+dOAsP54M5j6jM/s+rlZcP5S0Pz86vuI+PwscP7BZrz4SvuI+Bg9QP3TS/j5mKZc+RE8lP5xcmz46I6A+c9xAP+J0xT7ONHA+g0ENP/hITj5MTnY+UzZXP9D69T7oWxw+zQgRPyBpOD7kmKg9Mk+lPgCfaD11I6A9qQ5QPlBHAz0iKRc+3lxSPmC5rjxJMRc1XJLFPQDN6Tvmio89qQ5QPlBHAz0iKRe+GU+lPoCeaD22IqC948PZPhzuGD69Np6+bUENP6RITj7yTXa+PwscP7BZrz4SvuK+ZBE4PxbM0z6QC7++dOAsP54M5j6jM/u+btxAP850xT6xNHC+zZJFPzDkBT/VUNe+D8RZP77S8j5TeZYyUzZXP9D69T7nWxy+Bg9QP3TS/j5mKZe+bmdLPxxrJD+4M/u+92tpP0LjOz88I6C+rlZcP5S0Pz84vuK+j3xyPxw+OT9HWyY+92tpP0LjOz8+I6A+nwR2P0MUXT86Tna+4kNqP1W/Xj/9csM+2BtPP+D/fz/0eBY/h3hzPwAAgD/nNp4+U/d2P1KgkD/OiWo+De98PywHkT8ZI6C9beV0P6oloD9FKRc+4Jt3P9OAoD/4aoEyU/d2P1KgkD/NiWq+h3hzPwAAgD/mNp6+beV0P6oloD9DKRe+5ENqP1W/Xj/8csO+4xtPPwAAgD/jeBa/fE82PxBrJD9Lohq/oOkvP4K0Pz/lhC6/oHEjPybkBT81ohq/dOAsP54M5j6jM/u+PwscP7BZrz4SvuK+Ry0IP1DS/j60hC6//3f+Pl5cmz6EeQS/BmzpPqp0xT4Y3SS/bG3MPoBITj4woOa+48PZPhzuGD69Np6+PFEyPiCeaD2R2JC+qQ5QPlBHAz0iKRe+d4MNPog12D22w9m+BAOCPSC5rjzlEEi+pu0WvQDM6Ts9Qui9GiPQPKCeaD3llqm+6Jr2vXDioT0Qv72+1uGDvDjq7z1wUfC+w2huvqRZrz6ucDe/Vg8fPLh0xT6C+km/ct4HvhjM0z6/k0y/QRCEvpQM5j5wOku/RV3PPpr69T48mUC/vpaGPoTS8j5jG0+/JlclviLkBT/pK12/XEgUPyrjOz/iQEW/cfnkPgA+OT8WxFm/uVUlP0e/Xj+DmUC/HnkWPwAAgD+4G0+/g6DqPZb69T4Owli/C87yvEjS/j4sO12/LJyAvC7jOz9kvXa/UK+LPTUUXT9XAX2/tfAevoi0Pz+KlnS/vWekvUy/Xj93/3y/lXkWMgAAgD///3+/un1sPjYHkT92vXa/JGVivhRrJD/rQmi/vWekPVqgkD91/3y/BBUEP12gkD9fwli/hweZPuiAoD93fWu/SjzfPsAloD9qO12/PS0wP6NhtD/aXhm/weBaP4UVsz/Slqm+J0gUP5gVsz8y9jW/VWJuP1vKrT/8io+9vL9UP1JLwD/8lXS+VWJuP1vKrT/9io893x5fP84NvT9dQui93x5fP84NvT9gQug98a9VP7V8xj8AAACA8a9VP7V8xj8AAACAjuFAP3Ip1D8AAACAT800P9Ao2T8YjgG+YlM/P8Kizj8rjoG+VhZFP0aBwj85v72+p2AjP0Gf3D8floa+Li0wP1JLwz+X//++R4PHPsrh9T8AAACANiIXP1SBwj98Hx6/G8v3PmxLwD/GcDe/b3XxPtSizj+18SG/5D25Pqh88j/5lYa+uyqcPvI25j8u2AS/B0WdPgq7+D/ojQG+05WGPmYB8T8qRMe+uS8qPhxF/T9lS/e9uTb0PTIW/z8AAACAp+0WPTQW/z8+Qui9O/CePcbl+z/QlXS+v1omPj7i7D9g//++2litPuoo2T+f8SG/xGhuPpcp1D+tcDe/QhCEPtt8xj9wOku/Ih7BPu4NvT9+Oku/H3W1PnrKrT8ILF2/JGViPnbKrT/rQmi/JlclPu8NvT/pK12/QhCEPtt8xj9wOku/tfAePrwloD+KlnS/wSRQvZYVsz8yXmq/Zzeevvj/fz9zeHO/H3W1vgxrJD8ILF2/STzfvoC0Pz9rO12/IR7BviTkBT9+Oku/QRCEvpQM5j5wOku/w2huvqRZrz6ucDe/Gcv3vlDS/j7GcDe/9litvlhcmz6W8SG/onXxvq50xT6h8SG/6Jr2vXDioT0Qv72+QGlcviCeaD3jjYG+pu0WvQDM6Ts9Qui9uTb0vQDO6TsAAACAWJaAvuBHAz0AAACAGUWdvtCeaD3ejQG+shrnvojq7z0H2AS+O5YGv8juGD4AAACA/ngWvzBJTj4K2AS+juFAvzparz4AAACA+g0sv0h4vT49RMe+clM/vwx1xT70jYG+yA9Nv4TM0z57S/e98a9VvywN5j4AAACANSIXv7D69T58Hx6/LS0wv7TS8j6a//++3x5fv2TkBT9gQui9EscNvyzjOz/L+km/zLorvwY+OT9ELTC/AhUEv0a/Xj9fwli/HXkWvwAAgD+5G0+/5ti2vqhhtD+T8la/V3j+vpcVsz/NQEW/uVUlv1ygkD+FmUC/n+kvv78loD/nhC6/AVJIv+WAoD83ihG/6WRYvzIHkT+xeQS/Ijprv0AUXT9rk72+VRZFv+j69T46v72+u79Uv7bS/j7+lXS+6udrv0vjOz/A2JC+VWJuv0prJD/9io+9beV0v6y0Pz9FKRe+U/d2v1y/Xj/OiWq+h3hzvwAAgD/nNp6+4kNqv1WgkD/9csO+rlZcv7YloD86vuK+bmdLv3LKrT+5M/u+//9/vwUAgD8XscE0VWJuv0prJD/8io89beV0v6u0Pz9DKRc+3x5fv2TkBT9dQug98a9VvywN5j4AAACAjuFAvzparz4AAACAvL9Uv7bS/j78lXQ+WM00v9Bcmz4CjgE+b1M/vwx1xT4BjoE+O5YGv8juGD4AAACAGEWdvgCfaD0kjgE+WJaAvuBHAz0AAACABT65vvA12D0mloY+uTb0vQDO6TsAAACApu0WvQDM6Ts9Qug9XGlcvsCeaD0njoE+6Jr2vXDioT0Qv70+9pWGvkjq7z1yRMc+4CqcvthITj5M2AQ/zOwTvzh4vT5C2AQ/oHXxvsZ0xT6t8SE/Hoi5vhrM0z78eDk/QRCEvpQM5j5wOks/VhZFv+j69T45v70+Li0wv7bS8j6X//8+Ih7BviTkBT9+Oks/H3W1vgxrJD8ILF0/G8v3vlDS/j7GcDc/SjzfvoC0Pz9qO10/NiIXv7D69T58Hx4/E8cNvyzjOz/K+kk/n9YivzMUXT82bEI/uVUlv1ygkD+DmUA/Ip9cvxc+OT8NxNk+6+drv0vjOz+/2JA+U/d2v1y/Xj/NiWo+1RtPvwAAgD/2eBY/h3hzvwAAgD/mNp4+udxAvzUHkT9W3SQ/AlJIv+WAoD81ihE/fE82v3jKrT9Loho/5ENqv1WgkD/8csM+rlZcv7YloD84vuI+bmdLv3LKrT+4M/s+zZJFv+gNvT/VUNc+dOAsv9h8xj+jM/s+z+piv44Vsz/bNHA+Bg9Qv2NLwD9mKZc+Pwscv5Qp1D8SvuI+Mk8lv+Qo2T8fI6A+UzZXv0yBwj/nWxw+061ov5thtD8pNKQ9aUENv+025j/9TXY+48PZvjzi7D+9Np4+D8RZv1BLwz9TeZayKALivmIB8T/sMyQ+AU+lvg67+D/uIqA9qQ5Qvsbl+z8iKRc+pLorv0if3D8iWya+plxSvhxF/T8AAACAXJLFvTMW/z/mio+9AU+lvg67+D/sIqC9jGihvtjh9T+QiWq+NE8lv+Uo2T8fI6C+Pwscv5Qp1D8SvuK+dOAsv9h8xj+jM/u+UzZXv0yBwj/oWxy+Bg9Qv2NLwD9mKZe+zZJFv+gNvT/VUNe+0+piv4oVsz/YNHC+QhCEPtt8xj9wOks/IR7BPu4NvT9+Oks/xGhuPpcp1D+tcDc/Gcv3PmxLwD/GcDc/2litPuoo2T+f8SE/JkgUP5IVsz869jU/NSIXP1SBwj98Hx4/Z05IP5VhtD+KUfA+w+BaP30Vsz/tlqk+LS0wP1NLwz+a//8+VRZFP0aBwj86v70+u79UP1JLwD/+lXQ+juFAP3Ip1D8AAACAT800P9Ao2T8ZjgE+8HgWP9425j8s2AQ+R4PHPsrh9T8AAACAm/jkPk6f3D8flgY/v1omPj7i7D9g//8+05WGPmYB8T8qRMc+O/CePcbl+z/QlXQ+B0WdPgq7+D/ojQE+uC8qPhxF/T9lS/c9uTb0PTIW/z8AAACAp+0WPTQW/z8+Qui9XJLFvTMW/z/mio+9LwOCvR1F/T+WEEi+O/CePcbl+z/QlXS+TFEyvhG7+D9r2JC+jGihvtjh9T+QiWq+TuCDPGgB8T8hUfC+v1omPj7i7D9g//++b23MvvM25j8coOa+AHj+vuoo2T9+eQS/Pwscv5Qp1D8SvuK+o4fIPewo2T/89TW/xGhuPpcp1D+tcDe/2DlYvVSf3D/jLDC/Gc7yPG5LwD8tO12/e6DqvVqBwj8Nwli/vJaGvl9Lwz9kG0+/RF3PvlqBwj88mUC/Ry0Iv2xLwD+1hC6/dOAsv9h8xj+jM/u+n3Ejv+wNvT81ohq/e082v3jKrT9Mohq/Qd6YNgAAEOVU1aqq//////9///8AABDl/38AAP//sM//f///m+D/v69T8HSFzhS/XCR5FmMf/7//fwAAAACwz70hZskiSv+//38AACJK/7+vU/B0CMsbw/9/////f/+/otuF6QAAsM+XtkFe//8Q5f9/AAD/////eJZcpP//sM//f/////8Q5bZXcbr0vwjM/3///2Mf/7+qKlRV/3//v/9/AADctf+/tldxujiUqbLiuhvFNBk18cf/NKsJAHjqZcmPQswFdvzIGdvy3xVowqe0jZUS/Azh4robxcrmyY57bX1Lw95xsAgWXz0iSv+/SCWLrJh338E1K8d/DKv6v0hNJlAKsL+9e219SzC9NMwsvk/X5gXE55msD/UwEb6ZXvTy3fkABNOZrA/1GSjeyXE6tdcKQPWz6zC8554nnL025iMN0gTvyo3FSSgRGPqfuj1AEHYd8tHYCsfAj0VywHE6tdfGa1XN4C7IKiNIyr26PUAQP0cttNtZIyaFVszIZ0m9obypNrjbWSMmeakxt+6KZNPl1x+2vWfqsGDYYsJnSb2hf7TQyttyx5kf6pa9a43gS+z617BIqI1F7ecE4O6KZNPO7kDmtrLYr3/7BJjc6dqN0P53+4fmsFfVBK73SKiNRVPlHIqNxUkoqxri9UTCvu+jF1+cJdBHzX8E+edw6lbL7APynnbpg7kgBAPrMeOaLo4MbKB6xoiW3vv6lBnc3XKJ/CSM+sOZYV7yO48nt1tEkvO9haSvlxuFFb77l5ulL3nqQITEvzSA9f/x34mRXF2q/ACyl5ulL6/tedmGaaJbVNo5t7tuQYCo7vm/ZJZ+jPH+48y9W2eWNdIQwrVJt5MavN7FZ2RZ0ArNJ8k/kLm9F9xDsT+Qub1b6J/jR6BewC362eTIRoj3vyBNw0TCvu/nI7vOzRxk0SU/uLlnFrzbyS3uvU70miwLA6umQQC77lYRBMB/HXkkLTuouXILTDVvPIK+38tsDRIFJs+GyIgbiAp2qKSvlxtPEoWmLkuXHiJK/78cReM6bGKZzMAgA06NZgbHIQ3lo7ZnucE6GsRl/3//v04od5mhkJW910iju3uLybm1SbeT772dvmdkWdCBiDy1KlUq1f9//7/sS01hQbluwYZpoluMxk/LHEXjOpKdZLMzXlBJQLj0xNW2ClNO65+M67NCJhcPMvzxyf4x8BRQ9rbac1PAA8v7meH7Q6ANw/Aw4zBj/////73/FW4LACb3DuyVPgAAEOVH9H3BCQFNnZW+Dmz//xDlJcj/i+/+DJiarjFjcPOR3/KkwEtd7Y/dQaSXadz75NYtjKgx//+wzzd4vR988pesQHIKOMvmYKzBhLpAUvQusAmF1VrD9YW18WVCapvg/7+CmQVo//+wz5uHU3Ee/KO5RavHf/X/rtWMY3CgxNiLwZtViasUwG/JG28du5vg/7/uirqx1+W4szuI7qKG7+q10XNWzpvg/794pH6dUfOV3dObBq0y7c/gxZM21aL5neWMmnHl1PM+l3Gn+sz18zuWErSxniD9XuOlw+axlOu3jQLOv6Dw8biMPt/7sQ4ORfMXzli8ahRG8oyaceUqDL/on7+339EFJZum4KTD7wIJ6PfSKuTMEi6ff+KF260MaKIP3cP3eBATykPOEPUnGkXMBeiDGQAAsM+9/0MRCwCqyFzdihFUA/7N7yI7CCgUO8iKDO7dbCZwv7wVDhpjH/+/eDsRCIYW7c911GQq4BIKoNy9XxRSBi2sQWDHB4INZ9MHLdQboEGZtkFgxwf4TPq5VzrZOv9eocmyHhM0vUaPvogWe0YJVg/CNwDKVPJUBMBBAOmRT24EwGUeA7yIYc/G9Cwoyb9mV8qJK5rV6j+OtqIidO79G6nBLUke6P4tq7m8XSbs6yt4uX5cUP3PIo/D/DE/X3GZ+LhZPBhOcJvJtbottXNmpGW+5SMhjUiYRL6lQ6dg66+HvgQ8ZZ52ni+5mTZvve545cIpSfSsP5mmtTpAyn8bwAPAVkB607Rymsm8XSbs63vhx4ZbgGLRxFbGQHIKOGy1lsq3X6A/Srbowjd4vR8GswPGwJLdCtEGWK3RtuAXpwwAqTa5dgicBl7Q9Ue+DTMZndNcRtwExBKf0eHE5BAAALDPucDCBKwL0M8Tz0IYxgQwrHvhECZSCMaljt9zHBgDYazV2gkFOwp5ynTzECIdAcisefLfFTUBycx/DGUWyRl4v8D/Ux8AALDPqw5j+LYM78GFDR/qlRmawKALDCILJnvA/D49GPVIF7j1R74Nk0potRUeHyyYQPW7rzbMIb5HCrt4SSMW2Uoaul9ARyC0SRa9eWIaESJK/7/SQa8oi0/ywto3ySkiSv+/WB9aPBNQdsESOSAyOFUexbcLgT5jRXq/CCD8RI9bTsT/CyVI5U+HwDgAAUoiSv+/2w3dafB2aL/mDn+Xi3aswCIWJHIOiZbAAjv3X2+ksLuGTqY8z6bIt99N7EbGquC6jVgEM3as+rnlboUd3LX/v1BXLT5zsAu9v29FQr+40Ms2ViVI3LX/v95lcUo9uhHJoEL3ady1/7/gU+phZr8JxFdLcWrkvfXBfkFHdJu6g8AiSv9/Y8mkwNk3/3MZsHe/ijcXi2awdcDqEUGAr5H5v28x0pZ9nNu7gBfmjnOJUr/dQ1CxrJHAuM4czpz/f/+/cD2YthCHGb2MTnfHU4UlvHcZTqhdb2rCgEKAwv9//793R4vOq3rZwyJ1Pe0ygce7UDHcw1JuPscTTLzZZ3iLx7JEpt3rcZfM0xZusYFjIsQ1AMQ/4z/6vzcAuNRfK/q/sAtk06cyeb4IFU3SfzlAvPkXe+ZjH/+/Ey4m3i81q7l4N3bkES+7uiJCn+ujJ9W8skSm3dk59bQdOxrvYx//vx80kvJOHojCV07Q82Mf/7+iuSL7QCNhycU37f40HHvHpOTC/m4LC8Xl6rHTdgeOosf/RisJAE+qjPSyyvkCx6HJ/zrACQANoCb1Nz/mAMfi//PZtw8B8ufn9HRI7AAymIHe70p5CWb1h7hzMbQHVP1axCc3bAxA+tSq1Cr/////wJLdCm8IZf9+vX49/////0Gm6zPn8MuDV6JMO87mCYeOwmZJMvqIg3PTtlo+/DKE7sqCXoX2mIp+6BhxpP65hBjxf2haAUT7sP+xf/////+087qtNAPL7RTuvX/z/9eI7uj3rzAI4PDJ1DeA9f+FlUTSSYzK/DOSBtAPl873HY90yOd0Ev/L54C+t4v1/rDiXr0Hlv//EOU2vyd1GP83ndKe8kFk74XaV6JMO+rp69wPpnthrPc32l+U3T2s+dDTh5uGSHb1h9dynI5f5vyc0+OQ4UT//7DPdog3OWL5n6+shj8b//+wz7l+YS168uatv29FQojiDK7ud4ZEeOkRsMN3EF3W68O335V5csn+NLOaaYBzNeaFwA+idXPh/jXTU5/Bf///sM9LtXKLBf033kysGZWI+HDdQ5G9f/P/U7djeKuOSPMPvh9qhY1p5mS/PIFam5D08rq5VDeAn9QEwCJK/39jyaTA712JjJLZjsB8ZvmXm+D/v01SB5V/xr3Dk3IetLDhdr0mXhKuz8pSxixhDL7zykzIn2shwlvYKMMfaC3JANJSxjWE0u4v3I28InU97bHaaMOId8fGP9+wvD17RL9c4Ci67n7Et8vjgrg8mPu+L/B65Cij7q3Q80/ilp4uy///EOXHqt+ulfsQ5Mip2bf//xDlrqjRwRj6OZgfshK5wfVjlf662bAn856S4rAbz+np3ZE1hNLuyvkO5qa8hs5tEJfs4rAbzxUWIO4kyDXWAAAQ5QSzjNgJDMPpyKo57FwGYZpPyTLe6gkgnB7RNtVpBO2b9umfwgAAEOXJeywRG/kXrtyKwRIt+abS15NDIvHy9NXojwwqC/lF062CgCPe+JeuEHWaLEDs8qvfl9E2V/P+1iJ7ojk67V+uja2lTrfnjeIQdUROcufrsm9r1lM32vqxEIE6SAbx5bFBmBRPOPvO03VyQVei48C0eX3bUYrvqbT9iRtTyPd5sg+V4VX//7DPCW1SYTbiC7sRYx1juNnmvulbaWuc04q+fXGEaG3qBL3CfqRk5fVHuiONN2Ys+w+18l1fdPPZgr95dzZyF/SJvqtgPYCb4P+//3//fzT+Gb9kU6+LV82EweVJzYoywgrDZFHNnNnARsaLSTObibe5yO9Zg56NyyjEdW6iogHkVb6jUIujmbzUyL5NOqkct3vLcFh/pSDGfcZxUlmx4bojzCdhrafV0Z7DDFs+tN7EUMnvah2qm+D/v3dkeLft0EPFp12yxCXGCcsWcPLVctl5wydsu90T1IXGUnm/5Jvg/7/Hh0HgLtk+uVF9ftwv3W+8RYGd0szbPbm+jfTHwthls9yEXMa+3Jy2EIh4uyPgvLSDkoG04+Bhr4+UKKz14xutAXbjrPPk5LuFgiOuU+nEt/V6KaUL6+G6iY29qILp0bH1kqyeFvYasYGOepcJ+ja1hYjIjRL9C7oNmryV//+wz+2c4Zwb9x7XDKKfiwX/+awVpJWU8/qo10+sDouz/RHZmqxPdPP8Utnctf9/tf5N29eeUVjA+BTXsa33aoL4vtwZtjF1wf0J3tih7FFX85fajqd/WgLz7txkqnVUHu3030CyxFYG6XDkW69zXFXusuFztstkn/dd40m2R2ws+9ngFL5EZFX3h5VJu1tbCe1Vj0CyxFa+5xGQAsdxa+r6WpSNraVOyuUxjbHABFh98byL/rHxSQ7rrokhvK5OgPHViIOsqT/J7KSGK8cBVHn344ZysYc4SvipggqfZSZ093mB15NDIjnwCYKclp0W/////9yKwRKP95iAQqLYE8UP9P1kpgsfigiE/ky7WCIwGfT4p7+ELDUTWfmlzo0tNxrN8grT1jawFF/zw9ZAMkAY7e+uziI8fg4o91rbSTv1EqjwGs8bT/////8B1CxHhQga+QTYsUCBDkH0ROQUPqkId+os6ZBORwjA8XDrA0cUBaTrsNeHZin7UIiPzixpt/c+jt3yGVx1A9rzMtJsdJT9VpIByjeA//8Q5Zvg/3+R/oSPT913jGP9MYwj8iGWLgGHhGLajpch+uCIxOU6mv////+H86+imwLM8///Yp9tAXnwcOicpd0FHfds9DJSagKn7cb//bUAABDly+RzNl8IoJxH7Eo20gQln3LcXC+pEUyew9ZAMvgWjZulzo0tSBhwnX/ajif8DBCjwMvyJKESb6Lr0dghpwxnpfLB0h6aEHmlTLtYIhQWEqMLqukP8wa4rEKi2BMNDQmqp7EuDAAAsM8+m60GAACwz9NuNQTjBufRgKOuAiAHZtFlU+8KvhMM1J5SRgGEDRjSgTSDEjshi885yBEB+A4Zzrsx7gqMGBLNKCyPFMclA85R2NgePgfqqODVEBUAALDPviiJDVwcPcv26rEtfAc/o5fpQiQiBBqpMfUZNj0C9KH//yHKSQGxpBvT/gk2CITNJC6GAnQQVctaGzwBGQq2xVPxmwfgA1rGexeCDpEV+cLIDYUI5wt1wf/////KAeTAf/OZ6Q0BGrOsHvUSyB3zxDbyeffsAvLF7/Su00sC7KZC6vDlAACwz2jr6NsLBVWoTOHry94CoJz23wK7ngjG7enh39MUCLKfgt48qH0K8Pkd13a8wg3t78HXfKGB9Q2GQdbis/QT0fQczLypCuwti+7MD7N+GjT37swPs4DlyYg1xMi7shpM9KfFJcVDE3/vJM//xNcMX+3w17LEHwew6uzG3s09CpvqvNiZzAAAEOUjptvZmhFC637ZMtTaBnSdOtqB28QMo58P0tbcLgyvndC0Z+EAABDlAsHB588PhJurqE7jaAY154a22+nJC5KahZ3k7gAAEOUCjvzxOQax5iuRyfs0BvCZvZ83+AgMgpkJuEDyLhW1mnHK3eUlEh6dfct77WwYl57W02/roBcpoe/ajOLzEYyhHeMQ4+MI36hS4Qnt6AnjzkDXdfJ8Fi3O1tNv6wkc49KD6Hzx9QXHyikl9frzFB3FPgCr4GMf/7/hHO4cPi6Nu5YUFiRTL3m9DyVyHeY8BbcoLI8Uqj0vtIE0gxLPQsizxCV9JLdAnLmNNSEawUXstu8tKCOfROe5ZVPvCoFMZrc2VcUTPEvRvNNuNQQeTOS8/HECDmNNG8NyZY0agVEUxlNXsBxsTjPD+kxyJ4hTA8YcT+MwQ1wKy1hDeDEvWTbIyTs2RJtoWM3ZL7cy9E8+wtow/zrAWmvG5zGmQ45kNMoQM+9Mam4+zYAmzCsVRZK8QidlMyJK/7+9KRxMo2n5yRkVTSziOkS8jhWoNBpCCL4PC1AsJTLZvgAAIcqbNlq/cCCL4zoncr6DHu7ZcTTVu80K5ckUPOC+txO0ybRBlb3wE2nBIkr/vxcLireYT4m/SgxEUphbmcEOKEw7YVWPw+EoiEPbX+DGEBcHUMNhF8R8IcJX43M+xY4XYlo8bu3CdwxPXZpnTcEAAGKf9WC1wJILzK1QWzTBjhT7uElXicK6G+rB8FRTxE4ATYD/f/+/PSiCXhuMwLqcJXBowpEQveIzQlZblgW2EDPvTJSRwLLJOzZEY5emsnc8HlcjoB65JUWoRf+gXbYARSVPPqWTuRxP4zC7o/S0T2OsKJKxyrxyZY0afa7quWhh0DTctf+//HECDpuy4rzJeywR4rMZwzlsyCrCtC3DEHWaLH2zl8jcaYc2JbXkxcJnA0EJt+bHN1UfUdu3NMLWXBBSX7sWxitk+FJevmXJb2vWU1TCz8uzRPBXnapvvJpMvFjctf+/jGLvWhjD+MgRYx1jcsgYyYJbO1pHv2HG6Vtpa5PKFMYyVH5Z6bpsw7JT5WocxbrDs0qMdI/De8HlSc2KyMMav4Q5dmn1qe69+C/vaDue5ruvIodzZJixvv01x3/ctf+/Yx//fwmfSL/IQNeKb7qLv2lB8JPctf+/i0kzm165+77MLZKLrqTKvvw4jZS1qHS96kG6mw6rqru1RKOkrJ6Etr5NOqkioN+zEDV8oTCVQrtNP/qnepe+uHFSWbFhmuOyAE4NtlyThrXTOP2ryI28u4ssSKVmiB6+e1NVwEqNZLanXbLEE45ms+Qw47D/f/+/vVkTzJeHc7j0YJnZ9IK5uydsu90ThBy4pDvXyIN0NcZiaWHp/3//vz5tIfXMfjfEmlnz4Ap9RMRaUGfkfXfCyg02AM6ibHfKWTFx0p1lGs07Kb7N3F8fzP4r0rg2ckLE+idNv4RoQMekJLXEUmF6yX0hD7XOarzEj5QorF7o1N5ynQ+lC+5y3oOSgbSS52fhfKTDpTrzWuAgmo212e3g4h6sFJ7q90vgzKuApiT5iuJZvFefD/31l/zEB6Bg9zeSZLNCp///EOVLuw6o3/hOlYfD4Kg88hGQNcTIu0zlsYvZula6u+x/kHixWMOR72eTI6bb2WTuvJTLoa62FPbe476N9MfQ6knlIpZ3yTX0a+XHh0Hg9vN75q+cUteW+cmYGZF54v//EOUCjvzxxflNmSuRyfvPI3DDPm0h9U0llrzAZFH5Yx//v72fN/jQJsDG81UV8IwmhbxaUGfk9DLXtmCtuP4yJMHGCbhA8jwnmMwMPizhCzWxtz40DNsgO662WTFx0h1F2rOGxO332x9Cy33Le+0bH5zQRT88+6If1cXa0Xj9qxY5yOMsAPYLGxrEHiru6mMf/7+tJybhKS5fvH8lcNjeOYG5Oym+zeJIgrSMI6LQZUMqtzMbi8m8Rs+7") +}] +blend_shape_mode = 0 + +[sub_resource type="Skin" id="Skin_0e8bb"] +resource_name = "Skin" +bind_count = 3 +bind/0/name = &"Bone.001" +bind/0/bone = -1 +bind/0/pose = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +bind/1/name = &"Bone.002" +bind/1/bone = -1 +bind/1/pose = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) +bind/2/name = &"Root" +bind/2/bone = -1 +bind/2/pose = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) + +[sub_resource type="SphereShape3D" id="SphereShape3D_6ql8e"] +radius = 1.006356 + +[node name="Character3D" type="Character3D" unique_id=2074250287 node_paths=PackedStringArray("skeleton")] +skeleton = NodePath("SM_TestAgain/Armature/Skeleton3D") +cap_material = ExtResource("1_vawi8") +collision_layer = 32 +collision_mask = 4112 + +[node name="SM_TestAgain" type="Node3D" parent="." unique_id=425766762] + +[node name="Armature" type="Node3D" parent="SM_TestAgain" unique_id=1499091523] + +[node name="Skeleton3D" type="Skeleton3D" parent="SM_TestAgain/Armature" unique_id=397066354] +bones/0/name = "Bone.001" +bones/0/parent = -1 +bones/0/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +bones/0/enabled = true +bones/0/position = Vector3(0, 0, 0) +bones/0/rotation = Quaternion(0, 0, 0, 1) +bones/0/scale = Vector3(1, 1, 1) +bones/1/name = "Bone.002" +bones/1/parent = 0 +bones/1/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +bones/1/enabled = true +bones/1/position = Vector3(0, 1, 0) +bones/1/rotation = Quaternion(0, 0, 0, 1) +bones/1/scale = Vector3(1, 1, 1) +bones/2/name = "Root" +bones/2/parent = -1 +bones/2/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +bones/2/enabled = true +bones/2/position = Vector3(0, 0, 0) +bones/2/rotation = Quaternion(0, 0, 0, 1) +bones/2/scale = Vector3(1, 1, 1) + +[node name="Icosphere" type="MeshInstance3D" parent="SM_TestAgain/Armature/Skeleton3D" unique_id=1811468908] +mesh = SubResource("ArrayMesh_l2io6") +skin = SubResource("Skin_0e8bb") +skeleton = NodePath("..") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1099568448] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +shape = SubResource("SphereShape3D_6ql8e") +debug_color = Color(0.3019608, 1, 0, 0.41960785) diff --git a/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg new file mode 100644 index 0000000..fe4dbf5 --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import new file mode 100644 index 0000000..4701111 --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopLeft.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btc01wc11tiid" +path="res://.godot/imported/GuiResizerTopLeft.svg-eb563f557424c74239e878a1213a5bf4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/GuiResizerTopLeft.svg" +dest_files=["res://.godot/imported/GuiResizerTopLeft.svg-eb563f557424c74239e878a1213a5bf4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/GuiResizerTopRight.svg b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg new file mode 100644 index 0000000..dd00953 --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import new file mode 100644 index 0000000..daaa31a --- /dev/null +++ b/addons/anthonyec.camera_preview/GuiResizerTopRight.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://04l05jxuyt7k" +path="res://.godot/imported/GuiResizerTopRight.svg-cc1dc8556d51357c5eb0b01d09d8f049.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/GuiResizerTopRight.svg" +dest_files=["res://.godot/imported/GuiResizerTopRight.svg-cc1dc8556d51357c5eb0b01d09d8f049.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/Pin.svg b/addons/anthonyec.camera_preview/Pin.svg new file mode 100644 index 0000000..8e5935c --- /dev/null +++ b/addons/anthonyec.camera_preview/Pin.svg @@ -0,0 +1 @@ + diff --git a/addons/anthonyec.camera_preview/Pin.svg.import b/addons/anthonyec.camera_preview/Pin.svg.import new file mode 100644 index 0000000..1d9a07b --- /dev/null +++ b/addons/anthonyec.camera_preview/Pin.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://do6d60od41vmg" +path="res://.godot/imported/Pin.svg-83b09f5c00a829c5d8b136bf5bae65bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/anthonyec.camera_preview/Pin.svg" +dest_files=["res://.godot/imported/Pin.svg-83b09f5c00a829c5d8b136bf5bae65bc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=2.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/anthonyec.camera_preview/plugin.cfg b/addons/anthonyec.camera_preview/plugin.cfg new file mode 100644 index 0000000..4ad0d4c --- /dev/null +++ b/addons/anthonyec.camera_preview/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Little Camera Preview" +description="Shows a picture-in-picture preview of the selected 2D or 3D camera" +author="Anthony Cossins" +version="1.3" +script="plugin.gd" diff --git a/addons/anthonyec.camera_preview/plugin.gd b/addons/anthonyec.camera_preview/plugin.gd new file mode 100644 index 0000000..3492b80 --- /dev/null +++ b/addons/anthonyec.camera_preview/plugin.gd @@ -0,0 +1,87 @@ +@tool +extends EditorPlugin + +const preview_scene = preload("res://addons/anthonyec.camera_preview/preview.tscn") + +var preview: CameraPreview +var current_main_screen_name: String + +func _enter_tree() -> void: + main_screen_changed.connect(_on_main_screen_changed) + EditorInterface.get_selection().selection_changed.connect(_on_editor_selection_changed) + + # Initialise preview panel and add to main screen. + preview = preview_scene.instantiate() as CameraPreview + preview.request_hide() + + var main_screen: Control = EditorInterface.get_editor_main_screen() as Control + main_screen.add_child(preview) + +func _exit_tree() -> void: + if preview: + preview.queue_free() + +func _ready() -> void: + # TODO: Currently there is no API to get the main screen name without + # listening to the `EditorPlugin.main_screen_changed` signal: + # https://github.com/godotengine/godot-proposals/issues/2081 + EditorInterface.set_main_screen_editor("Script") + EditorInterface.set_main_screen_editor("3D") + +func _on_main_screen_changed(screen_name: String) -> void: + current_main_screen_name = screen_name + + # TODO: Bit of a hack to prevent pinned staying between view changes on the same scene. + preview.unlink_camera() + _on_editor_selection_changed() + +func _on_editor_selection_changed() -> void: + if not is_main_screen_viewport(): + # This hides the preview "container" and not the preview itself, allowing + # any locked previews to remain visible once switching back to 3D tab. + preview.visible = false + return + + preview.visible = true + + var selected_nodes: Array[Node] = EditorInterface.get_selection().get_selected_nodes() + + var selected_camera_3d: Camera3D = find_camera_3d_or_null(selected_nodes) + var selected_camera_2d: Camera2D = find_camera_2d_or_null(selected_nodes) + + if selected_camera_3d and current_main_screen_name == "3D": + preview.link_with_camera_3d(selected_camera_3d) + preview.request_show() + + elif selected_camera_2d and current_main_screen_name == "2D": + preview.link_with_camera_2d(selected_camera_2d) + preview.request_show() + + else: + preview.request_hide() + +func is_main_screen_viewport() -> bool: + return current_main_screen_name == "3D" or current_main_screen_name == "2D" + +func find_camera_3d_or_null(nodes: Array[Node]) -> Camera3D: + var camera: Camera3D + + for node in nodes: + if node is Camera3D: + camera = node as Camera3D + break + + return camera + +func find_camera_2d_or_null(nodes: Array[Node]) -> Camera2D: + var camera: Camera2D + + for node in nodes: + if node is Camera2D: + camera = node as Camera2D + break + + return camera + +func _on_selected_camera_3d_tree_exiting() -> void: + preview.unlink_camera() diff --git a/addons/anthonyec.camera_preview/plugin.gd.uid b/addons/anthonyec.camera_preview/plugin.gd.uid new file mode 100644 index 0000000..09dfd15 --- /dev/null +++ b/addons/anthonyec.camera_preview/plugin.gd.uid @@ -0,0 +1 @@ +uid://dgq70e0pxlh61 diff --git a/addons/anthonyec.camera_preview/preview.gd b/addons/anthonyec.camera_preview/preview.gd new file mode 100644 index 0000000..35f5d3b --- /dev/null +++ b/addons/anthonyec.camera_preview/preview.gd @@ -0,0 +1,406 @@ +@tool + +class_name CameraPreview +extends Control + +enum CameraType { + CAMERA_2D, + CAMERA_3D +} + +enum PinnedPosition { + LEFT, + RIGHT, +} + +enum InteractionState { + NONE, + RESIZE, + DRAG, + + # Animation is split into 2 separate states so that the tween is only + # invoked once in the "start" state. + START_ANIMATE_INTO_PLACE, + ANIMATE_INTO_PLACE, +} + +const margin_3d: Vector2 = Vector2(10, 10) +const margin_2d: Vector2 = Vector2(20, 15) +const panel_margin: float = 2 +const min_panel_size: float = 250 + +@onready var panel: Panel = %Panel +@onready var placeholder: Panel = %Placeholder +@onready var preview_camera_3d: Camera3D = %Camera3D +@onready var preview_camera_2d: Camera2D = %Camera2D +@onready var sub_viewport: SubViewport = %SubViewport +@onready var sub_viewport_text_rect: TextureRect = %TextureRect +@onready var resize_left_handle: Button = %ResizeLeftHandle +@onready var resize_right_handle: Button = %ResizeRightHandle +@onready var lock_button: Button = %LockButton +@onready var gradient: TextureRect = %Gradient +@onready var viewport_margin_container: MarginContainer = %ViewportMarginContainer +@onready var overlay_margin_container: MarginContainer = %OverlayMarginContainer +@onready var overlay_container: Control = %OverlayContainer + +var _camera_type: CameraType = CameraType.CAMERA_3D +var _pinned_position: PinnedPosition = PinnedPosition.RIGHT +var _editor_scale: float = EditorInterface.get_editor_scale() +var _is_locked: bool +var _show_controls: bool +var _selected_camera_3d: Camera3D +var _selected_camera_2d: Camera2D + +var _state: InteractionState = InteractionState.NONE +var _initial_mouse_position: Vector2 +var _initial_panel_size: Vector2 +var _initial_panel_position: Vector2 + +func _ready() -> void: + # Set initial width. + panel.size.x = min_panel_size * _editor_scale + + # Setting texture to viewport in code instead of directly in the editor + # because otherwise an error "Path to node is invalid: Panel/SubViewport" + # on first load. This is harmless but doesn't look great. + # + # This is a known issue: + # https://github.com/godotengine/godot/issues/27790#issuecomment-499740220 + sub_viewport_text_rect.texture = sub_viewport.get_texture() + + # From what I can tell there's something wrong with how an editor theme + # scales when used within a plugin. It seems to ignore the screen scale. + # For instance, a 30x30px button will appear tiny on a retina display. + # + # Someone else had the issue with no luck: + # https://forum.godotengine.org/t/how-to-scale-plugin-controls-to-look-the-same-in-4k-as-1080p/36151 + # + # And seems Dialogic also scales buttons manually: + # https://github.com/dialogic-godot/dialogic/blob/master/addons/dialogic/Editor/Common/sidebar.gd#L25C6-L38 + # + # Maybe I don't know the correct way to do it, so for now the workaround is + # to set the correct size in code using screen scale. + var button_size: Vector2 = Vector2(30, 30) * _editor_scale + var margin_size: int = int(panel_margin * _editor_scale) + + resize_left_handle.size = button_size + resize_left_handle.pivot_offset = Vector2(0, 0) * _editor_scale + + resize_right_handle.size = button_size + resize_right_handle.pivot_offset = Vector2(30, 30) * _editor_scale + + lock_button.size = button_size + lock_button.pivot_offset = Vector2(0, 30) * _editor_scale + + viewport_margin_container.add_theme_constant_override("margin_left", margin_size) + viewport_margin_container.add_theme_constant_override("margin_top", margin_size) + viewport_margin_container.add_theme_constant_override("margin_right", margin_size) + viewport_margin_container.add_theme_constant_override("margin_bottom", margin_size) + + overlay_margin_container.add_theme_constant_override("margin_left", margin_size) + overlay_margin_container.add_theme_constant_override("margin_top", margin_size) + overlay_margin_container.add_theme_constant_override("margin_right", margin_size) + overlay_margin_container.add_theme_constant_override("margin_bottom", margin_size) + + # Parent node overlay size is not available on first ready, need to wait a + # frame for it to be drawn. + await get_tree().process_frame + + # Anchors are set in code because setting them in the editor UI doesn't take + # editor scale into account. + resize_left_handle.position = Vector2(0, 0) + resize_right_handle.set_anchors_preset(Control.PRESET_TOP_LEFT) + + resize_right_handle.position = Vector2(overlay_container.size.x - button_size.x, 0) + resize_right_handle.set_anchors_preset(Control.PRESET_TOP_RIGHT) + + lock_button.position = Vector2(0, overlay_container.size.y - button_size.y) + lock_button.set_anchors_preset(Control.PRESET_BOTTOM_LEFT) + +func _process(_delta: float) -> void: + if not visible: return + + match _state: + InteractionState.NONE: + panel.size = get_clamped_size(panel.size) + panel.position = get_pinned_position(_pinned_position) + + InteractionState.RESIZE: + var delta_mouse_position: Vector2 = _initial_mouse_position - get_global_mouse_position() + var resized_size: Vector2 = panel.size + + if _pinned_position == PinnedPosition.LEFT: + resized_size = _initial_panel_size - delta_mouse_position + + if _pinned_position == PinnedPosition.RIGHT: + resized_size = _initial_panel_size + delta_mouse_position + + panel.size = get_clamped_size(resized_size) + panel.position = get_pinned_position(_pinned_position) + + InteractionState.DRAG: + placeholder.size = panel.size + + var global_mouse_position: Vector2 = get_global_mouse_position() + var offset: Vector2 = _initial_mouse_position - _initial_panel_position + + panel.global_position = global_mouse_position - offset + + if global_mouse_position.x < global_position.x + size.x / 2: + _pinned_position = PinnedPosition.LEFT + else: + _pinned_position = PinnedPosition.RIGHT + + placeholder.position = get_pinned_position(_pinned_position) + + InteractionState.START_ANIMATE_INTO_PLACE: + var final_position: Vector2 = get_pinned_position(_pinned_position) + var tween: Tween = get_tree().create_tween() + + tween.set_ease(Tween.EASE_OUT) + tween.set_trans(Tween.TRANS_CUBIC) + tween.tween_property(panel, "position", final_position, 0.3) + + tween.finished.connect(func() -> void: + panel.position = final_position + _state = InteractionState.NONE + ) + + _state = InteractionState.ANIMATE_INTO_PLACE + + # I couldn't get `mouse_entered` and `mouse_exited` events to work + # nicely, so I use rect method instead. Plus using this method it's easy to + # grow the hit area size. + var panel_hover_rect: Rect2 = Rect2(panel.global_position, panel.size) + panel_hover_rect = panel_hover_rect.grow(40) + + var mouse_position: Vector2 = get_global_mouse_position() + + _show_controls = _state != InteractionState.NONE or panel_hover_rect.has_point(mouse_position) + + # UI visibility. + resize_left_handle.visible = _show_controls and _pinned_position == PinnedPosition.RIGHT + resize_right_handle.visible = _show_controls and _pinned_position == PinnedPosition.LEFT + lock_button.visible = _show_controls or _is_locked + placeholder.visible = _state == InteractionState.DRAG or _state == InteractionState.ANIMATE_INTO_PLACE + gradient.visible = _show_controls + + # Sync camera settings. + if _camera_type == CameraType.CAMERA_3D and _selected_camera_3d: + sub_viewport.size = panel.size + + # Sync position and rotation without using a `RemoteTransform` node + # because if you save a camera as a scene, the remote transform node will + # be stored within the scene. Also it's harder to keep the remote + # transform `remote_path` up-to-date with scene changes, which causes + # many errors. + preview_camera_3d.global_position = _selected_camera_3d.global_position + preview_camera_3d.global_rotation = _selected_camera_3d.global_rotation + + preview_camera_3d.fov = _selected_camera_3d.fov + preview_camera_3d.projection = _selected_camera_3d.projection + preview_camera_3d.size = _selected_camera_3d.size + preview_camera_3d.cull_mask = _selected_camera_3d.cull_mask + preview_camera_3d.keep_aspect = _selected_camera_3d.keep_aspect + preview_camera_3d.near = _selected_camera_3d.near + preview_camera_3d.far = _selected_camera_3d.far + preview_camera_3d.h_offset = _selected_camera_3d.h_offset + preview_camera_3d.v_offset = _selected_camera_3d.v_offset + preview_camera_3d.attributes = _selected_camera_3d.attributes + preview_camera_3d.environment = _selected_camera_3d.environment + + if _camera_type == CameraType.CAMERA_2D and _selected_camera_2d: + var project_window_size: Vector2 = get_project_window_size() + var ratio: float = project_window_size.x / panel.size.x + + # TODO: Is there a better way to fix this? + # The camera border is visible sometimes due to pixel rounding. + # Subtract 1px from right and bottom to hide this. + var hide_camera_border_fix: Vector2 = Vector2(1, 1) + + sub_viewport.size = panel.size + sub_viewport.size_2d_override = (panel.size - hide_camera_border_fix) * ratio + sub_viewport.size_2d_override_stretch = true + + preview_camera_2d.global_position = _selected_camera_2d.global_position + preview_camera_2d.global_rotation = _selected_camera_2d.global_rotation + + preview_camera_2d.offset = _selected_camera_2d.offset + preview_camera_2d.zoom = _selected_camera_2d.zoom + preview_camera_2d.ignore_rotation = _selected_camera_2d.ignore_rotation + preview_camera_2d.anchor_mode = _selected_camera_2d.anchor_mode + preview_camera_2d.limit_left = _selected_camera_2d.limit_left + preview_camera_2d.limit_right = _selected_camera_2d.limit_right + preview_camera_2d.limit_top = _selected_camera_2d.limit_top + preview_camera_2d.limit_bottom = _selected_camera_2d.limit_bottom + +func link_with_camera_3d(camera_3d: Camera3D) -> void: + # TODO: Camera may not be ready since this method is called in `_enter_tree` + # in the plugin because of a workaround for: + # https://github.com/godotengine/godot-proposals/issues/2081 + if not preview_camera_3d: + return request_hide() + + var is_different_camera: bool = camera_3d != preview_camera_3d + + # TODO: A bit messy. + if is_different_camera: + if preview_camera_3d.tree_exiting.is_connected(unlink_camera): + preview_camera_3d.tree_exiting.disconnect(unlink_camera) + + if not camera_3d.tree_exiting.is_connected(unlink_camera): + camera_3d.tree_exiting.connect(unlink_camera) + + sub_viewport.disable_3d = false + sub_viewport.world_3d = camera_3d.get_world_3d() + + _selected_camera_3d = camera_3d + _camera_type = CameraType.CAMERA_3D + +func link_with_camera_2d(camera_2d: Camera2D) -> void: + if not preview_camera_2d: + return request_hide() + + var is_different_camera: bool = camera_2d != preview_camera_2d + + # TODO: A bit messy. + if is_different_camera: + if preview_camera_2d.tree_exiting.is_connected(unlink_camera): + preview_camera_2d.tree_exiting.disconnect(unlink_camera) + + if not camera_2d.tree_exiting.is_connected(unlink_camera): + camera_2d.tree_exiting.connect(unlink_camera) + + sub_viewport.disable_3d = true + sub_viewport.world_2d = camera_2d.get_world_2d() + + _selected_camera_2d = camera_2d + _camera_type = CameraType.CAMERA_2D + +func unlink_camera() -> void: + if _selected_camera_3d: + _selected_camera_3d = null + + if _selected_camera_2d: + _selected_camera_2d = null + + _is_locked = false + lock_button.button_pressed = false + +func request_hide() -> void: + if _is_locked: return + visible = false + +func request_show() -> void: + visible = true + +func get_pinned_position(pinned_position: PinnedPosition) -> Vector2: + var margin: Vector2 = margin_3d * _editor_scale + + if _camera_type == CameraType.CAMERA_2D: + margin = margin_2d * _editor_scale + + match pinned_position: + PinnedPosition.LEFT: + return Vector2.ZERO - Vector2(0, panel.size.y) - Vector2(-margin.x, margin.y) + PinnedPosition.RIGHT: + return size - panel.size - margin + _: + assert(false, "Unknown pinned position %s" % str(pinned_position)) + + return Vector2.ZERO + +func get_clamped_size(desired_size: Vector2) -> Vector2: + var viewport_ratio: float = get_project_window_ratio() + var editor_viewport_size: Vector2 = get_editor_viewport_size() + + var max_bounds: Vector2 = Vector2( + editor_viewport_size.x * 0.6, + editor_viewport_size.y * 0.8 + ) + + var clamped_size: Vector2 = desired_size + + # Apply aspect ratio. + clamped_size = Vector2(clamped_size.x, clamped_size.x * viewport_ratio) + + # Clamp the max size while respecting the aspect ratio. + if clamped_size.y >= max_bounds.y: + clamped_size.x = max_bounds.y / viewport_ratio + clamped_size.y = max_bounds.y + + if clamped_size.x >= max_bounds.x: + clamped_size.x = max_bounds.x + clamped_size.y = max_bounds.x * viewport_ratio + + # Clamp the min size based on if it's portrait or landscape. Portrait min + # size should be based on it's height. Landscape min size is based on it's + # width instead. Applying min width to a portrait size would make it too big. + var is_portrait: bool = viewport_ratio > 1 + + if is_portrait and clamped_size.y <= min_panel_size * _editor_scale: + clamped_size.x = min_panel_size / viewport_ratio + clamped_size.y = min_panel_size + clamped_size = clamped_size * _editor_scale + + if not is_portrait and clamped_size.x <= min_panel_size * _editor_scale: + clamped_size.x = min_panel_size + clamped_size.y = min_panel_size * viewport_ratio + clamped_size = clamped_size * _editor_scale + + # Round down to avoid sub-pixel artifacts, mainly seen around the margins. + return clamped_size.floor() + +func get_project_window_size() -> Vector2: + var window_width: float = float(ProjectSettings.get_setting("display/window/size/viewport_width")) + var window_height: float = float(ProjectSettings.get_setting("display/window/size/viewport_height")) + + return Vector2(window_width, window_height) + +func get_project_window_ratio() -> float: + var project_window_size: Vector2 = get_project_window_size() + + return project_window_size.y / project_window_size.x + +func get_editor_viewport_size() -> Vector2: + var fallback_size: Vector2 = EditorInterface.get_editor_main_screen().size + + # There isn't an API for getting the viewport node. Instead it has to be + # found by checking the parent's parent of the subviewport and find + # the correct node based on name and class. + var editor_sub_viewport_3d: SubViewport = EditorInterface.get_editor_viewport_3d(0) + var editor_viewport_container: Control = editor_sub_viewport_3d.get_parent().get_parent().get_parent() as Control + + # Early return in case editor tree structure has changed. + if not editor_viewport_container: + return fallback_size + + if editor_viewport_container.get_class() != "Node3DEditorViewportContainer": + return fallback_size + + return editor_viewport_container.size + +func _on_resize_handle_button_down() -> void: + if _state != InteractionState.NONE: return + + _state = InteractionState.RESIZE + _initial_mouse_position = get_global_mouse_position() + _initial_panel_size = panel.size + +func _on_resize_handle_button_up() -> void: + _state = InteractionState.NONE + +func _on_drag_handle_button_down() -> void: + if _state != InteractionState.NONE: return + + _state = InteractionState.DRAG + _initial_mouse_position = get_global_mouse_position() + _initial_panel_position = panel.global_position + +func _on_drag_handle_button_up() -> void: + if _state != InteractionState.DRAG: return + + _state = InteractionState.START_ANIMATE_INTO_PLACE + +func _on_lock_button_pressed() -> void: + _is_locked = !_is_locked diff --git a/addons/anthonyec.camera_preview/preview.gd.uid b/addons/anthonyec.camera_preview/preview.gd.uid new file mode 100644 index 0000000..4e10d00 --- /dev/null +++ b/addons/anthonyec.camera_preview/preview.gd.uid @@ -0,0 +1 @@ +uid://56ntugxskwub diff --git a/addons/anthonyec.camera_preview/preview.tscn b/addons/anthonyec.camera_preview/preview.tscn new file mode 100644 index 0000000..5b80644 --- /dev/null +++ b/addons/anthonyec.camera_preview/preview.tscn @@ -0,0 +1,201 @@ +[gd_scene load_steps=8 format=3 uid="uid://xybmfvufjuv"] + +[ext_resource type="Script" uid="uid://56ntugxskwub" path="res://addons/anthonyec.camera_preview/preview.gd" id="1_6b32r"] +[ext_resource type="Texture2D" uid="uid://do6d60od41vmg" path="res://addons/anthonyec.camera_preview/Pin.svg" id="2_p0pa8"] +[ext_resource type="Texture2D" uid="uid://btc01wc11tiid" path="res://addons/anthonyec.camera_preview/GuiResizerTopLeft.svg" id="2_t64ej"] +[ext_resource type="Texture2D" uid="uid://04l05jxuyt7k" path="res://addons/anthonyec.camera_preview/GuiResizerTopRight.svg" id="3_6yuab"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_m22c1"] + +[sub_resource type="Gradient" id="Gradient_11p6r"] +offsets = PackedFloat32Array(0, 0.3, 0.6, 1) +colors = PackedColorArray(0, 0, 0, 0.235294, 0, 0, 0, 0.0784314, 0, 0, 0, 0.0784314, 0, 0, 0, 0.235294) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_4dkve"] +gradient = SubResource("Gradient_11p6r") +width = 256 +height = 256 +fill_to = Vector2(2.08165e-12, 1) + +[node name="Preview" type="Control"] +z_index = 999 +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_6b32r") + +[node name="Placeholder" type="Panel" parent="."] +unique_name_in_owner = true +visible = false +modulate = Color(1, 1, 1, 0.705882) +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -40.0 +offset_top = -40.0 +offset_right = 410.0 +offset_bottom = 410.0 +grow_horizontal = 0 +grow_vertical = 0 + +[node name="Panel" type="Panel" parent="."] +unique_name_in_owner = true +clip_contents = true +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -520.0 +offset_top = -301.0 +offset_right = -20.0 +offset_bottom = -20.0 +grow_horizontal = 0 +grow_vertical = 0 +pivot_offset = Vector2(450, 300) + +[node name="SubViewport" type="SubViewport" parent="Panel"] +unique_name_in_owner = true +handle_input_locally = false +gui_disable_input = true +size_2d_override_stretch = true + +[node name="Camera3D" type="Camera3D" parent="Panel/SubViewport"] +unique_name_in_owner = true +current = true + +[node name="Camera2D" type="Camera2D" parent="Panel/SubViewport"] +unique_name_in_owner = true +ignore_rotation = false + +[node name="ViewportMarginContainer" type="MarginContainer" parent="Panel"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="TextureRect" type="TextureRect" parent="Panel/ViewportMarginContainer"] +unique_name_in_owner = true +layout_mode = 2 +texture = SubResource("ViewportTexture_m22c1") +expand_mode = 1 + +[node name="Gradient" type="TextureRect" parent="Panel"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +texture = SubResource("GradientTexture2D_4dkve") + +[node name="OverlayMarginContainer" type="MarginContainer" parent="Panel"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="OverlayContainer" type="Control" parent="Panel/OverlayMarginContainer"] +unique_name_in_owner = true +clip_contents = true +layout_mode = 2 +mouse_filter = 2 + +[node name="DragHandle" type="Button" parent="Panel/OverlayMarginContainer/OverlayContainer"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +focus_mode = 0 +flat = true + +[node name="ResizeLeftHandle" type="Button" parent="Panel/OverlayMarginContainer/OverlayContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +offset_right = 60.0 +offset_bottom = 60.0 +size_flags_horizontal = 0 +size_flags_vertical = 0 +mouse_default_cursor_shape = 12 +icon = ExtResource("2_t64ej") +flat = true +icon_alignment = 1 +expand_icon = true + +[node name="ResizeRightHandle" type="Button" parent="Panel/OverlayMarginContainer/OverlayContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -60.0 +offset_bottom = 60.0 +grow_horizontal = 0 +pivot_offset = Vector2(60, 60) +size_flags_horizontal = 8 +size_flags_vertical = 0 +mouse_default_cursor_shape = 11 +icon = ExtResource("3_6yuab") +flat = true +icon_alignment = 1 +expand_icon = true + +[node name="LockButton" type="Button" parent="Panel/OverlayMarginContainer/OverlayContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_top = -60.0 +offset_right = 60.0 +grow_vertical = 0 +pivot_offset = Vector2(0, 60) +size_flags_horizontal = 0 +size_flags_vertical = 8 +tooltip_text = "Always Show Preview" +toggle_mode = true +icon = ExtResource("2_p0pa8") +flat = true +icon_alignment = 1 +expand_icon = true + +[connection signal="button_down" from="Panel/OverlayMarginContainer/OverlayContainer/DragHandle" to="." method="_on_drag_handle_button_down"] +[connection signal="button_up" from="Panel/OverlayMarginContainer/OverlayContainer/DragHandle" to="." method="_on_drag_handle_button_up"] +[connection signal="renamed" from="Panel/OverlayMarginContainer/OverlayContainer/DragHandle" to="." method="_on_drag_handle_renamed"] +[connection signal="button_down" from="Panel/OverlayMarginContainer/OverlayContainer/ResizeLeftHandle" to="." method="_on_resize_handle_button_down"] +[connection signal="button_up" from="Panel/OverlayMarginContainer/OverlayContainer/ResizeLeftHandle" to="." method="_on_resize_handle_button_up"] +[connection signal="button_down" from="Panel/OverlayMarginContainer/OverlayContainer/ResizeRightHandle" to="." method="_on_resize_handle_button_down"] +[connection signal="button_up" from="Panel/OverlayMarginContainer/OverlayContainer/ResizeRightHandle" to="." method="_on_resize_handle_button_up"] +[connection signal="pressed" from="Panel/OverlayMarginContainer/OverlayContainer/LockButton" to="." method="_on_lock_button_pressed"] diff --git a/addons/debug_draw_3d/LICENSE b/addons/debug_draw_3d/LICENSE new file mode 100644 index 0000000..8bfc8dd --- /dev/null +++ b/addons/debug_draw_3d/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 DmitriySalnikov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, andor sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/addons/debug_draw_3d/README.md b/addons/debug_draw_3d/README.md new file mode 100644 index 0000000..9c6ce4c --- /dev/null +++ b/addons/debug_draw_3d/README.md @@ -0,0 +1,163 @@ +![icon](/images/icon_3d_128.png) + +# Debug drawing utility for Godot + +This is an add-on for debug drawing in 3D and for some 2D overlays, which is written in `C++` and can be used with `GDScript`, `C++` or `C#`. + +Based on my previous addon, which was developed [only for C#](https://github.com/DmitriySalnikov/godot_debug_draw_cs), and which was inspired by [Zylann's GDScript addon](https://github.com/Zylann/godot_debug_draw) + +## [Documentation](https://dd3d.dmitriysalnikov.ru/docs/) + +## [Godot 3 version](https://github.com/DmitriySalnikov/godot_debug_draw_3d/tree/godot_3) + +## Support me + +Your support adds motivation to develop my public projects. + +Boosty + +USDT-TRC20 + +USDT-TRC20 TEw934PrsffHsAn5M63SoHYRuZo984EF6v + +## Features + +3D: + +* Arrow +* Billboard opaque square +* Box +* Camera Frustum +* Capsule +* Cylinder +* Gizmo +* Grid +* Line +* Line Path +* Line with Arrow +* Plane +* Points +* Position 3D (3 crossing axes) +* Sphere +* 3D Text + +Overlay: + +* Text (with grouping and coloring) + +Precompiled for: + +* Windows +* Linux (built on Ubuntu 22.04) +* macOS (10.15+) +* Android (5.0+) +* iOS +* Web (Firefox is supported by Godot 4.3+) + +This addon supports working with several World3D and different Viewports. [More information](https://dd3d.dmitriysalnikov.ru/docs/?page=md_docs_2SubViewports.html). + +There is also a no depth test mode and other settings that can be changed for each instance. + +This addon supports double-precision builds, for more information, [see the documentation](https://dd3d.dmitriysalnikov.ru/docs/?page=md_docs_2DoublePrecision.html). + +## [Interactive Web Demo](https://dd3d.dmitriysalnikov.ru/demo/) + +[![screenshot_web](/images/screenshot_web.png)](https://dd3d.dmitriysalnikov.ru/demo/) + +## Download + +To download, use the [Godot Asset Library](https://godotengine.org/asset-library/asset/1766) or use one of the stable versions from the [GitHub Releases](https://github.com/DmitriySalnikov/godot_debug_draw_3d/releases) page. + +For versions prior to `1.4.5`, just download one of the `source codes` in the assets. For newer versions, download `debug-draw-3d_[version].zip`. + +### Installation + +* Close editor +* Copy `addons/debug_draw_3d` to your `addons` folder, create it if the folder doesn't exist +* Launch editor + +## Examples + +More examples can be found in the `examples_dd3d/` folder. + +Simple test: + +```gdscript +func _process(delta: float) -> void: + var _time = Time.get_ticks_msec() / 1000.0 + var box_pos = Vector3(0, sin(_time * 4), 0) + var line_begin = Vector3(-1, sin(_time * 4), 0) + var line_end = Vector3(1, cos(_time * 4), 0) + + DebugDraw3D.draw_box(box_pos, Quaternion.IDENTITY, Vector3(1, 2, 1), Color(0, 1, 0)) + DebugDraw3D.draw_line(line_begin, line_end, Color(1, 1, 0)) + DebugDraw2D.set_text("Time", _time) + DebugDraw2D.set_text("Frames drawn", Engine.get_frames_drawn()) + DebugDraw2D.set_text("FPS", Engine.get_frames_per_second()) + DebugDraw2D.set_text("delta", delta) +``` + +![screenshot_1](/images/screenshot_1.png) + +An example of using scoped configs: + +```gdscript +@tool +extends Node3D + +func _ready(): + # Set the base scoped_config. + # Each frame will be reset to these scoped values. + DebugDraw3D.scoped_config().set_thickness(0.1).set_center_brightness(0.6) + +func _process(delta): + # Draw using the base scoped config. + DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE * 2, Color.CORNFLOWER_BLUE) + if true: + # Create a scoped config that will exist until exiting this if. + var _s = DebugDraw3D.new_scoped_config().set_thickness(0).set_center_brightness(0.1) + # Draw with a thickness of 0 + DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE, Color.RED) + # If necessary, the values inside this scope can be changed + # even before each call to draw_*. + _s.set_thickness(0.05) + DebugDraw3D.draw_box(Vector3(1,0,1), Quaternion.IDENTITY, Vector3.ONE * 1, Color.BLUE_VIOLET) +``` + +![screenshot_5](/images/screenshot_5.png) + +> [!TIP] +> +> If you want to use a non-standard Viewport for rendering a 3d scene, then do not forget to specify it in the scoped config! + +## API + +This project has a separate [documentation](https://dd3d.dmitriysalnikov.ru/docs/) page. + +Also, a list of all functions is available in the documentation inside the editor (see `DebugDraw3D` and `DebugDraw2D`). + +![screenshot_4](/images/screenshot_4.png) + +## Known issues and limitations + +The text in the keys and values of a text group cannot contain multi-line strings. + +The entire text overlay can only be placed in one corner. + +[Frustum of Camera3D does not take into account the window size from ProjectSettings](https://github.com/godotengine/godot/issues/70362). + +## Usage Analytics + +This addon collects anonymous statistics on **editor** usage time. The data includes the library version, engine version, operating system, system architecture, and locale. No personally identifiable information is gathered. + +Libraries without **editor** support do not collect statistics in any way. Also, previews running in the editor do not collect any usage statistics. + +You can disable this in the editor settings at: `debug_draw_3d/settings/telemetry_state`. + +## More screenshots + +`DD3DDemo.tscn` in editor +![screenshot_2](/images/screenshot_2.png) + +`DD3DDemo.tscn` in play mode +![screenshot_3](/images/screenshot_3.png) diff --git a/addons/debug_draw_3d/debug_draw_3d.gdextension b/addons/debug_draw_3d/debug_draw_3d.gdextension new file mode 100644 index 0000000..ea0c157 --- /dev/null +++ b/addons/debug_draw_3d/debug_draw_3d.gdextension @@ -0,0 +1,162 @@ +[configuration] + +entry_symbol = "debug_draw_3d_library_init" +compatibility_minimum = "4.4.1" +reloadable = false + +[dependencies] + +; example.x86_64 = { "relative or absolute path to the dependency" : "the path relative to the exported project", } +; ------------------------------------- +; debug + +macos = { } +windows.x86_64 = { } +linux.x86_64 = { } +linux.arm64 = { } + +; by default godot is using threads +web.wasm32.nothreads = {} +web.wasm32 = {} + +android.arm32 = { } +android.arm64 = { } +android.x86_32 = { } +android.x86_64 = { } + +ios = {} + +; ------------------------------------- +; release no debug draw + +macos.template_release = { } +windows.template_release.x86_64 = { } +linux.template_release.x86_64 = { } +linux.template_release.arm64 = { } + +web.template_release.wasm32.nothreads = { } +web.template_release.wasm32 = { } + +android.template_release.arm32 = { } +android.template_release.arm64 = { } +android.template_release.x86_32 = { } +android.template_release.x86_64 = { } + +ios.template_release = {} + +; ------------------------------------- +; release forced debug draw + +macos.template_release.forced_dd3d = { } +windows.template_release.x86_64.forced_dd3d = { } +linux.template_release.x86_64.forced_dd3d = { } +linux.template_release.arm64.forced_dd3d = { } + +web.template_release.wasm32.nothreads.forced_dd3d = { } +web.template_release.wasm32.forced_dd3d = { } + +ios.template_release.forced_dd3d = {} + +[libraries] + +; ------------------------------------- +; debug + +macos = "libs/libdd3d.macos.editor.universal.framework" +windows.x86_64 = "libs/libdd3d.windows.editor.x86_64.dll" +linux.x86_64 = "libs/libdd3d.linux.editor.x86_64.so" +linux.arm64 = "libs/libdd3d.linux.editor.arm64.so" + +web.wasm32.nothreads = "libs/libdd3d.web.template_debug.wasm32.wasm" +web.wasm32 = "libs/libdd3d.web.template_debug.wasm32.threads.wasm" + +android.arm32 = "libs/libdd3d.android.template_debug.arm32.so" +android.arm64 = "libs/libdd3d.android.template_debug.arm64.so" +android.x86_32 = "libs/libdd3d.android.template_debug.x86_32.so" +android.x86_64 = "libs/libdd3d.android.template_debug.x86_64.so" + +ios = "libs/libdd3d.ios.template_debug.universal.dylib" + +; ------------------------------------- +; release no debug draw + +macos.template_release = "libs/libdd3d.macos.template_release.universal.framework" +windows.template_release.x86_64 = "libs/libdd3d.windows.template_release.x86_64.dll" +linux.template_release.x86_64 = "libs/libdd3d.linux.template_release.x86_64.so" +linux.template_release.arm64 = "libs/libdd3d.linux.template_release.arm64.so" + +web.template_release.wasm32.nothreads = "libs/libdd3d.web.template_release.wasm32.wasm" +web.template_release.wasm32 = "libs/libdd3d.web.template_release.wasm32.threads.wasm" + +android.template_release.arm32 = "libs/libdd3d.android.template_release.arm32.so" +android.template_release.arm64 = "libs/libdd3d.android.template_release.arm64.so" +android.template_release.x86_32 = "libs/libdd3d.android.template_release.x86_32.so" +android.template_release.x86_64 = "libs/libdd3d.android.template_release.x86_64.so" + +ios.template_release = "libs/libdd3d.ios.template_release.universal.dylib" + +; ------------------------------------- +; release forced debug draw + +macos.template_release.forced_dd3d = "libs/libdd3d.macos.template_release.universal.enabled.framework" +windows.template_release.x86_64.forced_dd3d = "libs/libdd3d.windows.template_release.x86_64.enabled.dll" +linux.template_release.x86_64.forced_dd3d = "libs/libdd3d.linux.template_release.x86_64.enabled.so" +linux.template_release.arm64.forced_dd3d = "libs/libdd3d.linux.template_release.arm64.enabled.so" + +web.template_release.wasm32.nothreads.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.enabled.wasm" +web.template_release.wasm32.forced_dd3d = "libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm" + +ios.template_release.forced_dd3d = "libs/libdd3d.ios.template_release.universal.enabled.dylib" + +; ------------------------------------- +; DOUBLE PRECISION +; ------------------------------------- + +; ------------------------------------- +; debug + +macos.double = "libs/libdd3d.macos.editor.universal.double.framework" +windows.x86_64.double = "libs/libdd3d.windows.editor.x86_64.double.dll" +linux.x86_64.double = "libs/libdd3d.linux.editor.x86_64.double.so" +linux.arm64.double = "libs/libdd3d.linux.editor.arm64.double.so" + +web.wasm32.nothreads.double = "libs/libdd3d.web.template_debug.wasm32.double.wasm" +web.wasm32.double = "libs/libdd3d.web.template_debug.wasm32.threads.double.wasm" + +android.arm32.double = "libs/libdd3d.android.template_debug.arm32.double.so" +android.arm64.double = "libs/libdd3d.android.template_debug.arm64.double.so" +android.x86_32.double = "libs/libdd3d.android.template_debug.x86_32.double.so" +android.x86_64.double = "libs/libdd3d.android.template_debug.x86_64.double.so" + +ios.double = "libs/libdd3d.ios.template_debug.universal.double.dylib" + +; ------------------------------------- +; release no debug draw + +macos.template_release.double = "libs/libdd3d.macos.template_release.universal.double.framework" +windows.template_release.x86_64.double = "libs/libdd3d.windows.template_release.x86_64.double.dll" +linux.template_release.x86_64.double = "libs/libdd3d.linux.template_release.x86_64.double.so" +linux.template_release.arm64.double = "libs/libdd3d.linux.template_release.arm64.double.so" + +web.template_release.wasm32.nothreads.double = "libs/libdd3d.web.template_release.wasm32.double.wasm" +web.template_release.wasm32.double = "libs/libdd3d.web.template_release.wasm32.threads.double.wasm" + +android.template_release.arm32.double = "libs/libdd3d.android.template_release.arm32.double.so" +android.template_release.arm64.double = "libs/libdd3d.android.template_release.arm64.double.so" +android.template_release.x86_32.double = "libs/libdd3d.android.template_release.x86_32.double.so" +android.template_release.x86_64.double = "libs/libdd3d.android.template_release.x86_64.double.so" + +ios.template_release.double = "libs/libdd3d.ios.template_release.universal.double.dylib" + +; ------------------------------------- +; release forced debug draw + +macos.template_release.forced_dd3d.double = "libs/libdd3d.macos.template_release.universal.enabled.double.framework" +windows.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.windows.template_release.x86_64.enabled.double.dll" +linux.template_release.x86_64.forced_dd3d.double = "libs/libdd3d.linux.template_release.x86_64.enabled.double.so" +linux.template_release.arm64.forced_dd3d.double = "libs/libdd3d.linux.template_release.arm64.enabled.double.so" + +web.template_release.wasm32.nothreads.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.enabled.double.wasm" +web.template_release.wasm32.forced_dd3d.double = "libs/libdd3d.web.template_release.wasm32.threads.enabled.double.wasm" + +ios.template_release.forced_dd3d.double = "libs/libdd3d.ios.template_release.universal.enabled.double.dylib" diff --git a/addons/debug_draw_3d/debug_draw_3d.gdextension.uid b/addons/debug_draw_3d/debug_draw_3d.gdextension.uid new file mode 100644 index 0000000..15da0d3 --- /dev/null +++ b/addons/debug_draw_3d/debug_draw_3d.gdextension.uid @@ -0,0 +1 @@ +uid://svqaxfp5kyrl diff --git a/addons/debug_draw_3d/libs/.gdignore b/addons/debug_draw_3d/libs/.gdignore new file mode 100644 index 0000000..e69de29 diff --git a/addons/debug_draw_3d/libs/.gitignore b/addons/debug_draw_3d/libs/.gitignore new file mode 100644 index 0000000..6ad212f --- /dev/null +++ b/addons/debug_draw_3d/libs/.gitignore @@ -0,0 +1,3 @@ +# Temporary editor files +~*.dll +~*.TMP \ No newline at end of file diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm32.so b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm32.so new file mode 100644 index 0000000..3239358 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm32.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm64.so b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm64.so new file mode 100644 index 0000000..b52c261 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.arm64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_32.so b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_32.so new file mode 100644 index 0000000..ed0ae83 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_32.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_64.so b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_64.so new file mode 100644 index 0000000..231cf9a Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_debug.x86_64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm32.so b/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm32.so new file mode 100644 index 0000000..eb4e812 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm32.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm64.so b/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm64.so new file mode 100644 index 0000000..ee23e80 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_release.arm64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_32.so b/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_32.so new file mode 100644 index 0000000..8bc3e64 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_32.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_64.so b/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_64.so new file mode 100644 index 0000000..cf86894 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.android.template_release.x86_64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.ios.template_debug.universal.dylib b/addons/debug_draw_3d/libs/libdd3d.ios.template_debug.universal.dylib new file mode 100644 index 0000000..96f9b4b Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.ios.template_debug.universal.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.dylib b/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.dylib new file mode 100644 index 0000000..8145a35 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.enabled.dylib b/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.enabled.dylib new file mode 100644 index 0000000..63eb961 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.ios.template_release.universal.enabled.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.editor.arm64.so b/addons/debug_draw_3d/libs/libdd3d.linux.editor.arm64.so new file mode 100644 index 0000000..682182c Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.editor.arm64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.editor.x86_64.so b/addons/debug_draw_3d/libs/libdd3d.linux.editor.x86_64.so new file mode 100644 index 0000000..bce1492 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.editor.x86_64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.enabled.so b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.enabled.so new file mode 100644 index 0000000..3450918 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.enabled.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.so b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.so new file mode 100644 index 0000000..bd3c935 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.arm64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.enabled.so b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.enabled.so new file mode 100644 index 0000000..bb1bd8c Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.enabled.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.so b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.so new file mode 100644 index 0000000..0f66f8b Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.linux.template_release.x86_64.so differ diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/Resources/Info.plist b/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/Resources/Info.plist new file mode 100644 index 0000000..cf1d97d --- /dev/null +++ b/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/Resources/Info.plist @@ -0,0 +1,37 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + libdd3d.macos.editor.universal.dylib + CFBundleName + Debug Draw 3D + CFBundleDisplayName + Debug Draw 3D + CFBundleIdentifier + ru.dmitriysalnikov.dd3d + NSHumanReadableCopyright + Copyright (c) Dmitriy Salnikov. + CFBundleVersion + 1.7.3 + CFBundleShortVersionString + 1.7.3 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + macosx + LSMinimumSystemVersion + 10.14 + CFBundleSupportedPlatforms + + MacOSX + + + + \ No newline at end of file diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/libdd3d.macos.editor.universal.dylib b/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/libdd3d.macos.editor.universal.dylib new file mode 100644 index 0000000..148a2f3 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.macos.editor.universal.framework/libdd3d.macos.editor.universal.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/Resources/Info.plist b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/Resources/Info.plist new file mode 100644 index 0000000..536e25e --- /dev/null +++ b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/Resources/Info.plist @@ -0,0 +1,37 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + libdd3d.macos.template_release.universal.enabled.dylib + CFBundleName + Debug Draw 3D + CFBundleDisplayName + Debug Draw 3D + CFBundleIdentifier + ru.dmitriysalnikov.dd3d + NSHumanReadableCopyright + Copyright (c) Dmitriy Salnikov. + CFBundleVersion + 1.7.3 + CFBundleShortVersionString + 1.7.3 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + macosx + LSMinimumSystemVersion + 10.14 + CFBundleSupportedPlatforms + + MacOSX + + + + \ No newline at end of file diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/libdd3d.macos.template_release.universal.enabled.dylib b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/libdd3d.macos.template_release.universal.enabled.dylib new file mode 100644 index 0000000..b9ac1d5 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.enabled.framework/libdd3d.macos.template_release.universal.enabled.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/Resources/Info.plist b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/Resources/Info.plist new file mode 100644 index 0000000..57716eb --- /dev/null +++ b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/Resources/Info.plist @@ -0,0 +1,37 @@ + + + + + CFBundleInfoDictionaryVersion + 6.0 + CFBundleDevelopmentRegion + en + CFBundleExecutable + libdd3d.macos.template_release.universal.dylib + CFBundleName + Debug Draw 3D + CFBundleDisplayName + Debug Draw 3D + CFBundleIdentifier + ru.dmitriysalnikov.dd3d + NSHumanReadableCopyright + Copyright (c) Dmitriy Salnikov. + CFBundleVersion + 1.7.3 + CFBundleShortVersionString + 1.7.3 + CFBundlePackageType + FMWK + CSResourcesFileMapped + + DTPlatformName + macosx + LSMinimumSystemVersion + 10.14 + CFBundleSupportedPlatforms + + MacOSX + + + + \ No newline at end of file diff --git a/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/libdd3d.macos.template_release.universal.dylib b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/libdd3d.macos.template_release.universal.dylib new file mode 100644 index 0000000..f53c5be Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.macos.template_release.universal.framework/libdd3d.macos.template_release.universal.dylib differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.threads.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.threads.wasm new file mode 100644 index 0000000..597645b Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.threads.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.wasm new file mode 100644 index 0000000..520a06e Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_debug.wasm32.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.enabled.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.enabled.wasm new file mode 100644 index 0000000..9710164 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.enabled.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm new file mode 100644 index 0000000..5ac780c Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.enabled.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.wasm new file mode 100644 index 0000000..ec8eadc Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.threads.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.wasm b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.wasm new file mode 100644 index 0000000..593990b Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.web.template_release.wasm32.wasm differ diff --git a/addons/debug_draw_3d/libs/libdd3d.windows.editor.x86_64.dll b/addons/debug_draw_3d/libs/libdd3d.windows.editor.x86_64.dll new file mode 100644 index 0000000..9abcf5d Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.windows.editor.x86_64.dll differ diff --git a/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.dll b/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.dll new file mode 100644 index 0000000..17dc600 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.dll differ diff --git a/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.enabled.dll b/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.enabled.dll new file mode 100644 index 0000000..ee21ae1 Binary files /dev/null and b/addons/debug_draw_3d/libs/libdd3d.windows.template_release.x86_64.enabled.dll differ diff --git a/addons/debug_draw_3d/native_api/cpp/dd3d_cpp_api.hpp b/addons/debug_draw_3d/native_api/cpp/dd3d_cpp_api.hpp new file mode 100644 index 0000000..bf83474 --- /dev/null +++ b/addons/debug_draw_3d/native_api/cpp/dd3d_cpp_api.hpp @@ -0,0 +1,2619 @@ +#pragma once + +// This file is generated! +// +// To create new instances of Ref, where T is the DD3D class, use std::make_shared, e.g.: +// auto cfg = std::make_shared(); +// +// Functions with strings and arrays also have an additional "_c" version of functions for native arrays. +// The "_c" version only accepts `utf8` strings. +// +// Define DD3D_ENABLE_MISMATCH_CHECKS to enable signature mismatch checking +// +// Define FORCED_DD3D to ignore the lack of DEBUG_ENABLED. + +//#define DD3D_ENABLE_MISMATCH_CHECKS +//#define FORCED_DD3D + +#if defined(DEBUG_ENABLED) || defined(FORCED_DD3D) +#define _DD3D_RUNTIME_CHECK_ENABLED +#endif + +#include + +#if _MSC_VER +__pragma(warning(disable : 4244 26451 26495)); +#endif +#include +#include +#include +#include +#include +#include +#include +#if _MSC_VER +__pragma(warning(default : 4244 26451 26495)); +#endif + +#ifndef ZoneScoped +#define _NoProfiler +#define ZoneScoped +#endif + + +#ifdef DD3D_ENABLE_MISMATCH_CHECKS +#include +#include +#include +#endif + +namespace DD3DShared { + +#ifdef DD3D_ENABLE_MISMATCH_CHECKS +template +struct FunctionSignature; + +template +struct FunctionSignature { + static godot::String get() { + std::ostringstream oss; + oss << typeid(R).name() << " ("; + ((oss << getTypeName() << ", "), ...); + return godot::String(oss.str().c_str()).trim_suffix(", ") + ")"; + } + +private: + template + static std::string getTypeName() { + std::ostringstream oss; + if constexpr (std::is_const::value) { + oss << "const "; + } + if constexpr (std::is_reference::value) { + oss << getTypeName>() << "&"; + } else { + oss << typeid(U).name(); + } + return oss.str(); + } +}; +#endif + +struct CQuaternion { + real_t x = 0.0; + real_t y = 0.0; + real_t z = 0.0; + real_t w = 1.0; + + _FORCE_INLINE_ operator godot::Quaternion() const { + return godot::Quaternion(x, y, z, w); + } + + CQuaternion(const godot::Quaternion &q) : + x(q.x), y(q.y), z(q.z), w(q.w) { + } +}; + +struct CProjection { + godot::Vector4 columns[4]; + + _FORCE_INLINE_ operator godot::Projection() const { + return godot::Projection(columns[0], columns[1], columns[2], columns[3]); + } + + CProjection(const godot::Projection &p) { + columns[0] = p[0]; + columns[1] = p[1]; + columns[2] = p[2]; + columns[3] = p[3]; + } +}; + +} // namespace DD3DShared + + +struct _DD3D_Loader_ { + static constexpr const char *log_prefix = "[DD3D C++] "; + static constexpr const char *get_funcs_is_double_name = "_get_native_functions_is_double"; + static constexpr const char *get_funcs_hash_name = "_get_native_functions_hash"; + static constexpr const char *get_funcs_name = "_get_native_functions"; + + enum class LoadingResult { + None, + Success, + Failure + }; + + static godot::Object *get_dd3d() { + ZoneScoped; + + static godot::Object *dd3d_c = nullptr; + static bool failed_to_load = false; + + if (failed_to_load) + return nullptr; + + if (dd3d_c) + return dd3d_c; + + if (godot::Engine::get_singleton()->has_singleton("DebugDrawManager")) { + godot::Object *dd3d = godot::Engine::get_singleton()->get_singleton("DebugDrawManager"); + + if (!dd3d->has_method(get_funcs_is_double_name)) { + godot::UtilityFunctions::printerr(log_prefix, get_funcs_is_double_name, " not found!"); + failed_to_load = true; + return nullptr; + } + +#ifdef REAL_T_IS_DOUBLE + bool is_double = true; +#else + bool is_double = false; +#endif + if ((bool)dd3d->call(get_funcs_is_double_name) != is_double) { + godot::UtilityFunctions::printerr(log_prefix, "The precision of Vectors and Matrices of DD3D and the current library do not match!"); + failed_to_load = true; + return nullptr; + } + + if (!dd3d->has_method(get_funcs_hash_name)) { + godot::UtilityFunctions::printerr(log_prefix, get_funcs_hash_name, " not found!"); + failed_to_load = true; + return nullptr; + } + + if (!dd3d->has_method(get_funcs_name)) { + godot::UtilityFunctions::printerr(log_prefix, get_funcs_name, " not found!"); + failed_to_load = true; + return nullptr; + } + + dd3d_c = dd3d; + } else { + ERR_PRINT(godot::String(log_prefix) + "DebugDrawManager not found! Most likely, DebugDraw3D was not loaded correctly."); + failed_to_load = true; + } + return dd3d_c; + } + + static bool load_function(int64_t &val, const godot::String &sign2, const char *name) { + ZoneScoped; + if (godot::Object *dd3d = get_dd3d(); dd3d) { + int64_t api_hash = dd3d->call(get_funcs_hash_name); + + // TODO: add an actual comparison with the previous hash. It is useful in case of library reloading, but is it really useful for users?.. + if (api_hash != 0) { + godot::Dictionary api = dd3d->call(get_funcs_name); + if (api.has(name)) { + godot::Dictionary func_dict = api[name]; + +#ifdef DD3D_ENABLE_MISMATCH_CHECKS + godot::String sign1 = func_dict.get("signature", ""); + //godot::UtilityFunctions::print(log_prefix, "FUNCTION SIGNATURE\n\tFunc name:\t", name, "\n\tDD3D Sign:\t", sign1, "\n\tClient Sign:\t", sign2); + + if (!sign1.is_empty() && sign1 != sign2) { + godot::UtilityFunctions::printerr(log_prefix, "!!! FUNCTION SIGNATURE MISMATCH !!!\n\tFunc name:\t", name, "\n\tDD3D Sign:\t", sign1, "\n\tClient Sign:\t", sign2); + return false; + } +#endif + val = (int64_t)func_dict["ptr"]; + return true; + } else { + godot::UtilityFunctions::printerr(log_prefix, "!!! FUNCTION NOT FOUND !!! function name: ", name); + return false; + } + } + } + return false; + } +}; + +#ifdef DD3D_ENABLE_MISMATCH_CHECKS +#define FUNC_GET_SIGNATURE(func_name) DD3DShared::FunctionSignature::get() +#else +#define FUNC_GET_SIGNATURE(func_name) "" +#endif + +#define LOADING_RESULT static _DD3D_Loader_::LoadingResult _dd3d_loading_result = _DD3D_Loader_::LoadingResult::None +#define IS_FIRST_LOADING _dd3d_loading_result == _DD3D_Loader_::LoadingResult::None +#define IS_LOADED_SUCCESSFULLY _dd3d_loading_result == _DD3D_Loader_::LoadingResult::Success +#define IS_FAILED_TO_LOAD _dd3d_loading_result == _DD3D_Loader_::LoadingResult::Failure +#define LOAD_FUNC_AND_STORE_RESULT(_name) \ + int64_t _dd3d_func_ptr = 0; \ + _dd3d_loading_result = _DD3D_Loader_::load_function(_dd3d_func_ptr, FUNC_GET_SIGNATURE(_name), #_name) ? _DD3D_Loader_::LoadingResult::Success : _DD3D_Loader_::LoadingResult::Failure; \ + if (IS_LOADED_SUCCESSFULLY) { \ + _name = reinterpret_cast(_dd3d_func_ptr); \ + } + +#define LOAD_AND_CALL_FUNC_POINTER(_name, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + _name(__VA_ARGS__); \ + } + +#define LOAD_AND_CALL_FUNC_POINTER_SELFRET(_name, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return shared_from_this(); \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + _name(__VA_ARGS__); \ + } + +#define LOAD_AND_CALL_FUNC_POINTER_RET(_name, _def_ret_val, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return _def_ret_val; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + return _name(__VA_ARGS__); \ + } \ + return _def_ret_val + +#define LOAD_AND_CALL_FUNC_POINTER_RET_CAST(_name, _ret_cast, _def_ret_val, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return _def_ret_val; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + return static_cast<_ret_cast>(_name(__VA_ARGS__)); \ + } \ + return _def_ret_val + +#define LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_OBJECT(_name, godot_object_type, _def_ret_val, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return _def_ret_val; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + return godot::Object::cast_to(godot::ObjectDB::get_instance(_name(__VA_ARGS__))); \ + } \ + return _def_ret_val + +#define LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_REF(_name, godot_ref_type, _def_ret_val, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return _def_ret_val; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + return godot::Ref(godot::Object::cast_to(godot::ObjectDB::get_instance(_name(__VA_ARGS__)))); \ + } \ + return _def_ret_val + +#define LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(_name, _cls, _def_ret_val, ...) \ + ZoneScoped; \ + LOADING_RESULT; \ + if (IS_FIRST_LOADING && !_name) { \ + LOAD_FUNC_AND_STORE_RESULT(_name); \ + if (IS_FAILED_TO_LOAD) { \ + return _def_ret_val; \ + } \ + } \ + if (IS_LOADED_SUCCESSFULLY) { \ + return std::make_shared<_cls>(_name(__VA_ARGS__)); \ + } \ + return _def_ret_val + +class DebugDraw2DConfig; +class DebugDraw2DStats; +class DebugDraw3DConfig; +class DebugDraw3DScopeConfig; +class DebugDraw3DStats; + +// Start of the generated API +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +// Original type - godot::Quaternion +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +// Original type - godot::Projection +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + + +/** + * @brief + * This is a class for storing part of the DebugDraw2D configuration. + * + * You can use DebugDraw2D.get_config to get the current instance of the configuration. + */ +class DebugDraw2DConfig { +public: + enum BlockPosition : uint32_t { + POSITION_LEFT_TOP = 0, + POSITION_RIGHT_TOP = 1, + POSITION_LEFT_BOTTOM = 2, + POSITION_RIGHT_BOTTOM = 3, + }; + +private: + void *inst_ptr; + +public: + DebugDraw2DConfig(void *inst_ptr) : + inst_ptr(inst_ptr) {} + + DebugDraw2DConfig(bool instantiate = true) : + inst_ptr(instantiate ? create() : create_nullptr()) {} + + ~DebugDraw2DConfig() { destroy(inst_ptr); } + + operator void *() const { return inst_ptr; } + + /** + * Position of the text block + */ + void set_text_block_position(const DebugDraw2DConfig::BlockPosition &_position) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_block_position)(void * /*inst_ptr*/, uint32_t /*DebugDraw2DConfig::BlockPosition _position*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_block_position, inst_ptr, static_cast(_position)); +#endif + } + + DebugDraw2DConfig::BlockPosition get_text_block_position() { + static uint32_t /*DebugDraw2DConfig::BlockPosition*/ (*DebugDraw2DConfig_get_text_block_position)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_CAST(DebugDraw2DConfig_get_text_block_position, DebugDraw2DConfig::BlockPosition, {}, inst_ptr); + } + + /** + * Offset from the corner selected in 'set_text_block_position' + */ + void set_text_block_offset(const godot::Vector2i &_offset) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_block_offset)(void * /*inst_ptr*/, const godot::Vector2i /*_offset*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_block_offset, inst_ptr, _offset); +#endif + } + + godot::Vector2i get_text_block_offset() { + static godot::Vector2i (*DebugDraw2DConfig_get_text_block_offset)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_block_offset, {}, inst_ptr); + } + + /** + * Text padding for each line + */ + void set_text_padding(const godot::Vector2i &_padding) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_padding)(void * /*inst_ptr*/, const godot::Vector2i /*_padding*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_padding, inst_ptr, _padding); +#endif + } + + godot::Vector2i get_text_padding() { + static godot::Vector2i (*DebugDraw2DConfig_get_text_padding)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_padding, {}, inst_ptr); + } + + /** + * How long the text remains visible after creation. + */ + void set_text_default_duration(const real_t &_duration) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_default_duration)(void * /*inst_ptr*/, const real_t /*_duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_default_duration, inst_ptr, _duration); +#endif + } + + real_t get_text_default_duration() { + static real_t (*DebugDraw2DConfig_get_text_default_duration)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_default_duration, {}, inst_ptr); + } + + /** + * Default text size + */ + void set_text_default_size(const int &_size) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_default_size)(void * /*inst_ptr*/, const int /*_size*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_default_size, inst_ptr, _size); +#endif + } + + int get_text_default_size() { + static int (*DebugDraw2DConfig_get_text_default_size)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_default_size, {}, inst_ptr); + } + + /** + * Default color of the text + */ + void set_text_foreground_color(const godot::Color &_new_color) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_foreground_color)(void * /*inst_ptr*/, const godot::Color /*_new_color*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_foreground_color, inst_ptr, _new_color); +#endif + } + + godot::Color get_text_foreground_color() { + static godot::Color (*DebugDraw2DConfig_get_text_foreground_color)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_foreground_color, {}, inst_ptr); + } + + /** + * Background color of the text + */ + void set_text_background_color(const godot::Color &_new_color) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_background_color)(void * /*inst_ptr*/, const godot::Color /*_new_color*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_background_color, inst_ptr, _new_color); +#endif + } + + godot::Color get_text_background_color() { + static godot::Color (*DebugDraw2DConfig_get_text_background_color)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_get_text_background_color, {}, inst_ptr); + } + + /** + * Custom text Font + */ + void set_text_custom_font(const godot::Ref &_custom_font) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DConfig_set_text_custom_font)(void * /*inst_ptr*/, const uint64_t /*_custom_font*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_set_text_custom_font, inst_ptr, _custom_font.is_valid() ? _custom_font->get_instance_id() : 0); +#endif + } + + godot::Ref get_text_custom_font() { + static const uint64_t (*DebugDraw2DConfig_get_text_custom_font)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_REF(DebugDraw2DConfig_get_text_custom_font, godot::Font, {}, inst_ptr); + } + +private: + static void * create() { + static void * (*DebugDraw2DConfig_create)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_create, nullptr); + } + + static void * create_nullptr() { + static void * (*DebugDraw2DConfig_create_nullptr)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DConfig_create_nullptr, nullptr); + } + + static void destroy(void * inst_ptr) { + static void (*DebugDraw2DConfig_destroy)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DConfig_destroy, inst_ptr); + } + +}; // class DebugDraw2DConfig + +/** + * @brief + * Singleton class for calling debugging 2D methods. + * + * Currently, this class supports drawing an overlay with text. + */ +namespace DebugDraw2D { +/** + * Set whether debug drawing works or not. + */ +static void set_debug_enabled(const bool &_state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_set_debug_enabled)(const bool /*_state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_set_debug_enabled, _state); +#endif +} + +static bool is_debug_enabled() { + static bool (*DebugDraw2D_is_debug_enabled)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2D_is_debug_enabled, {}); +} + +/** + * Set the configuration global for everything in DebugDraw2D. + */ +static void set_config(const std::shared_ptr &_cfg) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_set_config)(void * /*_cfg*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_set_config, *_cfg); +#endif +} + +/** + * Get the DebugDraw2DConfig. + */ +static std::shared_ptr get_config() { + static void * (*DebugDraw2D_get_config)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw2D_get_config, DebugDraw2DConfig, nullptr); +} + +/** + * Set a custom Control to be used as the canvas for drawing the graphic. + * + * You can use any Control, even one that is in a different window. + */ +static void set_custom_canvas(const godot::Control * _canvas) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_set_custom_canvas)(const uint64_t /*godot::Control _canvas*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_set_custom_canvas, _canvas ? _canvas->get_instance_id() : 0); +#endif +} + +static godot::Control * get_custom_canvas() { + static const uint64_t (*DebugDraw2D_get_custom_canvas)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_OBJECT(DebugDraw2D_get_custom_canvas, godot::Control, {}); +} + +/** + * Returns the DebugDraw2DStats instance with the current statistics. + * + * Some data can be delayed by 1 frame. + */ +static std::shared_ptr get_render_stats() { + static void * (*DebugDraw2D_get_render_stats)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw2D_get_render_stats, DebugDraw2DStats, nullptr); +} + +/** + * Clear all 2D objects + */ +static void clear_all() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_clear_all)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_clear_all); +#endif +} + +/** + * Begin a text group to which all of the following text from DebugDraw2D.set_text will be added + * + * @param group_title Group title and ID + * @param group_priority Group priority based on which groups will be sorted from top to bottom. + * @param group_color Main color of the group + * @param show_title Whether to show the title + * @param title_size Title font size + * @param text_size Text font size + */ +static void begin_text_group_c(const char * group_title_string, const int &group_priority = 0, const godot::Color &group_color = godot::Color(0.96f, 0.96f, 0.96f, 1.0f), const bool &show_title = true, const int &title_size = -1, const int &text_size = -1) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_begin_text_group_c)(const char * /*group_title_string*/, int /*group_priority*/, godot::Color /*group_color*/, bool /*show_title*/, int /*title_size*/, int /*text_size*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_begin_text_group_c, group_title_string, group_priority, group_color, show_title, title_size, text_size); +#endif +} + +/** + * Begin a text group to which all of the following text from DebugDraw2D.set_text will be added + * + * @param group_title Group title and ID + * @param group_priority Group priority based on which groups will be sorted from top to bottom. + * @param group_color Main color of the group + * @param show_title Whether to show the title + * @param title_size Title font size + * @param text_size Text font size + */ +static void begin_text_group(const godot::String &group_title, const int &group_priority = 0, const godot::Color &group_color = godot::Color(0.96f, 0.96f, 0.96f, 1.0f), const bool &show_title = true, const int &title_size = -1, const int &text_size = -1) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + begin_text_group_c(group_title.utf8().ptr(), group_priority, group_color, show_title, title_size, text_size); +#endif +} + +/** + * Ends the text group. Should be called after DebugDraw2D.begin_text_group. + * + * If you need to create multiple groups, just call DebugDraw2D.begin_text_group again and this function at the end. + */ +static void end_text_group() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_end_text_group)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_end_text_group); +#endif +} + +/** + * Add or update text in an overlay + * + * @param key Left value if 'value' is set, otherwise the entire string is 'key' + * @param value Value of field + * @param priority Priority of this line. Lower value is higher position + * @param color_of_value Value color + * @param duration Expiration time + */ +static void set_text_c(const char * key_string, const char * value_string = "", const int &priority = 0, const godot::Color &color_of_value = godot::Color(0, 0, 0, 0), const real_t &duration = -1) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_set_text_c)(const char * /*key_string*/, const char * /*value_string*/, int /*priority*/, godot::Color /*color_of_value*/, real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_set_text_c, key_string, value_string, priority, color_of_value, duration); +#endif +} + +/** + * Add or update text in an overlay + * + * @param key Left value if 'value' is set, otherwise the entire string is 'key' + * @param value Value of field + * @param priority Priority of this line. Lower value is higher position + * @param color_of_value Value color + * @param duration Expiration time + */ +static void set_text(const godot::String &key, const godot::String &value = "", const int &priority = 0, const godot::Color &color_of_value = godot::Color(0, 0, 0, 0), const real_t &duration = -1) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + set_text_c(key.utf8().ptr(), value.utf8().ptr(), priority, color_of_value, duration); +#endif +} + +/** + * Clear all text + */ +static void clear_texts() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2D_clear_texts)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2D_clear_texts); +#endif +} + +} // namespace DebugDraw2D + +/** + * @brief + * You can get basic statistics about 2D rendering from this class. + * + * All names try to reflect what they mean. + * + * To get an instance of this class with current statistics, use DebugDraw2D.get_render_stats. + */ +class DebugDraw2DStats { +private: + void *inst_ptr; + +public: + DebugDraw2DStats(void *inst_ptr) : + inst_ptr(inst_ptr) {} + + DebugDraw2DStats(bool instantiate = true) : + inst_ptr(instantiate ? create() : create_nullptr()) {} + + ~DebugDraw2DStats() { destroy(inst_ptr); } + + operator void *() const { return inst_ptr; } + + int64_t get_overlay_text_groups() { + static int64_t (*DebugDraw2DStats_get_overlay_text_groups)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DStats_get_overlay_text_groups, {}, inst_ptr); + } + + void set_overlay_text_groups(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DStats_set_overlay_text_groups)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DStats_set_overlay_text_groups, inst_ptr, val); +#endif + } + + int64_t get_overlay_text_lines() { + static int64_t (*DebugDraw2DStats_get_overlay_text_lines)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DStats_get_overlay_text_lines, {}, inst_ptr); + } + + void set_overlay_text_lines(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw2DStats_set_overlay_text_lines)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DStats_set_overlay_text_lines, inst_ptr, val); +#endif + } + +private: + static void * create() { + static void * (*DebugDraw2DStats_create)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DStats_create, nullptr); + } + + static void * create_nullptr() { + static void * (*DebugDraw2DStats_create_nullptr)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw2DStats_create_nullptr, nullptr); + } + + static void destroy(void * inst_ptr) { + static void (*DebugDraw2DStats_destroy)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw2DStats_destroy, inst_ptr); + } + +}; // class DebugDraw2DStats + +/** + * @brief + * This is a class for storing part of the DebugDraw3D configuration. + * + * You can use DebugDraw3D.get_config to get the current instance of the configuration. + */ +class DebugDraw3DConfig { +public: + enum CullingMode : uint32_t { + FRUSTUM_DISABLED = 0, + FRUSTUM_ROUGH = 1, + FRUSTUM_PRECISE = 2, + }; + +private: + void *inst_ptr; + +public: + DebugDraw3DConfig(void *inst_ptr) : + inst_ptr(inst_ptr) {} + + DebugDraw3DConfig(bool instantiate = true) : + inst_ptr(instantiate ? create() : create_nullptr()) {} + + ~DebugDraw3DConfig() { destroy(inst_ptr); } + + operator void *() const { return inst_ptr; } + + /** + * Set whether debug 3D graphics rendering is frozen. + * This means that previously created geometry will not be updated until set to false or until DebugDraw3D.clear_all is called. + */ + void set_freeze_3d_render(const bool &_state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_freeze_3d_render)(void * /*inst_ptr*/, const bool /*_state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_freeze_3d_render, inst_ptr, _state); +#endif + } + + bool is_freeze_3d_render() { + static bool (*DebugDraw3DConfig_is_freeze_3d_render)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_is_freeze_3d_render, {}, inst_ptr); + } + + /** + * Set whether the boundaries of instances are displayed. + * Based on these boundaries, instances are culled if set_use_frustum_culling is activated. + */ + void set_visible_instance_bounds(const bool &_state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_visible_instance_bounds)(void * /*inst_ptr*/, const bool /*_state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_visible_instance_bounds, inst_ptr, _state); +#endif + } + + bool is_visible_instance_bounds() { + static bool (*DebugDraw3DConfig_is_visible_instance_bounds)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_is_visible_instance_bounds, {}, inst_ptr); + } + + /** + * @deprecated + * Set whether frustum culling is used. + * This is a wrapper over DebugDraw3DConfig.set_frustum_culling_mode and exists for compatibility with older versions. + * + * @note + * Enabling or disabling this option does not affect the rough culling based on the camera's AABB of frustum. + * This option enables more accurate culling based on the camera's frustum planes. + */ + void set_use_frustum_culling(const bool &_state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_use_frustum_culling)(void * /*inst_ptr*/, const bool /*_state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_use_frustum_culling, inst_ptr, _state); +#endif + } + + bool is_use_frustum_culling() { + static bool (*DebugDraw3DConfig_is_use_frustum_culling)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_is_use_frustum_culling, {}, inst_ptr); + } + + /** + * Set frustum culling mode. + */ + void set_frustum_culling_mode(const DebugDraw3DConfig::CullingMode &_mode) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_frustum_culling_mode)(void * /*inst_ptr*/, uint32_t /*DebugDraw3DConfig::CullingMode _mode*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_frustum_culling_mode, inst_ptr, static_cast(_mode)); +#endif + } + + DebugDraw3DConfig::CullingMode get_frustum_culling_mode() { + static uint32_t /*DebugDraw3DConfig::CullingMode*/ (*DebugDraw3DConfig_get_frustum_culling_mode)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_CAST(DebugDraw3DConfig_get_frustum_culling_mode, DebugDraw3DConfig::CullingMode, {}, inst_ptr); + } + + /** + * Change the distance between the Far and Near Planes of the Viewport's Camera3D. + */ + void set_frustum_length_scale(const real_t &_distance) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_frustum_length_scale)(void * /*inst_ptr*/, const real_t /*_distance*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_frustum_length_scale, inst_ptr, _distance); +#endif + } + + real_t get_frustum_length_scale() { + static real_t (*DebugDraw3DConfig_get_frustum_length_scale)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_get_frustum_length_scale, {}, inst_ptr); + } + + /** + * Set the forced use of the scene camera instead of the editor camera. + */ + void set_force_use_camera_from_scene(const bool &_state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_force_use_camera_from_scene)(void * /*inst_ptr*/, const bool /*_state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_force_use_camera_from_scene, inst_ptr, _state); +#endif + } + + bool is_force_use_camera_from_scene() { + static bool (*DebugDraw3DConfig_is_force_use_camera_from_scene)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_is_force_use_camera_from_scene, {}, inst_ptr); + } + + /** + * Set the visibility layer on which the 3D geometry will be drawn. + * Similar to using VisualInstance3D.layers. + */ + void set_geometry_render_layers(const int32_t &_layers) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_geometry_render_layers)(void * /*inst_ptr*/, const int32_t /*_layers*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_geometry_render_layers, inst_ptr, _layers); +#endif + } + + int32_t get_geometry_render_layers() { + static int32_t (*DebugDraw3DConfig_get_geometry_render_layers)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_get_geometry_render_layers, {}, inst_ptr); + } + + /** + * Set the default color for the collision point of DebugDraw3D.draw_line_hit. + */ + void set_line_hit_color(const godot::Color &_new_color) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_line_hit_color)(void * /*inst_ptr*/, const godot::Color /*_new_color*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_line_hit_color, inst_ptr, _new_color); +#endif + } + + godot::Color get_line_hit_color() { + static godot::Color (*DebugDraw3DConfig_get_line_hit_color)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_get_line_hit_color, {}, inst_ptr); + } + + /** + * Set the default color for the line after the collision point of DebugDraw3D.draw_line_hit. + */ + void set_line_after_hit_color(const godot::Color &_new_color) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DConfig_set_line_after_hit_color)(void * /*inst_ptr*/, const godot::Color /*_new_color*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_set_line_after_hit_color, inst_ptr, _new_color); +#endif + } + + godot::Color get_line_after_hit_color() { + static godot::Color (*DebugDraw3DConfig_get_line_after_hit_color)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_get_line_after_hit_color, {}, inst_ptr); + } + +private: + static void * create() { + static void * (*DebugDraw3DConfig_create)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_create, nullptr); + } + + static void * create_nullptr() { + static void * (*DebugDraw3DConfig_create_nullptr)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DConfig_create_nullptr, nullptr); + } + + static void destroy(void * inst_ptr) { + static void (*DebugDraw3DConfig_destroy)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DConfig_destroy, inst_ptr); + } + +}; // class DebugDraw3DConfig + +/** + * @brief + * This class is used to override scope parameters for DebugDraw3D. + * + * `Scope` means that these overridden parameters will affect the drawn geometry until it exits the current scope. + * + * To create it, use DebugDraw3D.new_scoped_config. + * Immediately after creation, you can change the values and save the reference in a variable. + * + * @warning + * But the main thing is not to save it outside the method or in other objects. + * After leaving the scope, this object should be deleted. + * + * --- + * @warning + * Also, you can't use scope config between `await`s unless this object is freed before `await`. + * So, narrow the scope if you want to use `await` and DebugDraw3DScopeConfig in the same method. + * Or set the value of the variable to `null` so that the object is cleared due to lack of references. + * ```python + * # Bad example + * var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3) + * DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE) + * await get_tree().process_frame + * # your code... + * + * # Good example + * if true: + * var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3) + * DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE) + * await get_tree().process_frame + * # your code... + * ``` + * + * ### Examples: + * ```python + * var _s = DebugDraw3D.new_scoped_config().set_thickness(0.025).set_center_brightness(0.7) + * DebugDraw3D.draw_grid_xf(%Grid.global_transform, Vector2i(10,10), Color.LIGHT_GRAY) + * ``` + * + * ```cs + * using (var s = DebugDraw3D.NewScopedConfig().SetThickness(0)) + * DebugDraw3D.DrawCameraFrustum(dCamera, Colors.DarkOrange); + * ``` + */ +class DebugDraw3DScopeConfig : public std::enable_shared_from_this { +private: + void *inst_ptr; + +public: + DebugDraw3DScopeConfig(void *inst_ptr) : + inst_ptr(inst_ptr) {} + + DebugDraw3DScopeConfig(bool instantiate = true) : + inst_ptr(instantiate ? create() : create_nullptr()) {} + + ~DebugDraw3DScopeConfig() { destroy(inst_ptr); } + + operator void *() const { return inst_ptr; } + + /** + * Set the thickness of the volumetric lines. If the value is 0, the standard wireframe rendering will be used. + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_thickness(const real_t &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_thickness_selfreturn)(void * /*inst_ptr*/, const real_t /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_thickness_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + real_t get_thickness() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static real_t (*DebugDraw3DScopeConfig_get_thickness)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_thickness, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the brightness of the central part of the volumetric lines. + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_center_brightness(const real_t &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_center_brightness_selfreturn)(void * /*inst_ptr*/, const real_t /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_center_brightness_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + real_t get_center_brightness() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static real_t (*DebugDraw3DScopeConfig_get_center_brightness)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_center_brightness, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the mesh density of the sphere + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_hd_sphere(const bool &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_hd_sphere_selfreturn)(void * /*inst_ptr*/, const bool /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_hd_sphere_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + bool is_hd_sphere() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static bool (*DebugDraw3DScopeConfig_is_hd_sphere)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_is_hd_sphere, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the size of the `Plane` in DebugDraw3D.draw_plane. If set to `INF`, the `Far` parameter of the current camera will be used. + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_plane_size(const real_t &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_plane_size_selfreturn)(void * /*inst_ptr*/, const real_t /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_plane_size_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + real_t get_plane_size() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static real_t (*DebugDraw3DScopeConfig_get_plane_size)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_plane_size, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the base/local `transform` relative to which the shapes will be drawn. + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_transform(const godot::Transform3D &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_transform_selfreturn)(void * /*inst_ptr*/, const godot::Transform3D /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_transform_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + godot::Transform3D get_transform() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static godot::Transform3D (*DebugDraw3DScopeConfig_get_transform)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_transform, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the `outline` color in DebugDraw3D.draw_text. + * + * [THERE WAS AN IMAGE] + * + * @warning + * Frequent unsystematic changes to this property can lead to significant performance degradation. + */ + std::shared_ptr set_text_outline_color(const godot::Color &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_text_outline_color_selfreturn)(void * /*inst_ptr*/, const godot::Color /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_text_outline_color_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + godot::Color get_text_outline_color() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static godot::Color (*DebugDraw3DScopeConfig_get_text_outline_color)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_text_outline_color, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the size of the `outline` in DebugDraw3D.draw_text. + * + * [THERE WAS AN IMAGE] + * + * @warning + * Frequent unsystematic changes to this property can lead to significant performance degradation. + */ + std::shared_ptr set_text_outline_size(const int32_t &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_text_outline_size_selfreturn)(void * /*inst_ptr*/, const int32_t /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_text_outline_size_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + int32_t get_text_outline_size() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static int32_t (*DebugDraw3DScopeConfig_get_text_outline_size)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_text_outline_size, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Makes the text in DebugDraw3D.draw_text the same size regardless of distance. + * + * [THERE WAS AN IMAGE] + * + * @warning + * Frequent unsystematic changes to this property can lead to significant performance degradation. + */ + std::shared_ptr set_text_fixed_size(const bool &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn)(void * /*inst_ptr*/, const bool /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + bool get_text_fixed_size() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static bool (*DebugDraw3DScopeConfig_get_text_fixed_size)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_get_text_fixed_size, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set the font of the text in DebugDraw3D.draw_text. + * + * [THERE WAS AN IMAGE] + * + * @warning + * Frequent unsystematic changes to this property can lead to significant performance degradation. + */ + std::shared_ptr set_text_font(const godot::Ref &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_text_font_selfreturn)(void * /*inst_ptr*/, const uint64_t /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_text_font_selfreturn, inst_ptr, _value.is_valid() ? _value->get_instance_id() : 0); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + godot::Ref get_text_font() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static const uint64_t (*DebugDraw3DScopeConfig_get_text_font)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_REF(DebugDraw3DScopeConfig_get_text_font, godot::Font, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set which Viewport will be used to get World3D. + * + * If the World3D of this Viewport has not been used before, + * then the owner of this World3D will be found in the current branch of the tree, + * and special observer nodes will be added to it. + * + * @note + * Objects created for a specific Viewport will use only one camera related to that Viewport for culling. + */ + std::shared_ptr set_viewport(const godot::Viewport * _value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_viewport_selfreturn)(void * /*inst_ptr*/, const uint64_t /*godot::Viewport _value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_viewport_selfreturn, inst_ptr, _value ? _value->get_instance_id() : 0); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + godot::Viewport * get_viewport() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static const uint64_t (*DebugDraw3DScopeConfig_get_viewport)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_OBJECT(DebugDraw3DScopeConfig_get_viewport, godot::Viewport, {}, inst_ptr); +#else + return {}; +#endif + } + + /** + * Set whether the `depth_test_disabled` flag is added or not in the shaders of the debug shapes. + * + * @note + * It may cause artifacts when drawing volumetric objects. + * + * [THERE WAS AN IMAGE] + */ + std::shared_ptr set_no_depth_test(const bool &_value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DScopeConfig_set_no_depth_test_selfreturn)(void * /*inst_ptr*/, const bool /*_value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_SELFRET(DebugDraw3DScopeConfig_set_no_depth_test_selfreturn, inst_ptr, _value); + return shared_from_this(); +#else + return shared_from_this(); +#endif + } + + bool is_no_depth_test() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static bool (*DebugDraw3DScopeConfig_is_no_depth_test)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_is_no_depth_test, {}, inst_ptr); +#else + return {}; +#endif + } + +private: + static void * create() { + static void * (*DebugDraw3DScopeConfig_create)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_create, nullptr); + } + + static void * create_nullptr() { + static void * (*DebugDraw3DScopeConfig_create_nullptr)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DScopeConfig_create_nullptr, nullptr); + } + + static void destroy(void * inst_ptr) { + static void (*DebugDraw3DScopeConfig_destroy)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DScopeConfig_destroy, inst_ptr); + } + +}; // class DebugDraw3DScopeConfig + +/** + * @brief + * Singleton class for calling debugging 3D methods. + * + * You can use the project settings `debug_draw_3d/settings/3d` for additional customization. + * + * For example, `add_bevel_to_volumetric_geometry` allows you to remove or add a bevel for volumetric lines. + * + * [THERE WAS AN IMAGE] + * + * `use_icosphere` and `use_icosphere_for_hd` allow you to change the sphere mesh. + * + * [THERE WAS AN IMAGE] + * + * @note + * Wireframe shapes and volumetric wireframes do not support translucency to avoid overlap issues and for better performance. + * At this point, you can use translucency when drawing planes DebugDraw3D.draw_plane. + * + * --- + * @note + * Objects created in `_physics_process` are processed separately from those created in `_process`, + * so they will be deleted only in the first physics tick after rendering. + * This allows to display objects even if several frames passed between physics ticks. + * + * --- + * @note + * You can use this class anywhere, including in `_physics_process` and `_process` (and probably from other threads). + * It is worth mentioning that physics ticks may not be called every frame or may be called several times in one frame. + * So if you want to avoid multiple identical `draw_` calls, you can call `draw_` methods in `_process` or use such a check: + * ```python + * var physics_tick_processed := false + * func _process(delta: float) -> void: + * # Reset after rendering frame + * physics_tick_processed = false + * # some logic + * + * func _physics_process(delta: float) -> void: + * if not physics_tick_processed: + * physics_tick_processed = true + * # some DD3D logic + * ``` + * + * --- + * @note + * Due to the way Godot registers this addon, it is not possible to use the `draw_` methods + * in the first few frames immediately after the project is launched. + */ +namespace DebugDraw3D { +enum PointType : uint32_t { + POINT_TYPE_SQUARE = 0, + POINT_TYPE_SPHERE = 1, +}; + +/** + * Create a new DebugDraw3DScopeConfig instance and register it. + * + * This class allows you to override some parameters within scope for the following `draw_*` calls. + * + * Store this instance in a local variable inside the method. + */ +static std::shared_ptr new_scoped_config() { + static void * (*DebugDraw3D_new_scoped_config)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw3D_new_scoped_config, DebugDraw3DScopeConfig, nullptr); +} + +/** + * Returns the default scope settings that will be applied at the start of each new frame. + * + * Default values can be overridden in the project settings `debug_draw_3d/settings/3d/volumetric_defaults`. + * + * @note + * When used in a managed language, this is not mandatory, but it is recommended to finish the `scoped_config()` configuration with a dispose. + * This will reduce the number of objects awaiting removal by the garbage collector. + * ```cs + * DebugDraw3D.ScopedConfig().SetThickness(debug_thickness).Dispose(); + * ``` + */ +static std::shared_ptr scoped_config() { + static void * (*DebugDraw3D_scoped_config)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw3D_scoped_config, DebugDraw3DScopeConfig, nullptr); +} + +/** + * Set the configuration global for everything in DebugDraw3D. + */ +static void set_config(const std::shared_ptr &cfg) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_set_config)(void * /*cfg*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_set_config, *cfg); +#endif +} + +/** + * Get the DebugDraw3DConfig. + */ +static std::shared_ptr get_config() { + static void * (*DebugDraw3D_get_config)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw3D_get_config, DebugDraw3DConfig, nullptr); +} + +/** + * Set whether debug drawing works or not. + */ +static void set_debug_enabled(const bool &state) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_set_debug_enabled)(const bool /*state*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_set_debug_enabled, state); +#endif +} + +static bool is_debug_enabled() { + static bool (*DebugDraw3D_is_debug_enabled)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3D_is_debug_enabled, {}); +} + +/** + * Returns an instance of DebugDraw3DStats with the current statistics. + * + * Some data can be delayed by 1 frame. + */ +static std::shared_ptr get_render_stats() { + static void * (*DebugDraw3D_get_render_stats)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw3D_get_render_stats, DebugDraw3DStats, nullptr); +} + +/** + * Returns an instance of DebugDraw3DStats with the current statistics for the World3D of the Viewport. + * + * Some data can be delayed by 1 frame. + */ +static std::shared_ptr get_render_stats_for_world(const godot::Viewport * viewport) { + static void * (*DebugDraw3D_get_render_stats_for_world)(const uint64_t /*godot::Viewport viewport*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED(DebugDraw3D_get_render_stats_for_world, DebugDraw3DStats, nullptr, viewport ? viewport->get_instance_id() : 0); +} + +/** + * Regenerate meshes. + * + * Can be useful if you want to change some project settings and not restart the project. + */ +static void regenerate_geometry_meshes() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_regenerate_geometry_meshes)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_regenerate_geometry_meshes); +#endif +} + +/** + * Clear all 3D geometry + */ +static void clear_all() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_clear_all)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_clear_all); +#endif +} + +/** + * Draw a sphere + * + * [THERE WAS AN IMAGE] + * + * @param position Center of the sphere + * @param radius Sphere radius + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_sphere(const godot::Vector3 &position, const real_t &radius = 0.5f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_sphere)(const godot::Vector3 /*position*/, const real_t /*radius*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_sphere, position, radius, color, duration); +#endif +} + +/** + * Draw a sphere with a radius of 0.5 + * + * [THERE WAS AN IMAGE] + * + * @param transform Sphere transform + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_sphere_xf(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_sphere_xf)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_sphere_xf, transform, color, duration); +#endif +} + +/** + * Draw a vertical capsule + * + * [THERE WAS AN IMAGE] + * + * @note + * A capsule will not be displayed if the height or radius is approximately equal to or less than zero. + * + * --- + * @note + * If you need to apply additional transformations, you can use DebugDraw3DScopeConfig.set_transform. + * + * @param position Capsule position + * @param rotation Capsule rotation + * @param radius Capsule radius + * @param height Capsule height including caps. Based on this value, the actual radius of the capsule will be calculated. + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_capsule(const godot::Vector3 &position, const godot::Quaternion &rotation, const real_t &radius, const real_t &height, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_capsule)(const godot::Vector3 /*position*/, const DD3DShared::CQuaternion /*rotation*/, const real_t /*radius*/, const real_t /*height*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_capsule, position, rotation, radius, height, color, duration); +#endif +} + +/** + * Draw a capsule between points A and B with the desired radius. + * + * [THERE WAS AN IMAGE] + * + * @note + * A capsule will not be displayed if the distance between points A and B or the radius is approximately equal to or less than zero. + * + * @param a First pole of the capsule + * @param b Second pole of the capsule + * @param radius Capsule radius + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_capsule_ab(const godot::Vector3 &a, const godot::Vector3 &b, const real_t &radius = 0.5f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_capsule_ab)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const real_t /*radius*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_capsule_ab, a, b, radius, color, duration); +#endif +} + +/** + * Draw a vertical cylinder with radius 1.0 (x, z) and height 1.0 (y) + * + * [THERE WAS AN IMAGE] + * + * @param transform Cylinder transform + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_cylinder(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_cylinder)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_cylinder, transform, color, duration); +#endif +} + +/** + * Draw a cylinder between points A and B with a certain radius. + * + * @note + * A cylinder will not be displayed if the distance between points A and B is approximately zero. + * + * [THERE WAS AN IMAGE] + * + * @param a Bottom point of the Cylinder + * @param b Top point of the Cylinder + * @param radius Cylinder radius + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_cylinder_ab(const godot::Vector3 &a, const godot::Vector3 &b, const real_t &radius = 0.5f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_cylinder_ab)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const real_t /*radius*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_cylinder_ab, a, b, radius, color, duration); +#endif +} + +/** + * Draw a box + * + * [THERE WAS AN IMAGE] + * + * [THERE WAS AN IMAGE] + * + * @param position Position of the Box + * @param rotation Rotation of the box + * @param size Size of the Box + * @param color Primary color + * @param is_box_centered Set where the center of the box will be. In the center or in the bottom corner + * @param duration The duration of how long the object will be visible + */ +static void draw_box(const godot::Vector3 &position, const godot::Quaternion &rotation, const godot::Vector3 &size, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_box_centered = false, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_box)(const godot::Vector3 /*position*/, const DD3DShared::CQuaternion /*rotation*/, const godot::Vector3 /*size*/, const godot::Color /*color*/, const bool /*is_box_centered*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_box, position, rotation, size, color, is_box_centered, duration); +#endif +} + +/** + * Draw a box between points A and B by rotating and scaling based on the up vector + * + * [THERE WAS AN IMAGE] + * + * [THERE WAS AN IMAGE] + * + * @note + * A box will not be displayed if its dimensions are close to zero or if the up vector is approximately zero. + * + * @param a Start position + * @param b End position + * @param up Vertical vector by which the box will be aligned + * @param color Primary color + * @param is_ab_diagonal Set uses the diagonal between the corners or the diagonal between the centers of two edges + * @param duration The duration of how long the object will be visible + */ +static void draw_box_ab(const godot::Vector3 &a, const godot::Vector3 &b, const godot::Vector3 &up, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_ab_diagonal = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_box_ab)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const godot::Vector3 /*up*/, const godot::Color /*color*/, const bool /*is_ab_diagonal*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_box_ab, a, b, up, color, is_ab_diagonal, duration); +#endif +} + +/** + * Draw a box as in DebugDraw3D.draw_box + * + * @param transform Box transform + * @param color Primary color + * @param is_box_centered Set where the center of the box will be. In the center or in the bottom corner + * @param duration The duration of how long the object will be visible + */ +static void draw_box_xf(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_box_centered = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_box_xf)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const bool /*is_box_centered*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_box_xf, transform, color, is_box_centered, duration); +#endif +} + +/** + * Draw a box as in DebugDraw3D.draw_box, but based on the AABB + * + * @param aabb AABB + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_aabb(const godot::AABB &aabb, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_aabb)(const godot::AABB /*aabb*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_aabb, aabb, color, duration); +#endif +} + +/** + * Draw the box as in DebugDraw3D.draw_aabb, but AABB is defined by the diagonal AB + * + * @param a Start position + * @param b End position + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_aabb_ab(const godot::Vector3 &a, const godot::Vector3 &b, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_aabb_ab)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_aabb_ab, a, b, color, duration); +#endif +} + +/** + * Draw line separated by hit point (billboard square) or not separated if `is_hit = false`. + * + * Some of the default settings can be overridden in DebugDraw3DConfig. + * + * [THERE WAS AN IMAGE] + * + * @param start Start point + * @param end End point + * @param hit Hit point + * @param is_hit Whether to draw the collision point + * @param hit_size Size of the hit point + * @param hit_color Color of the hit point and line before hit + * @param after_hit_color Color of line after hit position + * @param duration The duration of how long the object will be visible + */ +static void draw_line_hit(const godot::Vector3 &start, const godot::Vector3 &end, const godot::Vector3 &hit, const bool &is_hit, const real_t &hit_size = 0.25f, const godot::Color &hit_color = godot::Color(0, 0, 0, 0), const godot::Color &after_hit_color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_line_hit)(const godot::Vector3 /*start*/, const godot::Vector3 /*end*/, const godot::Vector3 /*hit*/, const bool /*is_hit*/, const real_t /*hit_size*/, const godot::Color /*hit_color*/, const godot::Color /*after_hit_color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_line_hit, start, end, hit, is_hit, hit_size, hit_color, after_hit_color, duration); +#endif +} + +/** + * Draw line separated by hit point. + * + * Similar to DebugDraw3D.draw_line_hit, but instead of a hit point, an offset from the start point is used. + * + * Some of the default settings can be overridden in DebugDraw3DConfig. + * + * @param start Start point + * @param end End point + * @param is_hit Whether to draw the collision point + * @param unit_offset_of_hit Unit offset on the line where the collision occurs + * @param hit_size Size of the hit point + * @param hit_color Color of the hit point and line before hit + * @param after_hit_color Color of line after hit position + * @param duration The duration of how long the object will be visible + */ +static void draw_line_hit_offset(const godot::Vector3 &start, const godot::Vector3 &end, const bool &is_hit, const real_t &unit_offset_of_hit = 0.5f, const real_t &hit_size = 0.25f, const godot::Color &hit_color = godot::Color(0, 0, 0, 0), const godot::Color &after_hit_color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_line_hit_offset)(const godot::Vector3 /*start*/, const godot::Vector3 /*end*/, const bool /*is_hit*/, const real_t /*unit_offset_of_hit*/, const real_t /*hit_size*/, const godot::Color /*hit_color*/, const godot::Color /*after_hit_color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_line_hit_offset, start, end, is_hit, unit_offset_of_hit, hit_size, hit_color, after_hit_color, duration); +#endif +} + +/** + * Draw a single line + * + * [THERE WAS AN IMAGE] + * + * @param a Start point + * @param b End point + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_line(const godot::Vector3 &a, const godot::Vector3 &b, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_line)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_line, a, b, color, duration); +#endif +} + +/** + * Draw a ray. + * + * Same as DebugDraw3D.draw_line, but uses origin, direction and length instead of A and B. + * + * @param origin Origin + * @param direction Direction + * @param length Length + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_ray(const godot::Vector3 &origin, const godot::Vector3 &direction, const real_t &length, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_ray)(const godot::Vector3 /*origin*/, const godot::Vector3 /*direction*/, const real_t /*length*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_ray, origin, direction, length, color, duration); +#endif +} + +/** + * Draw an array of lines. Each line is two points, so the array must be of even size. + * + * [THERE WAS AN IMAGE] + * + * @param lines An array of points of lines. 1 line = 2 vectors3. The array size must be even. + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_lines_c(const godot::Vector3 * lines_data, const uint64_t &lines_size, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_lines_c)(const godot::Vector3 * /*lines_data*/, const uint64_t /*lines_size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_lines_c, lines_data, lines_size, color, duration); +#endif +} + +/** + * Draw an array of lines. Each line is two points, so the array must be of even size. + * + * [THERE WAS AN IMAGE] + * + * @param lines An array of points of lines. 1 line = 2 vectors3. The array size must be even. + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_lines(const godot::PackedVector3Array &lines, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_lines_c(lines.ptr(), lines.size(), color, duration); +#endif +} + +/** + * Draw an array of lines. + * + * Unlike DebugDraw3D.draw_lines, here lines are drawn between each point in the array. + * + * The array can be of any size. + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + * + * @param path Sequence of points + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_line_path_c(const godot::Vector3 * path_data, const uint64_t &path_size, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_line_path_c)(const godot::Vector3 * /*path_data*/, const uint64_t /*path_size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_line_path_c, path_data, path_size, color, duration); +#endif +} + +/** + * Draw an array of lines. + * + * Unlike DebugDraw3D.draw_lines, here lines are drawn between each point in the array. + * + * The array can be of any size. + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + * + * @param path Sequence of points + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_line_path(const godot::PackedVector3Array &path, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_line_path_c(path.ptr(), path.size(), color, duration); +#endif +} + +/** + * Draw the arrowhead + * + * @param transform godot::Transform3D of the Arrowhead + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_arrowhead(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_arrowhead)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_arrowhead, transform, color, duration); +#endif +} + +/** + * Draw line with arrowhead + * + * [THERE WAS AN IMAGE] + * + * @note + * An arrow will not be displayed if the distance between points a and b is approximately zero. + * + * @param a Start point + * @param b End point + * @param color Primary color + * @param arrow_size Size of the arrow + * @param is_absolute_size Is `arrow_size` absolute or relative to the length of the string? + * @param duration The duration of how long the object will be visible + */ +static void draw_arrow(const godot::Vector3 &a, const godot::Vector3 &b, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &arrow_size = 0.5f, const bool &is_absolute_size = false, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_arrow)(const godot::Vector3 /*a*/, const godot::Vector3 /*b*/, const godot::Color /*color*/, const real_t /*arrow_size*/, const bool /*is_absolute_size*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_arrow, a, b, color, arrow_size, is_absolute_size, duration); +#endif +} + +/** + * Same as DebugDraw3D.draw_arrow, but uses origin, direction and length instead of A and B. + * + * @param origin Origin + * @param direction Direction + * @param length Length + * @param color Primary color + * @param arrow_size Size of the arrow + * @param is_absolute_size Is `arrow_size` absolute or relative to the line length? + * @param duration The duration of how long the object will be visible + */ +static void draw_arrow_ray(const godot::Vector3 &origin, const godot::Vector3 &direction, const real_t &length, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &arrow_size = 0.5f, const bool &is_absolute_size = false, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_arrow_ray)(const godot::Vector3 /*origin*/, const godot::Vector3 /*direction*/, const real_t /*length*/, const godot::Color /*color*/, const real_t /*arrow_size*/, const bool /*is_absolute_size*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_arrow_ray, origin, direction, length, color, arrow_size, is_absolute_size, duration); +#endif +} + +/** + * Draw a sequence of points connected by lines with arrows like DebugDraw3D.draw_line_path. + * + * [THERE WAS AN IMAGE] + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + * + * @param path Sequence of points + * @param color Primary color + * @param arrow_size Size of the arrow + * @param is_absolute_size Is the `arrow_size` absolute or relative to the length of the line? + * @param duration The duration of how long the object will be visible + */ +static void draw_arrow_path_c(const godot::Vector3 * path_data, const uint64_t &path_size, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &arrow_size = 0.75f, const bool &is_absolute_size = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_arrow_path_c)(const godot::Vector3 * /*path_data*/, const uint64_t /*path_size*/, const godot::Color /*color*/, const real_t /*arrow_size*/, const bool /*is_absolute_size*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_arrow_path_c, path_data, path_size, color, arrow_size, is_absolute_size, duration); +#endif +} + +/** + * Draw a sequence of points connected by lines with arrows like DebugDraw3D.draw_line_path. + * + * [THERE WAS AN IMAGE] + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + * + * @param path Sequence of points + * @param color Primary color + * @param arrow_size Size of the arrow + * @param is_absolute_size Is the `arrow_size` absolute or relative to the length of the line? + * @param duration The duration of how long the object will be visible + */ +static void draw_arrow_path(const godot::PackedVector3Array &path, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &arrow_size = 0.75f, const bool &is_absolute_size = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_arrow_path_c(path.ptr(), path.size(), color, arrow_size, is_absolute_size, duration); +#endif +} + +/** + * Draw a sequence of points connected by lines using billboard squares or spheres like DebugDraw3D.draw_line_path. + * + * [THERE WAS AN IMAGE] + * + * [THERE WAS AN IMAGE] + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square or DebugDraw3D.draw_sphere will be used instead of drawing a line. + * + * @param path Sequence of points + * @param type Type of points + * @param points_color Color of points + * @param lines_color Color of lines + * @param size Size of squares + * @param duration The duration of how long the object will be visible + */ +static void draw_point_path_c(const godot::Vector3 * path_data, const uint64_t &path_size, const DebugDraw3D::PointType &type = PointType::POINT_TYPE_SQUARE, const real_t &size = 0.25f, const godot::Color &points_color = godot::Color(0, 0, 0, 0), const godot::Color &lines_color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_point_path_c)(const godot::Vector3 * /*path_data*/, const uint64_t /*path_size*/, uint32_t /*DebugDraw3D::PointType type*/, const real_t /*size*/, const godot::Color /*points_color*/, const godot::Color /*lines_color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_point_path_c, path_data, path_size, static_cast(type), size, points_color, lines_color, duration); +#endif +} + +/** + * Draw a sequence of points connected by lines using billboard squares or spheres like DebugDraw3D.draw_line_path. + * + * [THERE WAS AN IMAGE] + * + * [THERE WAS AN IMAGE] + * + * @note + * If the path size is equal to 1, then DebugDraw3D.draw_square or DebugDraw3D.draw_sphere will be used instead of drawing a line. + * + * @param path Sequence of points + * @param type Type of points + * @param points_color Color of points + * @param lines_color Color of lines + * @param size Size of squares + * @param duration The duration of how long the object will be visible + */ +static void draw_point_path(const godot::PackedVector3Array &path, const DebugDraw3D::PointType &type = PointType::POINT_TYPE_SQUARE, const real_t &size = 0.25f, const godot::Color &points_color = godot::Color(0, 0, 0, 0), const godot::Color &lines_color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_point_path_c(path.ptr(), path.size(), type, size, points_color, lines_color, duration); +#endif +} + +/** + * Draw a sequence of points using billboard squares or spheres. + * + * [THERE WAS AN IMAGE] + * + * @param points Sequence of points + * @param type Type of points + * @param size Size of squares + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_points_c(const godot::Vector3 * points_data, const uint64_t &points_size, const DebugDraw3D::PointType &type = DebugDraw3D::PointType::POINT_TYPE_SQUARE, const real_t &size = 0.25f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_points_c)(const godot::Vector3 * /*points_data*/, const uint64_t /*points_size*/, uint32_t /*DebugDraw3D::PointType type*/, const real_t /*size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_points_c, points_data, points_size, static_cast(type), size, color, duration); +#endif +} + +/** + * Draw a sequence of points using billboard squares or spheres. + * + * [THERE WAS AN IMAGE] + * + * @param points Sequence of points + * @param type Type of points + * @param size Size of squares + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_points(const godot::PackedVector3Array &points, const DebugDraw3D::PointType &type = DebugDraw3D::PointType::POINT_TYPE_SQUARE, const real_t &size = 0.25f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_points_c(points.ptr(), points.size(), type, size, color, duration); +#endif +} + +/** + * Draw a square that will always be turned towards the camera + * + * @param position Center position of square + * @param size Square size + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_square(const godot::Vector3 &position, const real_t &size = 0.2f, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_square)(const godot::Vector3 /*position*/, const real_t /*size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_square, position, size, color, duration); +#endif +} + +/** + * Draws a plane of non-infinite size relative to the position of the current camera. + * + * The plane size is set based on the `Far` parameter of the current camera or with DebugDraw3DScopeConfig.set_plane_size. + * + * [THERE WAS AN IMAGE] + * + * @param plane Plane data + * @param color Primary color + * @param anchor_point A point that is projected onto a Plane, and its projection is used as the center of the drawn plane + * @param duration The duration of how long the object will be visible + */ +static void draw_plane(const godot::Plane &plane, const godot::Color &color = godot::Color(0, 0, 0, 0), const godot::Vector3 &anchor_point = godot::Vector3(INFINITY, INFINITY, INFINITY), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_plane)(const godot::Plane /*plane*/, const godot::Color /*color*/, const godot::Vector3 /*anchor_point*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_plane, plane, color, anchor_point, duration); +#endif +} + +/** + * Draw 3 intersecting lines with the given transformations + * + * [THERE WAS AN IMAGE] + * + * @param transform godot::Transform3D of lines + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_position(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_position)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_position, transform, color, duration); +#endif +} + +/** + * Draw 3 lines with the given transformations and arrows at the ends + * + * [THERE WAS AN IMAGE] + * + * [THERE WAS AN IMAGE] + * + * @param transform godot::Transform3D of lines + * @param color Primary color + * @param is_centered If `true`, then the lines will intersect in the center of the transform + * @param duration The duration of how long the object will be visible + */ +static void draw_gizmo(const godot::Transform3D &transform, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_centered = false, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_gizmo)(const godot::Transform3D /*transform*/, const godot::Color /*color*/, const bool /*is_centered*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_gizmo, transform, color, is_centered, duration); +#endif +} + +/** + * Draw simple grid with given size and subdivision + * + * [THERE WAS AN IMAGE] + * + * @param origin Grid origin + * @param x_size Direction and size of the X side. As an axis in the Basis. + * @param y_size Direction and size of the Y side. As an axis in the Basis. + * @param subdivision Number of cells for the X and Y axes + * @param color Primary color + * @param is_centered Draw lines relative to origin + * @param duration The duration of how long the object will be visible + */ +static void draw_grid(const godot::Vector3 &origin, const godot::Vector3 &x_size, const godot::Vector3 &y_size, const godot::Vector2i &subdivision, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_centered = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_grid)(const godot::Vector3 /*origin*/, const godot::Vector3 /*x_size*/, const godot::Vector3 /*y_size*/, const godot::Vector2i /*subdivision*/, const godot::Color /*color*/, const bool /*is_centered*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_grid, origin, x_size, y_size, subdivision, color, is_centered, duration); +#endif +} + +/** + * Draw a simple grid with a given transform and subdivision. + * + * Like DebugDraw3D.draw_grid, but instead of origin, x_size and y_size, a single transform is used. + * + * @param transform godot::Transform3D of the Grid + * @param p_subdivision Number of cells for the X and Y axes + * @param color Primary color + * @param is_centered Draw lines relative to origin + * @param duration The duration of how long the object will be visible + */ +static void draw_grid_xf(const godot::Transform3D &transform, const godot::Vector2i &p_subdivision, const godot::Color &color = godot::Color(0, 0, 0, 0), const bool &is_centered = true, const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_grid_xf)(const godot::Transform3D /*transform*/, const godot::Vector2i /*p_subdivision*/, const godot::Color /*color*/, const bool /*is_centered*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_grid_xf, transform, p_subdivision, color, is_centered, duration); +#endif +} + +/** + * Draw camera frustum area. + * + * [THERE WAS AN IMAGE] + * + * @param camera Camera node + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_camera_frustum(const godot::Camera3D * camera, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_camera_frustum)(const uint64_t /*godot::Camera3D camera*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_camera_frustum, camera ? camera->get_instance_id() : 0, color, duration); +#endif +} + +/** + * Draw the frustum area of the camera based on an array of 6 planes. + * + * @param camera_frustum Array of frustum planes + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_camera_frustum_planes_c(const godot::Plane * camera_frustum_data, const uint64_t &camera_frustum_size, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_camera_frustum_planes_c)(const godot::Plane * /*camera_frustum_data*/, const uint64_t /*camera_frustum_size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_camera_frustum_planes_c, camera_frustum_data, camera_frustum_size, color, duration); +#endif +} + +/** + * Draw text using Label3D. + * + * @note + * Outline can be changed using DebugDraw3DScopeConfig.set_text_outline_color and DebugDraw3DScopeConfig.set_text_outline_size. + * The font can be changed using DebugDraw3DScopeConfig.set_text_font. + * The text can be made to stay the same size regardless of distance using DebugDraw3DScopeConfig.set_text_fixed_size. + * + * [THERE WAS AN IMAGE] + * + * @param position Center position of Label + * @param text Label's text + * @param size Font size + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_text_c(const godot::Vector3 &position, const char * text_string, const int &size = 32, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3D_draw_text_c)(const godot::Vector3 /*position*/, const char * /*text_string*/, const int /*size*/, const godot::Color /*color*/, const real_t /*duration*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3D_draw_text_c, position, text_string, size, color, duration); +#endif +} + +/** + * Draw text using Label3D. + * + * @note + * Outline can be changed using DebugDraw3DScopeConfig.set_text_outline_color and DebugDraw3DScopeConfig.set_text_outline_size. + * The font can be changed using DebugDraw3DScopeConfig.set_text_font. + * The text can be made to stay the same size regardless of distance using DebugDraw3DScopeConfig.set_text_fixed_size. + * + * [THERE WAS AN IMAGE] + * + * @param position Center position of Label + * @param text Label's text + * @param size Font size + * @param color Primary color + * @param duration The duration of how long the object will be visible + */ +static void draw_text(const godot::Vector3 &position, const godot::String &text, const int &size = 32, const godot::Color &color = godot::Color(0, 0, 0, 0), const real_t &duration = 0) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + draw_text_c(position, text.utf8().ptr(), size, color, duration); +#endif +} + +} // namespace DebugDraw3D + +/** + * @brief + * You can get statistics about 3D rendering from this class. + * + * All names try to reflect what they mean. + * + * To get an instance of this class with current statistics, use DebugDraw3D.get_render_stats. + * + * `instances` lets you know how many instances have been created. + * + * `instances_physics` reports how many instances were created inside `_physics_process`. + * + * `total_time_spent_usec` reports the time in microseconds spent to process everything and display the geometry on the screen. + */ +class DebugDraw3DStats { +private: + void *inst_ptr; + +public: + DebugDraw3DStats(void *inst_ptr) : + inst_ptr(inst_ptr) {} + + DebugDraw3DStats(bool instantiate = true) : + inst_ptr(instantiate ? create() : create_nullptr()) {} + + ~DebugDraw3DStats() { destroy(inst_ptr); } + + operator void *() const { return inst_ptr; } + + int64_t get_instances() { + static int64_t (*DebugDraw3DStats_get_instances)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_instances, {}, inst_ptr); + } + + void set_instances(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_instances)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_instances, inst_ptr, val); +#endif + } + + int64_t get_lines() { + static int64_t (*DebugDraw3DStats_get_lines)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_lines, {}, inst_ptr); + } + + void set_lines(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_lines)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_lines, inst_ptr, val); +#endif + } + + int64_t get_instances_physics() { + static int64_t (*DebugDraw3DStats_get_instances_physics)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_instances_physics, {}, inst_ptr); + } + + void set_instances_physics(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_instances_physics)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_instances_physics, inst_ptr, val); +#endif + } + + int64_t get_lines_physics() { + static int64_t (*DebugDraw3DStats_get_lines_physics)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_lines_physics, {}, inst_ptr); + } + + void set_lines_physics(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_lines_physics)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_lines_physics, inst_ptr, val); +#endif + } + + int64_t get_total_geometry() { + static int64_t (*DebugDraw3DStats_get_total_geometry)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_total_geometry, {}, inst_ptr); + } + + void set_total_geometry(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_total_geometry)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_total_geometry, inst_ptr, val); +#endif + } + + int64_t get_visible_instances() { + static int64_t (*DebugDraw3DStats_get_visible_instances)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_visible_instances, {}, inst_ptr); + } + + void set_visible_instances(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_visible_instances)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_visible_instances, inst_ptr, val); +#endif + } + + int64_t get_visible_lines() { + static int64_t (*DebugDraw3DStats_get_visible_lines)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_visible_lines, {}, inst_ptr); + } + + void set_visible_lines(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_visible_lines)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_visible_lines, inst_ptr, val); +#endif + } + + int64_t get_total_visible() { + static int64_t (*DebugDraw3DStats_get_total_visible)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_total_visible, {}, inst_ptr); + } + + void set_total_visible(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_total_visible)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_total_visible, inst_ptr, val); +#endif + } + + int64_t get_time_filling_buffers_instances_usec() { + static int64_t (*DebugDraw3DStats_get_time_filling_buffers_instances_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_filling_buffers_instances_usec, {}, inst_ptr); + } + + void set_time_filling_buffers_instances_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_filling_buffers_instances_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_filling_buffers_instances_usec, inst_ptr, val); +#endif + } + + int64_t get_time_filling_buffers_lines_usec() { + static int64_t (*DebugDraw3DStats_get_time_filling_buffers_lines_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_filling_buffers_lines_usec, {}, inst_ptr); + } + + void set_time_filling_buffers_lines_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_filling_buffers_lines_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_filling_buffers_lines_usec, inst_ptr, val); +#endif + } + + int64_t get_time_filling_buffers_instances_physics_usec() { + static int64_t (*DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec, {}, inst_ptr); + } + + void set_time_filling_buffers_instances_physics_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec, inst_ptr, val); +#endif + } + + int64_t get_time_filling_buffers_lines_physics_usec() { + static int64_t (*DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec, {}, inst_ptr); + } + + void set_time_filling_buffers_lines_physics_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec, inst_ptr, val); +#endif + } + + int64_t get_total_time_filling_buffers_usec() { + static int64_t (*DebugDraw3DStats_get_total_time_filling_buffers_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_total_time_filling_buffers_usec, {}, inst_ptr); + } + + void set_total_time_filling_buffers_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_total_time_filling_buffers_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_total_time_filling_buffers_usec, inst_ptr, val); +#endif + } + + int64_t get_time_culling_instances_usec() { + static int64_t (*DebugDraw3DStats_get_time_culling_instances_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_culling_instances_usec, {}, inst_ptr); + } + + void set_time_culling_instances_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_culling_instances_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_culling_instances_usec, inst_ptr, val); +#endif + } + + int64_t get_time_culling_lines_usec() { + static int64_t (*DebugDraw3DStats_get_time_culling_lines_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_time_culling_lines_usec, {}, inst_ptr); + } + + void set_time_culling_lines_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_time_culling_lines_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_time_culling_lines_usec, inst_ptr, val); +#endif + } + + int64_t get_total_time_culling_usec() { + static int64_t (*DebugDraw3DStats_get_total_time_culling_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_total_time_culling_usec, {}, inst_ptr); + } + + void set_total_time_culling_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_total_time_culling_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_total_time_culling_usec, inst_ptr, val); +#endif + } + + int64_t get_total_time_spent_usec() { + static int64_t (*DebugDraw3DStats_get_total_time_spent_usec)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_total_time_spent_usec, {}, inst_ptr); + } + + void set_total_time_spent_usec(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_total_time_spent_usec)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_total_time_spent_usec, inst_ptr, val); +#endif + } + + int64_t get_created_scoped_configs() { + static int64_t (*DebugDraw3DStats_get_created_scoped_configs)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_created_scoped_configs, {}, inst_ptr); + } + + void set_created_scoped_configs(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_created_scoped_configs)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_created_scoped_configs, inst_ptr, val); +#endif + } + + int64_t get_orphan_scoped_configs() { + static int64_t (*DebugDraw3DStats_get_orphan_scoped_configs)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_orphan_scoped_configs, {}, inst_ptr); + } + + void set_orphan_scoped_configs(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_orphan_scoped_configs)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_orphan_scoped_configs, inst_ptr, val); +#endif + } + + int64_t get_nodes_label3d_visible() { + static int64_t (*DebugDraw3DStats_get_nodes_label3d_visible)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_nodes_label3d_visible, {}, inst_ptr); + } + + void set_nodes_label3d_visible(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_nodes_label3d_visible)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_nodes_label3d_visible, inst_ptr, val); +#endif + } + + int64_t get_nodes_label3d_visible_physics() { + static int64_t (*DebugDraw3DStats_get_nodes_label3d_visible_physics)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_nodes_label3d_visible_physics, {}, inst_ptr); + } + + void set_nodes_label3d_visible_physics(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_nodes_label3d_visible_physics)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_nodes_label3d_visible_physics, inst_ptr, val); +#endif + } + + int64_t get_nodes_label3d_exists() { + static int64_t (*DebugDraw3DStats_get_nodes_label3d_exists)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_nodes_label3d_exists, {}, inst_ptr); + } + + void set_nodes_label3d_exists(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_nodes_label3d_exists)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_nodes_label3d_exists, inst_ptr, val); +#endif + } + + int64_t get_nodes_label3d_exists_physics() { + static int64_t (*DebugDraw3DStats_get_nodes_label3d_exists_physics)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_nodes_label3d_exists_physics, {}, inst_ptr); + } + + void set_nodes_label3d_exists_physics(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_nodes_label3d_exists_physics)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_nodes_label3d_exists_physics, inst_ptr, val); +#endif + } + + int64_t get_nodes_label3d_exists_total() { + static int64_t (*DebugDraw3DStats_get_nodes_label3d_exists_total)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_get_nodes_label3d_exists_total, {}, inst_ptr); + } + + void set_nodes_label3d_exists_total(const int64_t &val) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDraw3DStats_set_nodes_label3d_exists_total)(void * /*inst_ptr*/, int64_t /*val*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_set_nodes_label3d_exists_total, inst_ptr, val); +#endif + } + +private: + static void * create() { + static void * (*DebugDraw3DStats_create)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_create, nullptr); + } + + static void * create_nullptr() { + static void * (*DebugDraw3DStats_create_nullptr)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDraw3DStats_create_nullptr, nullptr); + } + + static void destroy(void * inst_ptr) { + static void (*DebugDraw3DStats_destroy)(void * /*inst_ptr*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDraw3DStats_destroy, inst_ptr); + } + +}; // class DebugDraw3DStats + +/** + * @brief + * The main singleton class that handles DebugDraw2D and DebugDraw3D. + * + * Several additional settings can be found in the project settings. + * + * @note The following settings require a restart. + * + * `debug_draw_3d/settings/initial_debug_state` sets the initial debugging state. + * + * `debug_draw_3d/settings/common/DebugDrawManager_singleton_aliases` sets aliases for DebugDrawManager to be registered as additional singletons. + * + * `debug_draw_3d/settings/common/DebugDraw2D_singleton_aliases` sets aliases for DebugDraw2D to be registered as additional singletons. + * + * `debug_draw_3d/settings/common/DebugDraw3D_singleton_aliases` sets aliases for DebugDraw3D to be registered as additional singletons. + * + * Using these aliases you can reference singletons with shorter words: + * + * ```python + * var _s = Dbg3.new_scoped_config().set_thickness(0.025).set_center_brightness(0.7) + * Dbg3.draw_grid_xf(%Grid.global_transform, Vector2i(10,10), Color.LIGHT_GRAY) + * Dbg2.set_text("Frametime", delta) + * ``` + */ +namespace DebugDrawManager { +/** + * Clear all 2D and 3D geometry + */ +static void clear_all() { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDrawManager_clear_all)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDrawManager_clear_all); +#endif +} + +/** + * Set whether to display 2D and 3D debug graphics + */ +static void set_debug_enabled(const bool &value) { +#ifdef _DD3D_RUNTIME_CHECK_ENABLED + static void (*DebugDrawManager_set_debug_enabled)(bool /*value*/) = nullptr; + LOAD_AND_CALL_FUNC_POINTER(DebugDrawManager_set_debug_enabled, value); +#endif +} + +/** + * Whether debug 2D and 3D graphics are disabled + */ +static bool is_debug_enabled() { + static bool (*DebugDrawManager_is_debug_enabled)() = nullptr; + LOAD_AND_CALL_FUNC_POINTER_RET(DebugDrawManager_is_debug_enabled, {}); +} + +} // namespace DebugDrawManager + +// End of the generated API + +#undef _DD3D_RUNTIME_CHECK_ENABLED + +#undef FUNC_GET_SIGNATURE +#undef LOADING_RESULT +#undef LOAD_FUNC_AND_STORE_RESULT +#undef IS_FIRST_LOADING +#undef IS_LOADED_SUCCESSFULLY +#undef IS_FAILED_TO_LOAD + +#undef LOAD_AND_CALL_FUNC_POINTER +#undef LOAD_AND_CALL_FUNC_POINTER_SELFRET +#undef LOAD_AND_CALL_FUNC_POINTER_RET +#undef LOAD_AND_CALL_FUNC_POINTER_RET_CAST +#undef LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_OBJECT +#undef LOAD_AND_CALL_FUNC_POINTER_RET_GODOT_REF +#undef LOAD_AND_CALL_FUNC_POINTER_RET_REF_TO_SHARED + +#ifdef _NoProfiler +#undef ZoneScoped +#endif +#undef _NoProfiler diff --git a/addons/debug_draw_3d/native_api/cs/dd3d_cs_api.generated.cs b/addons/debug_draw_3d/native_api/cs/dd3d_cs_api.generated.cs new file mode 100644 index 0000000..3740de1 --- /dev/null +++ b/addons/debug_draw_3d/native_api/cs/dd3d_cs_api.generated.cs @@ -0,0 +1,3876 @@ +/// ////////////////////////////////////////////////////////////// +/// THIS FILE HAS BEEN GENERATED. +/// THE CHANGES IN THIS FILE WILL BE OVERWRITTEN AFTER THE UPDATE! +/// ////////////////////////////////////////////////////////////// + +#if !DEBUG && !FORCED_DD3D +#define _DD3D_RUNTIME_CHECK_ENABLED +#endif + +#if (!DEBUG || FORCED_DD3D) || (DEBUG && !FORCED_DD3D) +#define _DD3D_COMPILETIME_CHECK_ENABLED +#endif + +using Godot; +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using DD3DFuncLoadingResult = InternalDD3DApiLoaderUtils_.LoadingResult; + +// Precision is replaced during generation, but can be replaced manually if necessary. +using real_t = float; + +internal static class InternalDD3DApiLoaderUtils_ +{ + const bool is_debug_enabled = +#if DEBUG + true; +#else + false; +#endif + public static readonly bool IsCallEnabled = is_debug_enabled || OS.HasFeature("forced_dd3d"); + + static readonly string log_prefix = "[DD3D C#] "; + static readonly string get_funcs_is_double_name = "_get_native_functions_is_double"; + static readonly string get_funcs_hash_name = "_get_native_functions_hash"; + static readonly string get_classes_name = "_get_native_classes"; + static readonly string get_funcs_name = "_get_native_functions"; + + public enum LoadingResult + { + None, + Success, + Failure + }; + + static GodotObject dd3d_c = null; + static bool failed_to_load = false; + static System.Collections.Generic.Dictionary dd3d_class_sizes = new(); + + static GodotObject get_dd3d() + { + if (failed_to_load) + return null; + + if (dd3d_c != null) + return dd3d_c; + + if (Engine.HasSingleton("DebugDrawManager")) + { + GodotObject dd3d = Engine.GetSingleton("DebugDrawManager"); + + if (!dd3d.HasMethod(get_funcs_is_double_name)) + { + GD.PrintErr(log_prefix, get_funcs_is_double_name, " not found!"); + failed_to_load = true; + return null; + } + + bool is_double = OS.HasFeature("double"); + + if (dd3d.Call(get_funcs_is_double_name).AsBool() != is_double) + { + GD.PrintErr(log_prefix, "The precision of Vectors and Matrices of DD3D and the current library do not match!"); + failed_to_load = true; + return null; + } + + foreach (string name in new string[] { get_funcs_hash_name, get_classes_name, get_funcs_name }) + { + if (!dd3d.HasMethod(name)) + { + GD.PrintErr(log_prefix, name, " not found!"); + failed_to_load = true; + return null; + } + } + + dd3d_c = dd3d; + return dd3d_c; + } + else + { + GD.PrintErr(log_prefix, "DebugDrawManager not found! Most likely, DebugDraw3D was not loaded correctly."); + failed_to_load = true; + } + + return null; + } + + static bool _load_function(string name, ref dlgt_T func) + { + GodotObject dd3d = get_dd3d(); + if (dd3d != null) + { + Godot.Collections.Dictionary api = dd3d.Call(get_funcs_name).AsGodotDictionary(); + if (api.ContainsKey(name)) + { + Godot.Collections.Dictionary func_dict = api[name].AsGodotDictionary(); + + // TODO: signature check? + + func = Marshal.GetDelegateForFunctionPointer((nint)func_dict["ptr"].AsInt64()); + return true; + } + else + { + GD.PrintErr(log_prefix, "!!! FUNCTION NOT FOUND !!! function name: ", name); + return false; + } + } + return false; + } + + static int _get_class_size(Type cls) + { + GodotObject dd3d = get_dd3d(); + if (dd3d != null) + { + Godot.Collections.Dictionary api = dd3d.Call(get_classes_name).AsGodotDictionary(); + if (api.ContainsKey(cls.Name)) + { + Godot.Collections.Dictionary cls_dict = api[cls.Name].AsGodotDictionary(); + + var size = cls_dict["size"].AsInt32(); + dd3d_class_sizes[cls] = size; + return size; + } + else + { + GD.PrintErr(log_prefix, "!!! CLASS NOT FOUND !!! class name: ", cls.Name); + return -1; // crash + } + } + return -1; // crash + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool LoadFunction(string name, ref dlgt_T func, ref DD3DFuncLoadingResult result) + { + if (result == DD3DFuncLoadingResult.None) + result = _load_function(name, ref func) ? DD3DFuncLoadingResult.Success : DD3DFuncLoadingResult.Failure; + if (result == DD3DFuncLoadingResult.Failure) + return false; + return true; + } + + public static int GetDD3DClassSize(Type cls) + { + if (dd3d_class_sizes.TryGetValue(cls, out int val)) + return val; + else + return _get_class_size(cls); + } + + public static readonly Color _default_arg_0 = new Color(0.96f, 0.96f, 0.96f, 1.0f); + public static readonly Color _default_arg_1 = new Color(0, 0, 0, 0); + public static readonly Vector3 _default_arg_2 = new Vector3(real_t.PositiveInfinity, real_t.PositiveInfinity, real_t.PositiveInfinity); +} + +// Start of the generated API + +/// +/// +/// This is a class for storing part of the DebugDraw2D configuration. +/// +/// +/// You can use DebugDraw2D.get_config to get the current instance of the configuration. +/// +internal class DebugDraw2DConfig : IDisposable +{ + public enum BlockPosition : uint + { + LeftTop = 0, + RightTop = 1, + LeftBottom = 2, + RightBottom = 3, + } + + IntPtr inst_ptr; + + public DebugDraw2DConfig(IntPtr inst_ptr) + { + this.inst_ptr = inst_ptr; + } + + public DebugDraw2DConfig(bool instantiate = true) + { + this.inst_ptr = instantiate ? Create() : CreateNullptr(); + } + + ~DebugDraw2DConfig() => Dispose(); + + public static explicit operator IntPtr(DebugDraw2DConfig o) { return o.inst_ptr; } + + public void Dispose() + { + if (inst_ptr != IntPtr.Zero) + { + Destroy(inst_ptr); + inst_ptr = IntPtr.Zero; + } + } + + /// + /// Position of the text block + /// + public DebugDraw2DConfig.BlockPosition TextBlockPosition { get => GetTextBlockPosition(); set => SetTextBlockPosition(value); } + + /// + /// Offset from the corner selected in 'set_text_block_position' + /// + public Vector2I TextBlockOffset { get => GetTextBlockOffset(); set => SetTextBlockOffset(value); } + + /// + /// Text padding for each line + /// + public Vector2I TextPadding { get => GetTextPadding(); set => SetTextPadding(value); } + + /// + /// How long the text remains visible after creation. + /// + public real_t TextDefaultDuration { get => GetTextDefaultDuration(); set => SetTextDefaultDuration(value); } + + /// + /// Default text size + /// + public int TextDefaultSize { get => GetTextDefaultSize(); set => SetTextDefaultSize(value); } + + /// + /// Default color of the text + /// + public Color TextForegroundColor { get => GetTextForegroundColor(); set => SetTextForegroundColor(value); } + + /// + /// Background color of the text + /// + public Color TextBackgroundColor { get => GetTextBackgroundColor(); set => SetTextBackgroundColor(value); } + + /// + /// Custom text Font + /// + public Font TextCustomFont { get => GetTextCustomFont(); set => SetTextCustomFont(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_block_position(IntPtr inst_ptr, uint /*DebugDraw2DConfig::BlockPosition*/ _position); + static dlgt_DebugDraw2DConfig_set_text_block_position func_DebugDraw2DConfig_set_text_block_position; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_block_position; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate uint /*DebugDraw2DConfig::BlockPosition*/ dlgt_DebugDraw2DConfig_get_text_block_position(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_block_position func_DebugDraw2DConfig_get_text_block_position; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_block_position; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_block_offset(IntPtr inst_ptr, Vector2I _offset); + static dlgt_DebugDraw2DConfig_set_text_block_offset func_DebugDraw2DConfig_set_text_block_offset; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_block_offset; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Vector2I dlgt_DebugDraw2DConfig_get_text_block_offset(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_block_offset func_DebugDraw2DConfig_get_text_block_offset; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_block_offset; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_padding(IntPtr inst_ptr, Vector2I _padding); + static dlgt_DebugDraw2DConfig_set_text_padding func_DebugDraw2DConfig_set_text_padding; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_padding; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Vector2I dlgt_DebugDraw2DConfig_get_text_padding(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_padding func_DebugDraw2DConfig_get_text_padding; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_padding; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_default_duration(IntPtr inst_ptr, real_t _duration); + static dlgt_DebugDraw2DConfig_set_text_default_duration func_DebugDraw2DConfig_set_text_default_duration; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_default_duration; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate real_t dlgt_DebugDraw2DConfig_get_text_default_duration(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_default_duration func_DebugDraw2DConfig_get_text_default_duration; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_default_duration; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_default_size(IntPtr inst_ptr, int _size); + static dlgt_DebugDraw2DConfig_set_text_default_size func_DebugDraw2DConfig_set_text_default_size; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_default_size; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate int dlgt_DebugDraw2DConfig_get_text_default_size(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_default_size func_DebugDraw2DConfig_get_text_default_size; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_default_size; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_foreground_color(IntPtr inst_ptr, Color _new_color); + static dlgt_DebugDraw2DConfig_set_text_foreground_color func_DebugDraw2DConfig_set_text_foreground_color; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_foreground_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Color dlgt_DebugDraw2DConfig_get_text_foreground_color(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_foreground_color func_DebugDraw2DConfig_get_text_foreground_color; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_foreground_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_background_color(IntPtr inst_ptr, Color _new_color); + static dlgt_DebugDraw2DConfig_set_text_background_color func_DebugDraw2DConfig_set_text_background_color; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_background_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Color dlgt_DebugDraw2DConfig_get_text_background_color(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_background_color func_DebugDraw2DConfig_get_text_background_color; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_background_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_set_text_custom_font(IntPtr inst_ptr, ulong _custom_font); + static dlgt_DebugDraw2DConfig_set_text_custom_font func_DebugDraw2DConfig_set_text_custom_font; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_set_text_custom_font; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate ulong dlgt_DebugDraw2DConfig_get_text_custom_font(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_get_text_custom_font func_DebugDraw2DConfig_get_text_custom_font; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_get_text_custom_font; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2DConfig_create(); + static dlgt_DebugDraw2DConfig_create func_DebugDraw2DConfig_create; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_create; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2DConfig_create_nullptr(); + static dlgt_DebugDraw2DConfig_create_nullptr func_DebugDraw2DConfig_create_nullptr; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_create_nullptr; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DConfig_destroy(IntPtr inst_ptr); + static dlgt_DebugDraw2DConfig_destroy func_DebugDraw2DConfig_destroy; static DD3DFuncLoadingResult func_load_result_DebugDraw2DConfig_destroy; + + /// + /// Position of the text block + /// + public void SetTextBlockPosition(DebugDraw2DConfig.BlockPosition _position) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_block_position", ref func_DebugDraw2DConfig_set_text_block_position, ref func_load_result_DebugDraw2DConfig_set_text_block_position)) + return; + func_DebugDraw2DConfig_set_text_block_position(inst_ptr, (uint)(_position)); +#endif + } + } + + public DebugDraw2DConfig.BlockPosition GetTextBlockPosition() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_block_position", ref func_DebugDraw2DConfig_get_text_block_position, ref func_load_result_DebugDraw2DConfig_get_text_block_position)) + return default; + return (DebugDraw2DConfig.BlockPosition)func_DebugDraw2DConfig_get_text_block_position(inst_ptr); + } + + /// + /// Offset from the corner selected in 'set_text_block_position' + /// + public void SetTextBlockOffset(Vector2I _offset) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_block_offset", ref func_DebugDraw2DConfig_set_text_block_offset, ref func_load_result_DebugDraw2DConfig_set_text_block_offset)) + return; + func_DebugDraw2DConfig_set_text_block_offset(inst_ptr, _offset); +#endif + } + } + + public Vector2I GetTextBlockOffset() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_block_offset", ref func_DebugDraw2DConfig_get_text_block_offset, ref func_load_result_DebugDraw2DConfig_get_text_block_offset)) + return default; + return func_DebugDraw2DConfig_get_text_block_offset(inst_ptr); + } + + /// + /// Text padding for each line + /// + public void SetTextPadding(Vector2I _padding) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_padding", ref func_DebugDraw2DConfig_set_text_padding, ref func_load_result_DebugDraw2DConfig_set_text_padding)) + return; + func_DebugDraw2DConfig_set_text_padding(inst_ptr, _padding); +#endif + } + } + + public Vector2I GetTextPadding() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_padding", ref func_DebugDraw2DConfig_get_text_padding, ref func_load_result_DebugDraw2DConfig_get_text_padding)) + return default; + return func_DebugDraw2DConfig_get_text_padding(inst_ptr); + } + + /// + /// How long the text remains visible after creation. + /// + public void SetTextDefaultDuration(real_t _duration) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_default_duration", ref func_DebugDraw2DConfig_set_text_default_duration, ref func_load_result_DebugDraw2DConfig_set_text_default_duration)) + return; + func_DebugDraw2DConfig_set_text_default_duration(inst_ptr, _duration); +#endif + } + } + + public real_t GetTextDefaultDuration() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_default_duration", ref func_DebugDraw2DConfig_get_text_default_duration, ref func_load_result_DebugDraw2DConfig_get_text_default_duration)) + return default; + return func_DebugDraw2DConfig_get_text_default_duration(inst_ptr); + } + + /// + /// Default text size + /// + public void SetTextDefaultSize(int _size) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_default_size", ref func_DebugDraw2DConfig_set_text_default_size, ref func_load_result_DebugDraw2DConfig_set_text_default_size)) + return; + func_DebugDraw2DConfig_set_text_default_size(inst_ptr, _size); +#endif + } + } + + public int GetTextDefaultSize() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_default_size", ref func_DebugDraw2DConfig_get_text_default_size, ref func_load_result_DebugDraw2DConfig_get_text_default_size)) + return default; + return func_DebugDraw2DConfig_get_text_default_size(inst_ptr); + } + + /// + /// Default color of the text + /// + public void SetTextForegroundColor(Color _new_color) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_foreground_color", ref func_DebugDraw2DConfig_set_text_foreground_color, ref func_load_result_DebugDraw2DConfig_set_text_foreground_color)) + return; + func_DebugDraw2DConfig_set_text_foreground_color(inst_ptr, _new_color); +#endif + } + } + + public Color GetTextForegroundColor() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_foreground_color", ref func_DebugDraw2DConfig_get_text_foreground_color, ref func_load_result_DebugDraw2DConfig_get_text_foreground_color)) + return default; + return func_DebugDraw2DConfig_get_text_foreground_color(inst_ptr); + } + + /// + /// Background color of the text + /// + public void SetTextBackgroundColor(Color _new_color) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_background_color", ref func_DebugDraw2DConfig_set_text_background_color, ref func_load_result_DebugDraw2DConfig_set_text_background_color)) + return; + func_DebugDraw2DConfig_set_text_background_color(inst_ptr, _new_color); +#endif + } + } + + public Color GetTextBackgroundColor() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_background_color", ref func_DebugDraw2DConfig_get_text_background_color, ref func_load_result_DebugDraw2DConfig_get_text_background_color)) + return default; + return func_DebugDraw2DConfig_get_text_background_color(inst_ptr); + } + + /// + /// Custom text Font + /// + public void SetTextCustomFont(Font _custom_font) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_set_text_custom_font", ref func_DebugDraw2DConfig_set_text_custom_font, ref func_load_result_DebugDraw2DConfig_set_text_custom_font)) + return; + func_DebugDraw2DConfig_set_text_custom_font(inst_ptr, _custom_font != null ? _custom_font.GetInstanceId() : 0); +#endif + } + } + + public Font GetTextCustomFont() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_get_text_custom_font", ref func_DebugDraw2DConfig_get_text_custom_font, ref func_load_result_DebugDraw2DConfig_get_text_custom_font)) + return default; + return (Font)GodotObject.InstanceFromId(func_DebugDraw2DConfig_get_text_custom_font(inst_ptr)); + } + + private static IntPtr Create() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_create", ref func_DebugDraw2DConfig_create, ref func_load_result_DebugDraw2DConfig_create)) + return IntPtr.Zero; + return func_DebugDraw2DConfig_create(); + } + + private static IntPtr CreateNullptr() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_create_nullptr", ref func_DebugDraw2DConfig_create_nullptr, ref func_load_result_DebugDraw2DConfig_create_nullptr)) + return IntPtr.Zero; + return func_DebugDraw2DConfig_create_nullptr(); + } + + private static void Destroy(IntPtr inst_ptr) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DConfig_destroy", ref func_DebugDraw2DConfig_destroy, ref func_load_result_DebugDraw2DConfig_destroy)) + return; + func_DebugDraw2DConfig_destroy(inst_ptr); + } + +}; // class DebugDraw2DConfig + +/// +/// +/// Singleton class for calling debugging 2D methods. +/// +/// +/// Currently, this class supports drawing an overlay with text. +/// +internal static class DebugDraw2D +{ + /// + /// Set whether debug drawing works or not. + /// + public static bool DebugEnabled { get => IsDebugEnabled(); set => SetDebugEnabled(value); } + + /// + /// Set the configuration global for everything in DebugDraw2D. + /// + public static DebugDraw2DConfig Config { get => GetConfig(); set => SetConfig(value); } + + /// + /// Set a custom Control to be used as the canvas for drawing the graphic. + /// + /// You can use any Control, even one that is in a different window. + /// + public static Control CustomCanvas { get => GetCustomCanvas(); set => SetCustomCanvas(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_set_debug_enabled(bool _state); + static dlgt_DebugDraw2D_set_debug_enabled func_DebugDraw2D_set_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_set_debug_enabled; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw2D_is_debug_enabled(); + static dlgt_DebugDraw2D_is_debug_enabled func_DebugDraw2D_is_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_is_debug_enabled; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_set_config(IntPtr _cfg); + static dlgt_DebugDraw2D_set_config func_DebugDraw2D_set_config; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_set_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2D_get_config(); + static dlgt_DebugDraw2D_get_config func_DebugDraw2D_get_config; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_get_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_set_custom_canvas(ulong /*godot::Control*/ _canvas); + static dlgt_DebugDraw2D_set_custom_canvas func_DebugDraw2D_set_custom_canvas; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_set_custom_canvas; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate ulong dlgt_DebugDraw2D_get_custom_canvas(); + static dlgt_DebugDraw2D_get_custom_canvas func_DebugDraw2D_get_custom_canvas; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_get_custom_canvas; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2D_get_render_stats(); + static dlgt_DebugDraw2D_get_render_stats func_DebugDraw2D_get_render_stats; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_get_render_stats; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_clear_all(); + static dlgt_DebugDraw2D_clear_all func_DebugDraw2D_clear_all; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_clear_all; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_begin_text_group_c([MarshalAs(UnmanagedType.LPUTF8Str)] string /*godot::String*/ group_title_string, int group_priority, Color group_color, bool show_title, int title_size, int text_size); + static dlgt_DebugDraw2D_begin_text_group_c func_DebugDraw2D_begin_text_group_c; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_begin_text_group_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_end_text_group(); + static dlgt_DebugDraw2D_end_text_group func_DebugDraw2D_end_text_group; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_end_text_group; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_set_text_c([MarshalAs(UnmanagedType.LPUTF8Str)] string /*godot::String*/ key_string, [MarshalAs(UnmanagedType.LPUTF8Str)] string /*godot::String*/ value_string, int priority, Color color_of_value, real_t duration); + static dlgt_DebugDraw2D_set_text_c func_DebugDraw2D_set_text_c; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_set_text_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2D_clear_texts(); + static dlgt_DebugDraw2D_clear_texts func_DebugDraw2D_clear_texts; static DD3DFuncLoadingResult func_load_result_DebugDraw2D_clear_texts; + + /// + /// Set whether debug drawing works or not. + /// + public static void SetDebugEnabled(bool _state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_set_debug_enabled", ref func_DebugDraw2D_set_debug_enabled, ref func_load_result_DebugDraw2D_set_debug_enabled)) + return; + func_DebugDraw2D_set_debug_enabled(_state); +#endif + } + } + + public static bool IsDebugEnabled() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_is_debug_enabled", ref func_DebugDraw2D_is_debug_enabled, ref func_load_result_DebugDraw2D_is_debug_enabled)) + return default; + return func_DebugDraw2D_is_debug_enabled(); + } + + /// + /// Set the configuration global for everything in DebugDraw2D. + /// + public static void SetConfig(DebugDraw2DConfig _cfg) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_set_config", ref func_DebugDraw2D_set_config, ref func_load_result_DebugDraw2D_set_config)) + return; + func_DebugDraw2D_set_config((IntPtr)_cfg); +#endif + } + } + + /// + /// Get the DebugDraw2DConfig. + /// + public static DebugDraw2DConfig GetConfig() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_get_config", ref func_DebugDraw2D_get_config, ref func_load_result_DebugDraw2D_get_config)) + return null; + return new DebugDraw2DConfig(func_DebugDraw2D_get_config()); + } + + /// + /// Set a custom Control to be used as the canvas for drawing the graphic. + /// + /// You can use any Control, even one that is in a different window. + /// + public static void SetCustomCanvas(Control _canvas) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_set_custom_canvas", ref func_DebugDraw2D_set_custom_canvas, ref func_load_result_DebugDraw2D_set_custom_canvas)) + return; + func_DebugDraw2D_set_custom_canvas(_canvas != null ? _canvas.GetInstanceId() : 0); +#endif + } + } + + public static Control GetCustomCanvas() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_get_custom_canvas", ref func_DebugDraw2D_get_custom_canvas, ref func_load_result_DebugDraw2D_get_custom_canvas)) + return default; + return (Control)GodotObject.InstanceFromId(func_DebugDraw2D_get_custom_canvas()); + } + + /// + /// Returns the DebugDraw2DStats instance with the current statistics. + /// + /// Some data can be delayed by 1 frame. + /// + public static DebugDraw2DStats GetRenderStats() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_get_render_stats", ref func_DebugDraw2D_get_render_stats, ref func_load_result_DebugDraw2D_get_render_stats)) + return null; + return new DebugDraw2DStats(func_DebugDraw2D_get_render_stats()); + } + + /// + /// Clear all 2D objects + /// + public static void ClearAll() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_clear_all", ref func_DebugDraw2D_clear_all, ref func_load_result_DebugDraw2D_clear_all)) + return; + func_DebugDraw2D_clear_all(); +#endif + } + } + + /// + /// Begin a text group to which all of the following text from DebugDraw2D.set_text will be added + /// + /// + /// Group title and ID + /// Group priority based on which groups will be sorted from top to bottom. + /// Main color of the group + /// Whether to show the title + /// Title font size + /// Text font size + public static void BeginTextGroup(string group_title, int group_priority = 0, Color? group_color = null, bool show_title = true, int title_size = -1, int text_size = -1) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_begin_text_group_c", ref func_DebugDraw2D_begin_text_group_c, ref func_load_result_DebugDraw2D_begin_text_group_c)) + return; + func_DebugDraw2D_begin_text_group_c(group_title, group_priority, group_color ?? InternalDD3DApiLoaderUtils_._default_arg_0, show_title, title_size, text_size); +#endif + } + } + + /// + /// Ends the text group. Should be called after DebugDraw2D.begin_text_group. + /// + /// If you need to create multiple groups, just call DebugDraw2D.begin_text_group again and this function at the end. + /// + public static void EndTextGroup() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_end_text_group", ref func_DebugDraw2D_end_text_group, ref func_load_result_DebugDraw2D_end_text_group)) + return; + func_DebugDraw2D_end_text_group(); +#endif + } + } + + /// + /// Add or update text in an overlay + /// + /// + /// Left value if 'value' is set, otherwise the entire string is 'key' + /// Value of field + /// Priority of this line. Lower value is higher position + /// Value color + /// Expiration time + public static void SetText(string key, string value = "", int priority = 0, Color? color_of_value = null, real_t duration = -1) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_set_text_c", ref func_DebugDraw2D_set_text_c, ref func_load_result_DebugDraw2D_set_text_c)) + return; + func_DebugDraw2D_set_text_c(key, value, priority, color_of_value ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Clear all text + /// + public static void ClearTexts() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2D_clear_texts", ref func_DebugDraw2D_clear_texts, ref func_load_result_DebugDraw2D_clear_texts)) + return; + func_DebugDraw2D_clear_texts(); +#endif + } + } + +} // class DebugDraw2D + +/// +/// +/// You can get basic statistics about 2D rendering from this class. +/// +/// +/// All names try to reflect what they mean. +/// +/// To get an instance of this class with current statistics, use DebugDraw2D.get_render_stats. +/// +internal class DebugDraw2DStats : IDisposable +{ + IntPtr inst_ptr; + + public DebugDraw2DStats(IntPtr inst_ptr) + { + this.inst_ptr = inst_ptr; + } + + public DebugDraw2DStats(bool instantiate = true) + { + this.inst_ptr = instantiate ? Create() : CreateNullptr(); + } + + ~DebugDraw2DStats() => Dispose(); + + public static explicit operator IntPtr(DebugDraw2DStats o) { return o.inst_ptr; } + + public void Dispose() + { + if (inst_ptr != IntPtr.Zero) + { + Destroy(inst_ptr); + inst_ptr = IntPtr.Zero; + } + } + + public long OverlayTextGroups { get => GetOverlayTextGroups(); set => SetOverlayTextGroups(value); } + + public long OverlayTextLines { get => GetOverlayTextLines(); set => SetOverlayTextLines(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw2DStats_get_overlay_text_groups(IntPtr inst_ptr); + static dlgt_DebugDraw2DStats_get_overlay_text_groups func_DebugDraw2DStats_get_overlay_text_groups; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_get_overlay_text_groups; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DStats_set_overlay_text_groups(IntPtr inst_ptr, long val); + static dlgt_DebugDraw2DStats_set_overlay_text_groups func_DebugDraw2DStats_set_overlay_text_groups; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_set_overlay_text_groups; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw2DStats_get_overlay_text_lines(IntPtr inst_ptr); + static dlgt_DebugDraw2DStats_get_overlay_text_lines func_DebugDraw2DStats_get_overlay_text_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_get_overlay_text_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DStats_set_overlay_text_lines(IntPtr inst_ptr, long val); + static dlgt_DebugDraw2DStats_set_overlay_text_lines func_DebugDraw2DStats_set_overlay_text_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_set_overlay_text_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2DStats_create(); + static dlgt_DebugDraw2DStats_create func_DebugDraw2DStats_create; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_create; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw2DStats_create_nullptr(); + static dlgt_DebugDraw2DStats_create_nullptr func_DebugDraw2DStats_create_nullptr; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_create_nullptr; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw2DStats_destroy(IntPtr inst_ptr); + static dlgt_DebugDraw2DStats_destroy func_DebugDraw2DStats_destroy; static DD3DFuncLoadingResult func_load_result_DebugDraw2DStats_destroy; + + public long GetOverlayTextGroups() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_get_overlay_text_groups", ref func_DebugDraw2DStats_get_overlay_text_groups, ref func_load_result_DebugDraw2DStats_get_overlay_text_groups)) + return default; + return func_DebugDraw2DStats_get_overlay_text_groups(inst_ptr); + } + + public void SetOverlayTextGroups(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_set_overlay_text_groups", ref func_DebugDraw2DStats_set_overlay_text_groups, ref func_load_result_DebugDraw2DStats_set_overlay_text_groups)) + return; + func_DebugDraw2DStats_set_overlay_text_groups(inst_ptr, val); +#endif + } + } + + public long GetOverlayTextLines() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_get_overlay_text_lines", ref func_DebugDraw2DStats_get_overlay_text_lines, ref func_load_result_DebugDraw2DStats_get_overlay_text_lines)) + return default; + return func_DebugDraw2DStats_get_overlay_text_lines(inst_ptr); + } + + public void SetOverlayTextLines(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_set_overlay_text_lines", ref func_DebugDraw2DStats_set_overlay_text_lines, ref func_load_result_DebugDraw2DStats_set_overlay_text_lines)) + return; + func_DebugDraw2DStats_set_overlay_text_lines(inst_ptr, val); +#endif + } + } + + private static IntPtr Create() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_create", ref func_DebugDraw2DStats_create, ref func_load_result_DebugDraw2DStats_create)) + return IntPtr.Zero; + return func_DebugDraw2DStats_create(); + } + + private static IntPtr CreateNullptr() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_create_nullptr", ref func_DebugDraw2DStats_create_nullptr, ref func_load_result_DebugDraw2DStats_create_nullptr)) + return IntPtr.Zero; + return func_DebugDraw2DStats_create_nullptr(); + } + + private static void Destroy(IntPtr inst_ptr) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw2DStats_destroy", ref func_DebugDraw2DStats_destroy, ref func_load_result_DebugDraw2DStats_destroy)) + return; + func_DebugDraw2DStats_destroy(inst_ptr); + } + +}; // class DebugDraw2DStats + +/// +/// +/// This is a class for storing part of the DebugDraw3D configuration. +/// +/// +/// You can use DebugDraw3D.get_config to get the current instance of the configuration. +/// +internal class DebugDraw3DConfig : IDisposable +{ + public enum CullingMode : uint + { + Disabled = 0, + Rough = 1, + Precise = 2, + } + + IntPtr inst_ptr; + + public DebugDraw3DConfig(IntPtr inst_ptr) + { + this.inst_ptr = inst_ptr; + } + + public DebugDraw3DConfig(bool instantiate = true) + { + this.inst_ptr = instantiate ? Create() : CreateNullptr(); + } + + ~DebugDraw3DConfig() => Dispose(); + + public static explicit operator IntPtr(DebugDraw3DConfig o) { return o.inst_ptr; } + + public void Dispose() + { + if (inst_ptr != IntPtr.Zero) + { + Destroy(inst_ptr); + inst_ptr = IntPtr.Zero; + } + } + + /// + /// Set whether debug 3D graphics rendering is frozen. + /// This means that previously created geometry will not be updated until set to false or until DebugDraw3D.clear_all is called. + /// + public bool Freeze3dRender { get => IsFreeze3dRender(); set => SetFreeze3dRender(value); } + + /// + /// Set whether the boundaries of instances are displayed. + /// Based on these boundaries, instances are culled if set_use_frustum_culling is activated. + /// + public bool VisibleInstanceBounds { get => IsVisibleInstanceBounds(); set => SetVisibleInstanceBounds(value); } + + /// + /// Deprecated + /// Set whether frustum culling is used. + /// This is a wrapper over DebugDraw3DConfig.set_frustum_culling_mode and exists for compatibility with older versions. + /// + /// + /// Enabling or disabling this option does not affect the rough culling based on the camera's AABB of frustum. + /// This option enables more accurate culling based on the camera's frustum planes. + /// + /// + public bool UseFrustumCulling { get => IsUseFrustumCulling(); set => SetUseFrustumCulling(value); } + + /// + /// Set frustum culling mode. + /// + public DebugDraw3DConfig.CullingMode FrustumCullingMode { get => GetFrustumCullingMode(); set => SetFrustumCullingMode(value); } + + /// + /// Change the distance between the Far and Near Planes of the Viewport's Camera3D. + /// + public real_t FrustumLengthScale { get => GetFrustumLengthScale(); set => SetFrustumLengthScale(value); } + + /// + /// Set the forced use of the scene camera instead of the editor camera. + /// + public bool ForceUseCameraFromScene { get => IsForceUseCameraFromScene(); set => SetForceUseCameraFromScene(value); } + + /// + /// Set the visibility layer on which the 3D geometry will be drawn. + /// Similar to using VisualInstance3D.layers. + /// + public int GeometryRenderLayers { get => GetGeometryRenderLayers(); set => SetGeometryRenderLayers(value); } + + /// + /// Set the default color for the collision point of DebugDraw3D.draw_line_hit. + /// + public Color LineHitColor { get => GetLineHitColor(); set => SetLineHitColor(value); } + + /// + /// Set the default color for the line after the collision point of DebugDraw3D.draw_line_hit. + /// + public Color LineAfterHitColor { get => GetLineAfterHitColor(); set => SetLineAfterHitColor(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_freeze_3d_render(IntPtr inst_ptr, bool _state); + static dlgt_DebugDraw3DConfig_set_freeze_3d_render func_DebugDraw3DConfig_set_freeze_3d_render; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_freeze_3d_render; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DConfig_is_freeze_3d_render(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_is_freeze_3d_render func_DebugDraw3DConfig_is_freeze_3d_render; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_is_freeze_3d_render; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_visible_instance_bounds(IntPtr inst_ptr, bool _state); + static dlgt_DebugDraw3DConfig_set_visible_instance_bounds func_DebugDraw3DConfig_set_visible_instance_bounds; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_visible_instance_bounds; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DConfig_is_visible_instance_bounds(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_is_visible_instance_bounds func_DebugDraw3DConfig_is_visible_instance_bounds; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_is_visible_instance_bounds; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_use_frustum_culling(IntPtr inst_ptr, bool _state); + static dlgt_DebugDraw3DConfig_set_use_frustum_culling func_DebugDraw3DConfig_set_use_frustum_culling; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_use_frustum_culling; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DConfig_is_use_frustum_culling(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_is_use_frustum_culling func_DebugDraw3DConfig_is_use_frustum_culling; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_is_use_frustum_culling; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_frustum_culling_mode(IntPtr inst_ptr, uint /*DebugDraw3DConfig::CullingMode*/ _mode); + static dlgt_DebugDraw3DConfig_set_frustum_culling_mode func_DebugDraw3DConfig_set_frustum_culling_mode; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_frustum_culling_mode; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate uint /*DebugDraw3DConfig::CullingMode*/ dlgt_DebugDraw3DConfig_get_frustum_culling_mode(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_get_frustum_culling_mode func_DebugDraw3DConfig_get_frustum_culling_mode; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_get_frustum_culling_mode; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_frustum_length_scale(IntPtr inst_ptr, real_t _distance); + static dlgt_DebugDraw3DConfig_set_frustum_length_scale func_DebugDraw3DConfig_set_frustum_length_scale; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_frustum_length_scale; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate real_t dlgt_DebugDraw3DConfig_get_frustum_length_scale(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_get_frustum_length_scale func_DebugDraw3DConfig_get_frustum_length_scale; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_get_frustum_length_scale; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_force_use_camera_from_scene(IntPtr inst_ptr, bool _state); + static dlgt_DebugDraw3DConfig_set_force_use_camera_from_scene func_DebugDraw3DConfig_set_force_use_camera_from_scene; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_force_use_camera_from_scene; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DConfig_is_force_use_camera_from_scene(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_is_force_use_camera_from_scene func_DebugDraw3DConfig_is_force_use_camera_from_scene; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_is_force_use_camera_from_scene; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_geometry_render_layers(IntPtr inst_ptr, int _layers); + static dlgt_DebugDraw3DConfig_set_geometry_render_layers func_DebugDraw3DConfig_set_geometry_render_layers; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_geometry_render_layers; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate int dlgt_DebugDraw3DConfig_get_geometry_render_layers(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_get_geometry_render_layers func_DebugDraw3DConfig_get_geometry_render_layers; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_get_geometry_render_layers; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_line_hit_color(IntPtr inst_ptr, Color _new_color); + static dlgt_DebugDraw3DConfig_set_line_hit_color func_DebugDraw3DConfig_set_line_hit_color; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_line_hit_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Color dlgt_DebugDraw3DConfig_get_line_hit_color(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_get_line_hit_color func_DebugDraw3DConfig_get_line_hit_color; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_get_line_hit_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_set_line_after_hit_color(IntPtr inst_ptr, Color _new_color); + static dlgt_DebugDraw3DConfig_set_line_after_hit_color func_DebugDraw3DConfig_set_line_after_hit_color; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_set_line_after_hit_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Color dlgt_DebugDraw3DConfig_get_line_after_hit_color(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_get_line_after_hit_color func_DebugDraw3DConfig_get_line_after_hit_color; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_get_line_after_hit_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DConfig_create(); + static dlgt_DebugDraw3DConfig_create func_DebugDraw3DConfig_create; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_create; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DConfig_create_nullptr(); + static dlgt_DebugDraw3DConfig_create_nullptr func_DebugDraw3DConfig_create_nullptr; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_create_nullptr; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DConfig_destroy(IntPtr inst_ptr); + static dlgt_DebugDraw3DConfig_destroy func_DebugDraw3DConfig_destroy; static DD3DFuncLoadingResult func_load_result_DebugDraw3DConfig_destroy; + + /// + /// Set whether debug 3D graphics rendering is frozen. + /// This means that previously created geometry will not be updated until set to false or until DebugDraw3D.clear_all is called. + /// + public void SetFreeze3dRender(bool _state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_freeze_3d_render", ref func_DebugDraw3DConfig_set_freeze_3d_render, ref func_load_result_DebugDraw3DConfig_set_freeze_3d_render)) + return; + func_DebugDraw3DConfig_set_freeze_3d_render(inst_ptr, _state); +#endif + } + } + + public bool IsFreeze3dRender() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_is_freeze_3d_render", ref func_DebugDraw3DConfig_is_freeze_3d_render, ref func_load_result_DebugDraw3DConfig_is_freeze_3d_render)) + return default; + return func_DebugDraw3DConfig_is_freeze_3d_render(inst_ptr); + } + + /// + /// Set whether the boundaries of instances are displayed. + /// Based on these boundaries, instances are culled if set_use_frustum_culling is activated. + /// + public void SetVisibleInstanceBounds(bool _state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_visible_instance_bounds", ref func_DebugDraw3DConfig_set_visible_instance_bounds, ref func_load_result_DebugDraw3DConfig_set_visible_instance_bounds)) + return; + func_DebugDraw3DConfig_set_visible_instance_bounds(inst_ptr, _state); +#endif + } + } + + public bool IsVisibleInstanceBounds() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_is_visible_instance_bounds", ref func_DebugDraw3DConfig_is_visible_instance_bounds, ref func_load_result_DebugDraw3DConfig_is_visible_instance_bounds)) + return default; + return func_DebugDraw3DConfig_is_visible_instance_bounds(inst_ptr); + } + + /// + /// Deprecated + /// Set whether frustum culling is used. + /// This is a wrapper over DebugDraw3DConfig.set_frustum_culling_mode and exists for compatibility with older versions. + /// + /// + /// Enabling or disabling this option does not affect the rough culling based on the camera's AABB of frustum. + /// This option enables more accurate culling based on the camera's frustum planes. + /// + /// + public void SetUseFrustumCulling(bool _state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_use_frustum_culling", ref func_DebugDraw3DConfig_set_use_frustum_culling, ref func_load_result_DebugDraw3DConfig_set_use_frustum_culling)) + return; + func_DebugDraw3DConfig_set_use_frustum_culling(inst_ptr, _state); +#endif + } + } + + public bool IsUseFrustumCulling() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_is_use_frustum_culling", ref func_DebugDraw3DConfig_is_use_frustum_culling, ref func_load_result_DebugDraw3DConfig_is_use_frustum_culling)) + return default; + return func_DebugDraw3DConfig_is_use_frustum_culling(inst_ptr); + } + + /// + /// Set frustum culling mode. + /// + public void SetFrustumCullingMode(DebugDraw3DConfig.CullingMode _mode) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_frustum_culling_mode", ref func_DebugDraw3DConfig_set_frustum_culling_mode, ref func_load_result_DebugDraw3DConfig_set_frustum_culling_mode)) + return; + func_DebugDraw3DConfig_set_frustum_culling_mode(inst_ptr, (uint)(_mode)); +#endif + } + } + + public DebugDraw3DConfig.CullingMode GetFrustumCullingMode() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_get_frustum_culling_mode", ref func_DebugDraw3DConfig_get_frustum_culling_mode, ref func_load_result_DebugDraw3DConfig_get_frustum_culling_mode)) + return default; + return (DebugDraw3DConfig.CullingMode)func_DebugDraw3DConfig_get_frustum_culling_mode(inst_ptr); + } + + /// + /// Change the distance between the Far and Near Planes of the Viewport's Camera3D. + /// + public void SetFrustumLengthScale(real_t _distance) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_frustum_length_scale", ref func_DebugDraw3DConfig_set_frustum_length_scale, ref func_load_result_DebugDraw3DConfig_set_frustum_length_scale)) + return; + func_DebugDraw3DConfig_set_frustum_length_scale(inst_ptr, _distance); +#endif + } + } + + public real_t GetFrustumLengthScale() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_get_frustum_length_scale", ref func_DebugDraw3DConfig_get_frustum_length_scale, ref func_load_result_DebugDraw3DConfig_get_frustum_length_scale)) + return default; + return func_DebugDraw3DConfig_get_frustum_length_scale(inst_ptr); + } + + /// + /// Set the forced use of the scene camera instead of the editor camera. + /// + public void SetForceUseCameraFromScene(bool _state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_force_use_camera_from_scene", ref func_DebugDraw3DConfig_set_force_use_camera_from_scene, ref func_load_result_DebugDraw3DConfig_set_force_use_camera_from_scene)) + return; + func_DebugDraw3DConfig_set_force_use_camera_from_scene(inst_ptr, _state); +#endif + } + } + + public bool IsForceUseCameraFromScene() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_is_force_use_camera_from_scene", ref func_DebugDraw3DConfig_is_force_use_camera_from_scene, ref func_load_result_DebugDraw3DConfig_is_force_use_camera_from_scene)) + return default; + return func_DebugDraw3DConfig_is_force_use_camera_from_scene(inst_ptr); + } + + /// + /// Set the visibility layer on which the 3D geometry will be drawn. + /// Similar to using VisualInstance3D.layers. + /// + public void SetGeometryRenderLayers(int _layers) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_geometry_render_layers", ref func_DebugDraw3DConfig_set_geometry_render_layers, ref func_load_result_DebugDraw3DConfig_set_geometry_render_layers)) + return; + func_DebugDraw3DConfig_set_geometry_render_layers(inst_ptr, _layers); +#endif + } + } + + public int GetGeometryRenderLayers() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_get_geometry_render_layers", ref func_DebugDraw3DConfig_get_geometry_render_layers, ref func_load_result_DebugDraw3DConfig_get_geometry_render_layers)) + return default; + return func_DebugDraw3DConfig_get_geometry_render_layers(inst_ptr); + } + + /// + /// Set the default color for the collision point of DebugDraw3D.draw_line_hit. + /// + public void SetLineHitColor(Color _new_color) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_line_hit_color", ref func_DebugDraw3DConfig_set_line_hit_color, ref func_load_result_DebugDraw3DConfig_set_line_hit_color)) + return; + func_DebugDraw3DConfig_set_line_hit_color(inst_ptr, _new_color); +#endif + } + } + + public Color GetLineHitColor() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_get_line_hit_color", ref func_DebugDraw3DConfig_get_line_hit_color, ref func_load_result_DebugDraw3DConfig_get_line_hit_color)) + return default; + return func_DebugDraw3DConfig_get_line_hit_color(inst_ptr); + } + + /// + /// Set the default color for the line after the collision point of DebugDraw3D.draw_line_hit. + /// + public void SetLineAfterHitColor(Color _new_color) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_set_line_after_hit_color", ref func_DebugDraw3DConfig_set_line_after_hit_color, ref func_load_result_DebugDraw3DConfig_set_line_after_hit_color)) + return; + func_DebugDraw3DConfig_set_line_after_hit_color(inst_ptr, _new_color); +#endif + } + } + + public Color GetLineAfterHitColor() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_get_line_after_hit_color", ref func_DebugDraw3DConfig_get_line_after_hit_color, ref func_load_result_DebugDraw3DConfig_get_line_after_hit_color)) + return default; + return func_DebugDraw3DConfig_get_line_after_hit_color(inst_ptr); + } + + private static IntPtr Create() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_create", ref func_DebugDraw3DConfig_create, ref func_load_result_DebugDraw3DConfig_create)) + return IntPtr.Zero; + return func_DebugDraw3DConfig_create(); + } + + private static IntPtr CreateNullptr() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_create_nullptr", ref func_DebugDraw3DConfig_create_nullptr, ref func_load_result_DebugDraw3DConfig_create_nullptr)) + return IntPtr.Zero; + return func_DebugDraw3DConfig_create_nullptr(); + } + + private static void Destroy(IntPtr inst_ptr) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DConfig_destroy", ref func_DebugDraw3DConfig_destroy, ref func_load_result_DebugDraw3DConfig_destroy)) + return; + func_DebugDraw3DConfig_destroy(inst_ptr); + } + +}; // class DebugDraw3DConfig + +/// +/// +/// This class is used to override scope parameters for DebugDraw3D. +/// +/// +/// `Scope` means that these overridden parameters will affect the drawn geometry until it exits the current scope. +/// +/// To create it, use DebugDraw3D.new_scoped_config. +/// Immediately after creation, you can change the values and save the reference in a variable. +/// +/// +/// But the main thing is not to save it outside the method or in other objects. +/// After leaving the scope, this object should be deleted. +/// +/// +/// --- +/// +/// Also, you can't use scope config between `await`s unless this object is freed before `await`. +/// So, narrow the scope if you want to use `await` and DebugDraw3DScopeConfig in the same method. +/// Or set the value of the variable to `null` so that the object is cleared due to lack of references. +/// +/// # Bad example +/// var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3) +/// DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE) +/// await get_tree().process_frame +/// # your code... +/// +/// # Good example +/// if true: +/// var _s = DebugDraw3D.new_scoped_config().set_thickness(0.3) +/// DebugDraw3D.draw_box(Vector3.ZERO, Quaternion.IDENTITY, Vector3.ONE) +/// await get_tree().process_frame +/// # your code... +/// +/// +/// +/// ### Examples: +/// +/// var _s = DebugDraw3D.new_scoped_config().set_thickness(0.025).set_center_brightness(0.7) +/// DebugDraw3D.draw_grid_xf(%Grid.global_transform, Vector2i(10,10), Color.LIGHT_GRAY) +/// +/// +/// +/// using (var s = DebugDraw3D.NewScopedConfig().SetThickness(0)) +/// DebugDraw3D.DrawCameraFrustum(dCamera, Colors.DarkOrange); +/// +/// +internal class DebugDraw3DScopeConfig : IDisposable +{ + IntPtr inst_ptr; + + public DebugDraw3DScopeConfig(IntPtr inst_ptr) + { + this.inst_ptr = inst_ptr; + } + + public DebugDraw3DScopeConfig(bool instantiate = true) + { + this.inst_ptr = instantiate ? Create() : CreateNullptr(); + } + + ~DebugDraw3DScopeConfig() => Dispose(); + + public static explicit operator IntPtr(DebugDraw3DScopeConfig o) { return o.inst_ptr; } + + public void Dispose() + { + if (inst_ptr != IntPtr.Zero) + { + Destroy(inst_ptr); + inst_ptr = IntPtr.Zero; + } + } + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_thickness_selfreturn(IntPtr inst_ptr, real_t _value); + static dlgt_DebugDraw3DScopeConfig_set_thickness_selfreturn func_DebugDraw3DScopeConfig_set_thickness_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_thickness_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate real_t dlgt_DebugDraw3DScopeConfig_get_thickness(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_thickness func_DebugDraw3DScopeConfig_get_thickness; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_thickness; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_center_brightness_selfreturn(IntPtr inst_ptr, real_t _value); + static dlgt_DebugDraw3DScopeConfig_set_center_brightness_selfreturn func_DebugDraw3DScopeConfig_set_center_brightness_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_center_brightness_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate real_t dlgt_DebugDraw3DScopeConfig_get_center_brightness(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_center_brightness func_DebugDraw3DScopeConfig_get_center_brightness; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_center_brightness; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn(IntPtr inst_ptr, bool _value); + static dlgt_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn func_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DScopeConfig_is_hd_sphere(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_is_hd_sphere func_DebugDraw3DScopeConfig_is_hd_sphere; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_is_hd_sphere; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_plane_size_selfreturn(IntPtr inst_ptr, real_t _value); + static dlgt_DebugDraw3DScopeConfig_set_plane_size_selfreturn func_DebugDraw3DScopeConfig_set_plane_size_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_plane_size_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate real_t dlgt_DebugDraw3DScopeConfig_get_plane_size(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_plane_size func_DebugDraw3DScopeConfig_get_plane_size; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_plane_size; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_transform_selfreturn(IntPtr inst_ptr, Transform3D _value); + static dlgt_DebugDraw3DScopeConfig_set_transform_selfreturn func_DebugDraw3DScopeConfig_set_transform_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_transform_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Transform3D dlgt_DebugDraw3DScopeConfig_get_transform(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_transform func_DebugDraw3DScopeConfig_get_transform; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_transform; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn(IntPtr inst_ptr, Color _value); + static dlgt_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn func_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate Color dlgt_DebugDraw3DScopeConfig_get_text_outline_color(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_text_outline_color func_DebugDraw3DScopeConfig_get_text_outline_color; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_text_outline_color; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn(IntPtr inst_ptr, int _value); + static dlgt_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn func_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate int dlgt_DebugDraw3DScopeConfig_get_text_outline_size(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_text_outline_size func_DebugDraw3DScopeConfig_get_text_outline_size; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_text_outline_size; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn(IntPtr inst_ptr, bool _value); + static dlgt_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn func_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DScopeConfig_get_text_fixed_size(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_text_fixed_size func_DebugDraw3DScopeConfig_get_text_fixed_size; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_text_fixed_size; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_text_font_selfreturn(IntPtr inst_ptr, ulong _value); + static dlgt_DebugDraw3DScopeConfig_set_text_font_selfreturn func_DebugDraw3DScopeConfig_set_text_font_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_text_font_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate ulong dlgt_DebugDraw3DScopeConfig_get_text_font(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_text_font func_DebugDraw3DScopeConfig_get_text_font; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_text_font; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_viewport_selfreturn(IntPtr inst_ptr, ulong /*godot::Viewport*/ _value); + static dlgt_DebugDraw3DScopeConfig_set_viewport_selfreturn func_DebugDraw3DScopeConfig_set_viewport_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_viewport_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate ulong dlgt_DebugDraw3DScopeConfig_get_viewport(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_get_viewport func_DebugDraw3DScopeConfig_get_viewport; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_get_viewport; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn(IntPtr inst_ptr, bool _value); + static dlgt_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn func_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3DScopeConfig_is_no_depth_test(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_is_no_depth_test func_DebugDraw3DScopeConfig_is_no_depth_test; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_is_no_depth_test; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DScopeConfig_create(); + static dlgt_DebugDraw3DScopeConfig_create func_DebugDraw3DScopeConfig_create; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_create; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DScopeConfig_create_nullptr(); + static dlgt_DebugDraw3DScopeConfig_create_nullptr func_DebugDraw3DScopeConfig_create_nullptr; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_create_nullptr; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DScopeConfig_destroy(IntPtr inst_ptr); + static dlgt_DebugDraw3DScopeConfig_destroy func_DebugDraw3DScopeConfig_destroy; static DD3DFuncLoadingResult func_load_result_DebugDraw3DScopeConfig_destroy; + + /// + /// Set the thickness of the volumetric lines. If the value is 0, the standard wireframe rendering will be used. + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetThickness(real_t _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_thickness_selfreturn", ref func_DebugDraw3DScopeConfig_set_thickness_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_thickness_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_thickness_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public real_t GetThickness() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_thickness", ref func_DebugDraw3DScopeConfig_get_thickness, ref func_load_result_DebugDraw3DScopeConfig_get_thickness)) + return default; + return func_DebugDraw3DScopeConfig_get_thickness(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the brightness of the central part of the volumetric lines. + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetCenterBrightness(real_t _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_center_brightness_selfreturn", ref func_DebugDraw3DScopeConfig_set_center_brightness_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_center_brightness_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_center_brightness_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public real_t GetCenterBrightness() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_center_brightness", ref func_DebugDraw3DScopeConfig_get_center_brightness, ref func_load_result_DebugDraw3DScopeConfig_get_center_brightness)) + return default; + return func_DebugDraw3DScopeConfig_get_center_brightness(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the mesh density of the sphere + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetHdSphere(bool _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_hd_sphere_selfreturn", ref func_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_hd_sphere_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public bool IsHdSphere() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_is_hd_sphere", ref func_DebugDraw3DScopeConfig_is_hd_sphere, ref func_load_result_DebugDraw3DScopeConfig_is_hd_sphere)) + return default; + return func_DebugDraw3DScopeConfig_is_hd_sphere(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the size of the `Plane` in DebugDraw3D.draw_plane. If set to `INF`, the `Far` parameter of the current camera will be used. + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetPlaneSize(real_t _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_plane_size_selfreturn", ref func_DebugDraw3DScopeConfig_set_plane_size_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_plane_size_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_plane_size_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public real_t GetPlaneSize() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_plane_size", ref func_DebugDraw3DScopeConfig_get_plane_size, ref func_load_result_DebugDraw3DScopeConfig_get_plane_size)) + return default; + return func_DebugDraw3DScopeConfig_get_plane_size(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the base/local `transform` relative to which the shapes will be drawn. + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetTransform(Transform3D _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_transform_selfreturn", ref func_DebugDraw3DScopeConfig_set_transform_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_transform_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_transform_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public Transform3D GetTransform() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_transform", ref func_DebugDraw3DScopeConfig_get_transform, ref func_load_result_DebugDraw3DScopeConfig_get_transform)) + return default; + return func_DebugDraw3DScopeConfig_get_transform(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the `outline` color in DebugDraw3D.draw_text. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Frequent unsystematic changes to this property can lead to significant performance degradation. + /// + /// + public DebugDraw3DScopeConfig SetTextOutlineColor(Color _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_text_outline_color_selfreturn", ref func_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_text_outline_color_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public Color GetTextOutlineColor() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_text_outline_color", ref func_DebugDraw3DScopeConfig_get_text_outline_color, ref func_load_result_DebugDraw3DScopeConfig_get_text_outline_color)) + return default; + return func_DebugDraw3DScopeConfig_get_text_outline_color(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the size of the `outline` in DebugDraw3D.draw_text. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Frequent unsystematic changes to this property can lead to significant performance degradation. + /// + /// + public DebugDraw3DScopeConfig SetTextOutlineSize(int _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_text_outline_size_selfreturn", ref func_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_text_outline_size_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public int GetTextOutlineSize() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_text_outline_size", ref func_DebugDraw3DScopeConfig_get_text_outline_size, ref func_load_result_DebugDraw3DScopeConfig_get_text_outline_size)) + return default; + return func_DebugDraw3DScopeConfig_get_text_outline_size(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Makes the text in DebugDraw3D.draw_text the same size regardless of distance. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Frequent unsystematic changes to this property can lead to significant performance degradation. + /// + /// + public DebugDraw3DScopeConfig SetTextFixedSize(bool _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn", ref func_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_text_fixed_size_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public bool GetTextFixedSize() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_text_fixed_size", ref func_DebugDraw3DScopeConfig_get_text_fixed_size, ref func_load_result_DebugDraw3DScopeConfig_get_text_fixed_size)) + return default; + return func_DebugDraw3DScopeConfig_get_text_fixed_size(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set the font of the text in DebugDraw3D.draw_text. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Frequent unsystematic changes to this property can lead to significant performance degradation. + /// + /// + public DebugDraw3DScopeConfig SetTextFont(Font _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_text_font_selfreturn", ref func_DebugDraw3DScopeConfig_set_text_font_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_text_font_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_text_font_selfreturn(inst_ptr, _value != null ? _value.GetInstanceId() : 0); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public Font GetTextFont() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_text_font", ref func_DebugDraw3DScopeConfig_get_text_font, ref func_load_result_DebugDraw3DScopeConfig_get_text_font)) + return default; + return (Font)GodotObject.InstanceFromId(func_DebugDraw3DScopeConfig_get_text_font(inst_ptr)); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set which Viewport will be used to get World3D. + /// + /// If the World3D of this Viewport has not been used before, + /// then the owner of this World3D will be found in the current branch of the tree, + /// and special observer nodes will be added to it. + /// + /// + /// Objects created for a specific Viewport will use only one camera related to that Viewport for culling. + /// + /// + public DebugDraw3DScopeConfig SetViewport(Viewport _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_viewport_selfreturn", ref func_DebugDraw3DScopeConfig_set_viewport_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_viewport_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_viewport_selfreturn(inst_ptr, _value != null ? _value.GetInstanceId() : 0); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public Viewport GetViewport() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_get_viewport", ref func_DebugDraw3DScopeConfig_get_viewport, ref func_load_result_DebugDraw3DScopeConfig_get_viewport)) + return default; + return (Viewport)GodotObject.InstanceFromId(func_DebugDraw3DScopeConfig_get_viewport(inst_ptr)); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + /// + /// Set whether the `depth_test_disabled` flag is added or not in the shaders of the debug shapes. + /// + /// + /// It may cause artifacts when drawing volumetric objects. + /// + /// + /// [THERE WAS AN IMAGE] + /// + public DebugDraw3DScopeConfig SetNoDepthTest(bool _value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_set_no_depth_test_selfreturn", ref func_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn, ref func_load_result_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn)) + return this; + func_DebugDraw3DScopeConfig_set_no_depth_test_selfreturn(inst_ptr, _value); + return this; +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return this; +#endif + } + + public bool IsNoDepthTest() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_is_no_depth_test", ref func_DebugDraw3DScopeConfig_is_no_depth_test, ref func_load_result_DebugDraw3DScopeConfig_is_no_depth_test)) + return default; + return func_DebugDraw3DScopeConfig_is_no_depth_test(inst_ptr); +#endif + } +#if _DD3D_RUNTIME_CHECK_ENABLED + return default; +#endif + } + + private static IntPtr Create() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_create", ref func_DebugDraw3DScopeConfig_create, ref func_load_result_DebugDraw3DScopeConfig_create)) + return IntPtr.Zero; + return func_DebugDraw3DScopeConfig_create(); + } + + private static IntPtr CreateNullptr() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_create_nullptr", ref func_DebugDraw3DScopeConfig_create_nullptr, ref func_load_result_DebugDraw3DScopeConfig_create_nullptr)) + return IntPtr.Zero; + return func_DebugDraw3DScopeConfig_create_nullptr(); + } + + private static void Destroy(IntPtr inst_ptr) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DScopeConfig_destroy", ref func_DebugDraw3DScopeConfig_destroy, ref func_load_result_DebugDraw3DScopeConfig_destroy)) + return; + func_DebugDraw3DScopeConfig_destroy(inst_ptr); + } + +}; // class DebugDraw3DScopeConfig + +/// +/// +/// Singleton class for calling debugging 3D methods. +/// +/// +/// You can use the project settings `debug_draw_3d/settings/3d` for additional customization. +/// +/// For example, `add_bevel_to_volumetric_geometry` allows you to remove or add a bevel for volumetric lines. +/// +/// [THERE WAS AN IMAGE] +/// +/// `use_icosphere` and `use_icosphere_for_hd` allow you to change the sphere mesh. +/// +/// [THERE WAS AN IMAGE] +/// +/// +/// Wireframe shapes and volumetric wireframes do not support translucency to avoid overlap issues and for better performance. +/// At this point, you can use translucency when drawing planes DebugDraw3D.draw_plane. +/// +/// +/// --- +/// +/// Objects created in `_physics_process` are processed separately from those created in `_process`, +/// so they will be deleted only in the first physics tick after rendering. +/// This allows to display objects even if several frames passed between physics ticks. +/// +/// +/// --- +/// +/// You can use this class anywhere, including in `_physics_process` and `_process` (and probably from other threads). +/// It is worth mentioning that physics ticks may not be called every frame or may be called several times in one frame. +/// So if you want to avoid multiple identical `draw_` calls, you can call `draw_` methods in `_process` or use such a check: +/// +/// var physics_tick_processed := false +/// func _process(delta: float) -> void: +/// # Reset after rendering frame +/// physics_tick_processed = false +/// # some logic +/// +/// func _physics_process(delta: float) -> void: +/// if not physics_tick_processed: +/// physics_tick_processed = true +/// # some DD3D logic +/// +/// +/// +/// --- +/// +/// Due to the way Godot registers this addon, it is not possible to use the `draw_` methods +/// in the first few frames immediately after the project is launched. +/// +/// +internal static class DebugDraw3D +{ + public enum PointType : uint + { + TypeSquare = 0, + TypeSphere = 1, + } + + /// + /// Set the configuration global for everything in DebugDraw3D. + /// + public static DebugDraw3DConfig Config { get => GetConfig(); set => SetConfig(value); } + + /// + /// Set whether debug drawing works or not. + /// + public static bool DebugEnabled { get => IsDebugEnabled(); set => SetDebugEnabled(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3D_new_scoped_config(); + static dlgt_DebugDraw3D_new_scoped_config func_DebugDraw3D_new_scoped_config; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_new_scoped_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3D_scoped_config(); + static dlgt_DebugDraw3D_scoped_config func_DebugDraw3D_scoped_config; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_scoped_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_set_config(IntPtr cfg); + static dlgt_DebugDraw3D_set_config func_DebugDraw3D_set_config; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_set_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3D_get_config(); + static dlgt_DebugDraw3D_get_config func_DebugDraw3D_get_config; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_get_config; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_set_debug_enabled(bool state); + static dlgt_DebugDraw3D_set_debug_enabled func_DebugDraw3D_set_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_set_debug_enabled; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDraw3D_is_debug_enabled(); + static dlgt_DebugDraw3D_is_debug_enabled func_DebugDraw3D_is_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_is_debug_enabled; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3D_get_render_stats(); + static dlgt_DebugDraw3D_get_render_stats func_DebugDraw3D_get_render_stats; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_get_render_stats; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3D_get_render_stats_for_world(ulong /*godot::Viewport*/ viewport); + static dlgt_DebugDraw3D_get_render_stats_for_world func_DebugDraw3D_get_render_stats_for_world; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_get_render_stats_for_world; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_regenerate_geometry_meshes(); + static dlgt_DebugDraw3D_regenerate_geometry_meshes func_DebugDraw3D_regenerate_geometry_meshes; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_regenerate_geometry_meshes; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_clear_all(); + static dlgt_DebugDraw3D_clear_all func_DebugDraw3D_clear_all; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_clear_all; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_sphere(Vector3 position, real_t radius, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_sphere func_DebugDraw3D_draw_sphere; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_sphere; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_sphere_xf(Transform3D transform, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_sphere_xf func_DebugDraw3D_draw_sphere_xf; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_sphere_xf; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_capsule(Vector3 position, Quaternion rotation, real_t radius, real_t height, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_capsule func_DebugDraw3D_draw_capsule; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_capsule; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_capsule_ab(Vector3 a, Vector3 b, real_t radius, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_capsule_ab func_DebugDraw3D_draw_capsule_ab; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_capsule_ab; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_cylinder(Transform3D transform, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_cylinder func_DebugDraw3D_draw_cylinder; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_cylinder; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_cylinder_ab(Vector3 a, Vector3 b, real_t radius, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_cylinder_ab func_DebugDraw3D_draw_cylinder_ab; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_cylinder_ab; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_box(Vector3 position, Quaternion rotation, Vector3 size, Color color, bool is_box_centered, real_t duration); + static dlgt_DebugDraw3D_draw_box func_DebugDraw3D_draw_box; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_box; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_box_ab(Vector3 a, Vector3 b, Vector3 up, Color color, bool is_ab_diagonal, real_t duration); + static dlgt_DebugDraw3D_draw_box_ab func_DebugDraw3D_draw_box_ab; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_box_ab; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_box_xf(Transform3D transform, Color color, bool is_box_centered, real_t duration); + static dlgt_DebugDraw3D_draw_box_xf func_DebugDraw3D_draw_box_xf; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_box_xf; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_aabb(Aabb aabb, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_aabb func_DebugDraw3D_draw_aabb; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_aabb; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_aabb_ab(Vector3 a, Vector3 b, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_aabb_ab func_DebugDraw3D_draw_aabb_ab; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_aabb_ab; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_line_hit(Vector3 start, Vector3 end, Vector3 hit, bool is_hit, real_t hit_size, Color hit_color, Color after_hit_color, real_t duration); + static dlgt_DebugDraw3D_draw_line_hit func_DebugDraw3D_draw_line_hit; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_line_hit; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_line_hit_offset(Vector3 start, Vector3 end, bool is_hit, real_t unit_offset_of_hit, real_t hit_size, Color hit_color, Color after_hit_color, real_t duration); + static dlgt_DebugDraw3D_draw_line_hit_offset func_DebugDraw3D_draw_line_hit_offset; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_line_hit_offset; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_line(Vector3 a, Vector3 b, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_line func_DebugDraw3D_draw_line; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_line; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_ray(Vector3 origin, Vector3 direction, real_t length, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_ray func_DebugDraw3D_draw_ray; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_ray; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_lines_c(IntPtr /*godot::PackedVector3Array*/ lines_data, ulong lines_size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_lines_c func_DebugDraw3D_draw_lines_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_lines_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_line_path_c(IntPtr /*godot::PackedVector3Array*/ path_data, ulong path_size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_line_path_c func_DebugDraw3D_draw_line_path_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_line_path_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_arrowhead(Transform3D transform, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_arrowhead func_DebugDraw3D_draw_arrowhead; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_arrowhead; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_arrow(Vector3 a, Vector3 b, Color color, real_t arrow_size, bool is_absolute_size, real_t duration); + static dlgt_DebugDraw3D_draw_arrow func_DebugDraw3D_draw_arrow; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_arrow; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_arrow_ray(Vector3 origin, Vector3 direction, real_t length, Color color, real_t arrow_size, bool is_absolute_size, real_t duration); + static dlgt_DebugDraw3D_draw_arrow_ray func_DebugDraw3D_draw_arrow_ray; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_arrow_ray; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_arrow_path_c(IntPtr /*godot::PackedVector3Array*/ path_data, ulong path_size, Color color, real_t arrow_size, bool is_absolute_size, real_t duration); + static dlgt_DebugDraw3D_draw_arrow_path_c func_DebugDraw3D_draw_arrow_path_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_arrow_path_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_point_path_c(IntPtr /*godot::PackedVector3Array*/ path_data, ulong path_size, uint /*DebugDraw3D::PointType*/ type, real_t size, Color points_color, Color lines_color, real_t duration); + static dlgt_DebugDraw3D_draw_point_path_c func_DebugDraw3D_draw_point_path_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_point_path_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_points_c(IntPtr /*godot::PackedVector3Array*/ points_data, ulong points_size, uint /*DebugDraw3D::PointType*/ type, real_t size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_points_c func_DebugDraw3D_draw_points_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_points_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_square(Vector3 position, real_t size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_square func_DebugDraw3D_draw_square; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_square; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_plane(Plane plane, Color color, Vector3 anchor_point, real_t duration); + static dlgt_DebugDraw3D_draw_plane func_DebugDraw3D_draw_plane; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_plane; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_position(Transform3D transform, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_position func_DebugDraw3D_draw_position; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_position; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_gizmo(Transform3D transform, Color color, bool is_centered, real_t duration); + static dlgt_DebugDraw3D_draw_gizmo func_DebugDraw3D_draw_gizmo; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_gizmo; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_grid(Vector3 origin, Vector3 x_size, Vector3 y_size, Vector2I subdivision, Color color, bool is_centered, real_t duration); + static dlgt_DebugDraw3D_draw_grid func_DebugDraw3D_draw_grid; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_grid; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_grid_xf(Transform3D transform, Vector2I p_subdivision, Color color, bool is_centered, real_t duration); + static dlgt_DebugDraw3D_draw_grid_xf func_DebugDraw3D_draw_grid_xf; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_grid_xf; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_camera_frustum(ulong /*godot::Camera3D*/ camera, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_camera_frustum func_DebugDraw3D_draw_camera_frustum; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_camera_frustum; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_camera_frustum_planes_c(IntPtr /*const godot::Plane **/ camera_frustum_data, ulong camera_frustum_size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_camera_frustum_planes_c func_DebugDraw3D_draw_camera_frustum_planes_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_camera_frustum_planes_c; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3D_draw_text_c(Vector3 position, [MarshalAs(UnmanagedType.LPUTF8Str)] string /*godot::String*/ text_string, int size, Color color, real_t duration); + static dlgt_DebugDraw3D_draw_text_c func_DebugDraw3D_draw_text_c; static DD3DFuncLoadingResult func_load_result_DebugDraw3D_draw_text_c; + + /// + /// Create a new DebugDraw3DScopeConfig instance and register it. + /// + /// This class allows you to override some parameters within scope for the following `draw_*` calls. + /// + /// Store this instance in a local variable inside the method. + /// + public static DebugDraw3DScopeConfig NewScopedConfig() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_new_scoped_config", ref func_DebugDraw3D_new_scoped_config, ref func_load_result_DebugDraw3D_new_scoped_config)) + return null; + return new DebugDraw3DScopeConfig(func_DebugDraw3D_new_scoped_config()); + } + + /// + /// Returns the default scope settings that will be applied at the start of each new frame. + /// + /// Default values can be overridden in the project settings `debug_draw_3d/settings/3d/volumetric_defaults`. + /// + /// + /// When used in a managed language, this is not mandatory, but it is recommended to finish the `scoped_config()` configuration with a dispose. + /// This will reduce the number of objects awaiting removal by the garbage collector. + /// + /// DebugDraw3D.ScopedConfig().SetThickness(debug_thickness).Dispose(); + /// + /// + /// + public static DebugDraw3DScopeConfig ScopedConfig() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_scoped_config", ref func_DebugDraw3D_scoped_config, ref func_load_result_DebugDraw3D_scoped_config)) + return null; + return new DebugDraw3DScopeConfig(func_DebugDraw3D_scoped_config()); + } + + /// + /// Set the configuration global for everything in DebugDraw3D. + /// + public static void SetConfig(DebugDraw3DConfig cfg) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_set_config", ref func_DebugDraw3D_set_config, ref func_load_result_DebugDraw3D_set_config)) + return; + func_DebugDraw3D_set_config((IntPtr)cfg); +#endif + } + } + + /// + /// Get the DebugDraw3DConfig. + /// + public static DebugDraw3DConfig GetConfig() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_get_config", ref func_DebugDraw3D_get_config, ref func_load_result_DebugDraw3D_get_config)) + return null; + return new DebugDraw3DConfig(func_DebugDraw3D_get_config()); + } + + /// + /// Set whether debug drawing works or not. + /// + public static void SetDebugEnabled(bool state) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_set_debug_enabled", ref func_DebugDraw3D_set_debug_enabled, ref func_load_result_DebugDraw3D_set_debug_enabled)) + return; + func_DebugDraw3D_set_debug_enabled(state); +#endif + } + } + + public static bool IsDebugEnabled() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_is_debug_enabled", ref func_DebugDraw3D_is_debug_enabled, ref func_load_result_DebugDraw3D_is_debug_enabled)) + return default; + return func_DebugDraw3D_is_debug_enabled(); + } + + /// + /// Returns an instance of DebugDraw3DStats with the current statistics. + /// + /// Some data can be delayed by 1 frame. + /// + public static DebugDraw3DStats GetRenderStats() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_get_render_stats", ref func_DebugDraw3D_get_render_stats, ref func_load_result_DebugDraw3D_get_render_stats)) + return null; + return new DebugDraw3DStats(func_DebugDraw3D_get_render_stats()); + } + + /// + /// Returns an instance of DebugDraw3DStats with the current statistics for the World3D of the Viewport. + /// + /// Some data can be delayed by 1 frame. + /// + public static DebugDraw3DStats GetRenderStatsForWorld(Viewport viewport) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_get_render_stats_for_world", ref func_DebugDraw3D_get_render_stats_for_world, ref func_load_result_DebugDraw3D_get_render_stats_for_world)) + return null; + return new DebugDraw3DStats(func_DebugDraw3D_get_render_stats_for_world(viewport != null ? viewport.GetInstanceId() : 0)); + } + + /// + /// Regenerate meshes. + /// + /// Can be useful if you want to change some project settings and not restart the project. + /// + public static void RegenerateGeometryMeshes() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_regenerate_geometry_meshes", ref func_DebugDraw3D_regenerate_geometry_meshes, ref func_load_result_DebugDraw3D_regenerate_geometry_meshes)) + return; + func_DebugDraw3D_regenerate_geometry_meshes(); +#endif + } + } + + /// + /// Clear all 3D geometry + /// + public static void ClearAll() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_clear_all", ref func_DebugDraw3D_clear_all, ref func_load_result_DebugDraw3D_clear_all)) + return; + func_DebugDraw3D_clear_all(); +#endif + } + } + + /// + /// Draw a sphere + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Center of the sphere + /// Sphere radius + /// Primary color + /// The duration of how long the object will be visible + public static void DrawSphere(Vector3 position, real_t radius = 0.5f, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_sphere", ref func_DebugDraw3D_draw_sphere, ref func_load_result_DebugDraw3D_draw_sphere)) + return; + func_DebugDraw3D_draw_sphere(position, radius, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a sphere with a radius of 0.5 + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Sphere transform + /// Primary color + /// The duration of how long the object will be visible + public static void DrawSphereXf(Transform3D transform, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_sphere_xf", ref func_DebugDraw3D_draw_sphere_xf, ref func_load_result_DebugDraw3D_draw_sphere_xf)) + return; + func_DebugDraw3D_draw_sphere_xf(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a vertical capsule + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// A capsule will not be displayed if the height or radius is approximately equal to or less than zero. + /// + /// + /// --- + /// + /// If you need to apply additional transformations, you can use DebugDraw3DScopeConfig.set_transform. + /// + /// + /// + /// Capsule position + /// Capsule rotation + /// Capsule radius + /// Capsule height including caps. Based on this value, the actual radius of the capsule will be calculated. + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCapsule(Vector3 position, Quaternion rotation, real_t radius, real_t height, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_capsule", ref func_DebugDraw3D_draw_capsule, ref func_load_result_DebugDraw3D_draw_capsule)) + return; + func_DebugDraw3D_draw_capsule(position, rotation, radius, height, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a capsule between points A and B with the desired radius. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// A capsule will not be displayed if the distance between points A and B or the radius is approximately equal to or less than zero. + /// + /// + /// + /// First pole of the capsule + /// Second pole of the capsule + /// Capsule radius + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCapsuleAb(Vector3 a, Vector3 b, real_t radius = 0.5f, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_capsule_ab", ref func_DebugDraw3D_draw_capsule_ab, ref func_load_result_DebugDraw3D_draw_capsule_ab)) + return; + func_DebugDraw3D_draw_capsule_ab(a, b, radius, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a vertical cylinder with radius 1.0 (x, z) and height 1.0 (y) + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Cylinder transform + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCylinder(Transform3D transform, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_cylinder", ref func_DebugDraw3D_draw_cylinder, ref func_load_result_DebugDraw3D_draw_cylinder)) + return; + func_DebugDraw3D_draw_cylinder(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a cylinder between points A and B with a certain radius. + /// + /// + /// A cylinder will not be displayed if the distance between points A and B is approximately zero. + /// + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Bottom point of the Cylinder + /// Top point of the Cylinder + /// Cylinder radius + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCylinderAb(Vector3 a, Vector3 b, real_t radius = 0.5f, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_cylinder_ab", ref func_DebugDraw3D_draw_cylinder_ab, ref func_load_result_DebugDraw3D_draw_cylinder_ab)) + return; + func_DebugDraw3D_draw_cylinder_ab(a, b, radius, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a box + /// + /// [THERE WAS AN IMAGE] + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Position of the Box + /// Rotation of the box + /// Size of the Box + /// Primary color + /// Set where the center of the box will be. In the center or in the bottom corner + /// The duration of how long the object will be visible + public static void DrawBox(Vector3 position, Quaternion rotation, Vector3 size, Color? color = null, bool is_box_centered = false, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_box", ref func_DebugDraw3D_draw_box, ref func_load_result_DebugDraw3D_draw_box)) + return; + func_DebugDraw3D_draw_box(position, rotation, size, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_box_centered, duration); +#endif + } + } + + /// + /// Draw a box between points A and B by rotating and scaling based on the up vector + /// + /// [THERE WAS AN IMAGE] + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// A box will not be displayed if its dimensions are close to zero or if the up vector is approximately zero. + /// + /// + /// + /// Start position + /// End position + /// Vertical vector by which the box will be aligned + /// Primary color + /// Set uses the diagonal between the corners or the diagonal between the centers of two edges + /// The duration of how long the object will be visible + public static void DrawBoxAb(Vector3 a, Vector3 b, Vector3 up, Color? color = null, bool is_ab_diagonal = true, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_box_ab", ref func_DebugDraw3D_draw_box_ab, ref func_load_result_DebugDraw3D_draw_box_ab)) + return; + func_DebugDraw3D_draw_box_ab(a, b, up, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_ab_diagonal, duration); +#endif + } + } + + /// + /// Draw a box as in DebugDraw3D.draw_box + /// + /// + /// Box transform + /// Primary color + /// Set where the center of the box will be. In the center or in the bottom corner + /// The duration of how long the object will be visible + public static void DrawBoxXf(Transform3D transform, Color? color = null, bool is_box_centered = true, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_box_xf", ref func_DebugDraw3D_draw_box_xf, ref func_load_result_DebugDraw3D_draw_box_xf)) + return; + func_DebugDraw3D_draw_box_xf(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_box_centered, duration); +#endif + } + } + + /// + /// Draw a box as in DebugDraw3D.draw_box, but based on the AABB + /// + /// + /// AABB + /// Primary color + /// The duration of how long the object will be visible + public static void DrawAabb(Aabb aabb, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_aabb", ref func_DebugDraw3D_draw_aabb, ref func_load_result_DebugDraw3D_draw_aabb)) + return; + func_DebugDraw3D_draw_aabb(aabb, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw the box as in DebugDraw3D.draw_aabb, but AABB is defined by the diagonal AB + /// + /// + /// Start position + /// End position + /// Primary color + /// The duration of how long the object will be visible + public static void DrawAabbAb(Vector3 a, Vector3 b, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_aabb_ab", ref func_DebugDraw3D_draw_aabb_ab, ref func_load_result_DebugDraw3D_draw_aabb_ab)) + return; + func_DebugDraw3D_draw_aabb_ab(a, b, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw line separated by hit point (billboard square) or not separated if `is_hit = false`. + /// + /// Some of the default settings can be overridden in DebugDraw3DConfig. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Start point + /// End point + /// Hit point + /// Whether to draw the collision point + /// Size of the hit point + /// Color of the hit point and line before hit + /// Color of line after hit position + /// The duration of how long the object will be visible + public static void DrawLineHit(Vector3 start, Vector3 end, Vector3 hit, bool is_hit, real_t hit_size = 0.25f, Color? hit_color = null, Color? after_hit_color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_line_hit", ref func_DebugDraw3D_draw_line_hit, ref func_load_result_DebugDraw3D_draw_line_hit)) + return; + func_DebugDraw3D_draw_line_hit(start, end, hit, is_hit, hit_size, hit_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, after_hit_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw line separated by hit point. + /// + /// Similar to DebugDraw3D.draw_line_hit, but instead of a hit point, an offset from the start point is used. + /// + /// Some of the default settings can be overridden in DebugDraw3DConfig. + /// + /// + /// Start point + /// End point + /// Whether to draw the collision point + /// Unit offset on the line where the collision occurs + /// Size of the hit point + /// Color of the hit point and line before hit + /// Color of line after hit position + /// The duration of how long the object will be visible + public static void DrawLineHitOffset(Vector3 start, Vector3 end, bool is_hit, real_t unit_offset_of_hit = 0.5f, real_t hit_size = 0.25f, Color? hit_color = null, Color? after_hit_color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_line_hit_offset", ref func_DebugDraw3D_draw_line_hit_offset, ref func_load_result_DebugDraw3D_draw_line_hit_offset)) + return; + func_DebugDraw3D_draw_line_hit_offset(start, end, is_hit, unit_offset_of_hit, hit_size, hit_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, after_hit_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a single line + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Start point + /// End point + /// Primary color + /// The duration of how long the object will be visible + public static void DrawLine(Vector3 a, Vector3 b, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_line", ref func_DebugDraw3D_draw_line, ref func_load_result_DebugDraw3D_draw_line)) + return; + func_DebugDraw3D_draw_line(a, b, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw a ray. + /// + /// Same as DebugDraw3D.draw_line, but uses origin, direction and length instead of A and B. + /// + /// + /// Origin + /// Direction + /// Length + /// Primary color + /// The duration of how long the object will be visible + public static void DrawRay(Vector3 origin, Vector3 direction, real_t length, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_ray", ref func_DebugDraw3D_draw_ray, ref func_load_result_DebugDraw3D_draw_ray)) + return; + func_DebugDraw3D_draw_ray(origin, direction, length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw an array of lines. Each line is two points, so the array must be of even size. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// An array of points of lines. 1 line = 2 vectors3. The array size must be even. + /// Primary color + /// The duration of how long the object will be visible + public static void DrawLines(Vector3[] lines, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_lines_c", ref func_DebugDraw3D_draw_lines_c, ref func_load_result_DebugDraw3D_draw_lines_c)) + return; + + var lines_native_fixed = GCHandle.Alloc(lines, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_lines_c(lines_native_fixed.AddrOfPinnedObject(), (ulong)lines.Length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); + } + finally + { + lines_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw an array of lines. + /// + /// Unlike DebugDraw3D.draw_lines, here lines are drawn between each point in the array. + /// + /// The array can be of any size. + /// + /// + /// If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + /// + /// + /// + /// Sequence of points + /// Primary color + /// The duration of how long the object will be visible + public static void DrawLinePath(Vector3[] path, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_line_path_c", ref func_DebugDraw3D_draw_line_path_c, ref func_load_result_DebugDraw3D_draw_line_path_c)) + return; + + var path_native_fixed = GCHandle.Alloc(path, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_line_path_c(path_native_fixed.AddrOfPinnedObject(), (ulong)path.Length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); + } + finally + { + path_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw the arrowhead + /// + /// + /// godot::Transform3D of the Arrowhead + /// Primary color + /// The duration of how long the object will be visible + public static void DrawArrowhead(Transform3D transform, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_arrowhead", ref func_DebugDraw3D_draw_arrowhead, ref func_load_result_DebugDraw3D_draw_arrowhead)) + return; + func_DebugDraw3D_draw_arrowhead(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw line with arrowhead + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// An arrow will not be displayed if the distance between points a and b is approximately zero. + /// + /// + /// + /// Start point + /// End point + /// Primary color + /// Size of the arrow + /// Is `arrow_size` absolute or relative to the length of the string? + /// The duration of how long the object will be visible + public static void DrawArrow(Vector3 a, Vector3 b, Color? color = null, real_t arrow_size = 0.5f, bool is_absolute_size = false, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_arrow", ref func_DebugDraw3D_draw_arrow, ref func_load_result_DebugDraw3D_draw_arrow)) + return; + func_DebugDraw3D_draw_arrow(a, b, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, arrow_size, is_absolute_size, duration); +#endif + } + } + + /// + /// Same as DebugDraw3D.draw_arrow, but uses origin, direction and length instead of A and B. + /// + /// + /// Origin + /// Direction + /// Length + /// Primary color + /// Size of the arrow + /// Is `arrow_size` absolute or relative to the line length? + /// The duration of how long the object will be visible + public static void DrawArrowRay(Vector3 origin, Vector3 direction, real_t length, Color? color = null, real_t arrow_size = 0.5f, bool is_absolute_size = false, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_arrow_ray", ref func_DebugDraw3D_draw_arrow_ray, ref func_load_result_DebugDraw3D_draw_arrow_ray)) + return; + func_DebugDraw3D_draw_arrow_ray(origin, direction, length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, arrow_size, is_absolute_size, duration); +#endif + } + } + + /// + /// Draw a sequence of points connected by lines with arrows like DebugDraw3D.draw_line_path. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// If the path size is equal to 1, then DebugDraw3D.draw_square will be used instead of drawing a line. + /// + /// + /// + /// Sequence of points + /// Primary color + /// Size of the arrow + /// Is the `arrow_size` absolute or relative to the length of the line? + /// The duration of how long the object will be visible + public static void DrawArrowPath(Vector3[] path, Color? color = null, real_t arrow_size = 0.75f, bool is_absolute_size = true, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_arrow_path_c", ref func_DebugDraw3D_draw_arrow_path_c, ref func_load_result_DebugDraw3D_draw_arrow_path_c)) + return; + + var path_native_fixed = GCHandle.Alloc(path, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_arrow_path_c(path_native_fixed.AddrOfPinnedObject(), (ulong)path.Length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, arrow_size, is_absolute_size, duration); + } + finally + { + path_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw a sequence of points connected by lines using billboard squares or spheres like DebugDraw3D.draw_line_path. + /// + /// [THERE WAS AN IMAGE] + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// If the path size is equal to 1, then DebugDraw3D.draw_square or DebugDraw3D.draw_sphere will be used instead of drawing a line. + /// + /// + /// + /// Sequence of points + /// Type of points + /// Color of points + /// Color of lines + /// Size of squares + /// The duration of how long the object will be visible + public static void DrawPointPath(Vector3[] path, DebugDraw3D.PointType type = PointType.TypeSquare, real_t size = 0.25f, Color? points_color = null, Color? lines_color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_point_path_c", ref func_DebugDraw3D_draw_point_path_c, ref func_load_result_DebugDraw3D_draw_point_path_c)) + return; + + var path_native_fixed = GCHandle.Alloc(path, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_point_path_c(path_native_fixed.AddrOfPinnedObject(), (ulong)path.Length, (uint)(type), size, points_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, lines_color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); + } + finally + { + path_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw a sequence of points using billboard squares or spheres. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Sequence of points + /// Type of points + /// Size of squares + /// Primary color + /// The duration of how long the object will be visible + public static void DrawPoints(Vector3[] points, DebugDraw3D.PointType type = DebugDraw3D.PointType.TypeSquare, real_t size = 0.25f, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_points_c", ref func_DebugDraw3D_draw_points_c, ref func_load_result_DebugDraw3D_draw_points_c)) + return; + + var points_native_fixed = GCHandle.Alloc(points, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_points_c(points_native_fixed.AddrOfPinnedObject(), (ulong)points.Length, (uint)(type), size, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); + } + finally + { + points_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw a square that will always be turned towards the camera + /// + /// + /// Center position of square + /// Square size + /// Primary color + /// The duration of how long the object will be visible + public static void DrawSquare(Vector3 position, real_t size = 0.2f, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_square", ref func_DebugDraw3D_draw_square, ref func_load_result_DebugDraw3D_draw_square)) + return; + func_DebugDraw3D_draw_square(position, size, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draws a plane of non-infinite size relative to the position of the current camera. + /// + /// The plane size is set based on the `Far` parameter of the current camera or with DebugDraw3DScopeConfig.set_plane_size. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Plane data + /// Primary color + /// A point that is projected onto a Plane, and its projection is used as the center of the drawn plane + /// The duration of how long the object will be visible + public static void DrawPlane(Plane plane, Color? color = null, Vector3? anchor_point = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_plane", ref func_DebugDraw3D_draw_plane, ref func_load_result_DebugDraw3D_draw_plane)) + return; + func_DebugDraw3D_draw_plane(plane, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, anchor_point ?? InternalDD3DApiLoaderUtils_._default_arg_2, duration); +#endif + } + } + + /// + /// Draw 3 intersecting lines with the given transformations + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// godot::Transform3D of lines + /// Primary color + /// The duration of how long the object will be visible + public static void DrawPosition(Transform3D transform, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_position", ref func_DebugDraw3D_draw_position, ref func_load_result_DebugDraw3D_draw_position)) + return; + func_DebugDraw3D_draw_position(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw 3 lines with the given transformations and arrows at the ends + /// + /// [THERE WAS AN IMAGE] + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// godot::Transform3D of lines + /// Primary color + /// If `true`, then the lines will intersect in the center of the transform + /// The duration of how long the object will be visible + public static void DrawGizmo(Transform3D transform, Color? color = null, bool is_centered = false, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_gizmo", ref func_DebugDraw3D_draw_gizmo, ref func_load_result_DebugDraw3D_draw_gizmo)) + return; + func_DebugDraw3D_draw_gizmo(transform, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_centered, duration); +#endif + } + } + + /// + /// Draw simple grid with given size and subdivision + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Grid origin + /// Direction and size of the X side. As an axis in the Basis. + /// Direction and size of the Y side. As an axis in the Basis. + /// Number of cells for the X and Y axes + /// Primary color + /// Draw lines relative to origin + /// The duration of how long the object will be visible + public static void DrawGrid(Vector3 origin, Vector3 x_size, Vector3 y_size, Vector2I subdivision, Color? color = null, bool is_centered = true, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_grid", ref func_DebugDraw3D_draw_grid, ref func_load_result_DebugDraw3D_draw_grid)) + return; + func_DebugDraw3D_draw_grid(origin, x_size, y_size, subdivision, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_centered, duration); +#endif + } + } + + /// + /// Draw a simple grid with a given transform and subdivision. + /// + /// Like DebugDraw3D.draw_grid, but instead of origin, x_size and y_size, a single transform is used. + /// + /// + /// godot::Transform3D of the Grid + /// Number of cells for the X and Y axes + /// Primary color + /// Draw lines relative to origin + /// The duration of how long the object will be visible + public static void DrawGridXf(Transform3D transform, Vector2I p_subdivision, Color? color = null, bool is_centered = true, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_grid_xf", ref func_DebugDraw3D_draw_grid_xf, ref func_load_result_DebugDraw3D_draw_grid_xf)) + return; + func_DebugDraw3D_draw_grid_xf(transform, p_subdivision, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, is_centered, duration); +#endif + } + } + + /// + /// Draw camera frustum area. + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Camera node + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCameraFrustum(Camera3D camera, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_camera_frustum", ref func_DebugDraw3D_draw_camera_frustum, ref func_load_result_DebugDraw3D_draw_camera_frustum)) + return; + func_DebugDraw3D_draw_camera_frustum(camera != null ? camera.GetInstanceId() : 0, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + + /// + /// Draw the frustum area of the camera based on an array of 6 planes. + /// + /// + /// Array of frustum planes + /// Primary color + /// The duration of how long the object will be visible + public static void DrawCameraFrustumPlanes(Plane[] camera_frustum, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_camera_frustum_planes_c", ref func_DebugDraw3D_draw_camera_frustum_planes_c, ref func_load_result_DebugDraw3D_draw_camera_frustum_planes_c)) + return; + + var camera_frustum_native_fixed = GCHandle.Alloc(camera_frustum, GCHandleType.Pinned); + try + { + func_DebugDraw3D_draw_camera_frustum_planes_c(camera_frustum_native_fixed.AddrOfPinnedObject(), (ulong)camera_frustum.Length, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); + } + finally + { + camera_frustum_native_fixed.Free(); + } +#endif + } + } + + /// + /// Draw text using Label3D. + /// + /// + /// Outline can be changed using DebugDraw3DScopeConfig.set_text_outline_color and DebugDraw3DScopeConfig.set_text_outline_size. + /// The font can be changed using DebugDraw3DScopeConfig.set_text_font. + /// The text can be made to stay the same size regardless of distance using DebugDraw3DScopeConfig.set_text_fixed_size. + /// + /// + /// [THERE WAS AN IMAGE] + /// + /// + /// Center position of Label + /// Label's text + /// Font size + /// Primary color + /// The duration of how long the object will be visible + public static void DrawText(Vector3 position, string text, int size = 32, Color? color = null, real_t duration = 0) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3D_draw_text_c", ref func_DebugDraw3D_draw_text_c, ref func_load_result_DebugDraw3D_draw_text_c)) + return; + func_DebugDraw3D_draw_text_c(position, text, size, color ?? InternalDD3DApiLoaderUtils_._default_arg_1, duration); +#endif + } + } + +} // class DebugDraw3D + +/// +/// +/// You can get statistics about 3D rendering from this class. +/// +/// +/// All names try to reflect what they mean. +/// +/// To get an instance of this class with current statistics, use DebugDraw3D.get_render_stats. +/// +/// `instances` lets you know how many instances have been created. +/// +/// `instances_physics` reports how many instances were created inside `_physics_process`. +/// +/// `total_time_spent_usec` reports the time in microseconds spent to process everything and display the geometry on the screen. +/// +internal class DebugDraw3DStats : IDisposable +{ + IntPtr inst_ptr; + + public DebugDraw3DStats(IntPtr inst_ptr) + { + this.inst_ptr = inst_ptr; + } + + public DebugDraw3DStats(bool instantiate = true) + { + this.inst_ptr = instantiate ? Create() : CreateNullptr(); + } + + ~DebugDraw3DStats() => Dispose(); + + public static explicit operator IntPtr(DebugDraw3DStats o) { return o.inst_ptr; } + + public void Dispose() + { + if (inst_ptr != IntPtr.Zero) + { + Destroy(inst_ptr); + inst_ptr = IntPtr.Zero; + } + } + + public long Instances { get => GetInstances(); set => SetInstances(value); } + + public long Lines { get => GetLines(); set => SetLines(value); } + + public long InstancesPhysics { get => GetInstancesPhysics(); set => SetInstancesPhysics(value); } + + public long LinesPhysics { get => GetLinesPhysics(); set => SetLinesPhysics(value); } + + public long TotalGeometry { get => GetTotalGeometry(); set => SetTotalGeometry(value); } + + public long VisibleInstances { get => GetVisibleInstances(); set => SetVisibleInstances(value); } + + public long VisibleLines { get => GetVisibleLines(); set => SetVisibleLines(value); } + + public long TotalVisible { get => GetTotalVisible(); set => SetTotalVisible(value); } + + public long TimeFillingBuffersInstancesUsec { get => GetTimeFillingBuffersInstancesUsec(); set => SetTimeFillingBuffersInstancesUsec(value); } + + public long TimeFillingBuffersLinesUsec { get => GetTimeFillingBuffersLinesUsec(); set => SetTimeFillingBuffersLinesUsec(value); } + + public long TimeFillingBuffersInstancesPhysicsUsec { get => GetTimeFillingBuffersInstancesPhysicsUsec(); set => SetTimeFillingBuffersInstancesPhysicsUsec(value); } + + public long TimeFillingBuffersLinesPhysicsUsec { get => GetTimeFillingBuffersLinesPhysicsUsec(); set => SetTimeFillingBuffersLinesPhysicsUsec(value); } + + public long TotalTimeFillingBuffersUsec { get => GetTotalTimeFillingBuffersUsec(); set => SetTotalTimeFillingBuffersUsec(value); } + + public long TimeCullingInstancesUsec { get => GetTimeCullingInstancesUsec(); set => SetTimeCullingInstancesUsec(value); } + + public long TimeCullingLinesUsec { get => GetTimeCullingLinesUsec(); set => SetTimeCullingLinesUsec(value); } + + public long TotalTimeCullingUsec { get => GetTotalTimeCullingUsec(); set => SetTotalTimeCullingUsec(value); } + + public long TotalTimeSpentUsec { get => GetTotalTimeSpentUsec(); set => SetTotalTimeSpentUsec(value); } + + public long CreatedScopedConfigs { get => GetCreatedScopedConfigs(); set => SetCreatedScopedConfigs(value); } + + public long OrphanScopedConfigs { get => GetOrphanScopedConfigs(); set => SetOrphanScopedConfigs(value); } + + public long NodesLabel3dVisible { get => GetNodesLabel3dVisible(); set => SetNodesLabel3dVisible(value); } + + public long NodesLabel3dVisiblePhysics { get => GetNodesLabel3dVisiblePhysics(); set => SetNodesLabel3dVisiblePhysics(value); } + + public long NodesLabel3dExists { get => GetNodesLabel3dExists(); set => SetNodesLabel3dExists(value); } + + public long NodesLabel3dExistsPhysics { get => GetNodesLabel3dExistsPhysics(); set => SetNodesLabel3dExistsPhysics(value); } + + public long NodesLabel3dExistsTotal { get => GetNodesLabel3dExistsTotal(); set => SetNodesLabel3dExistsTotal(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_instances(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_instances func_DebugDraw3DStats_get_instances; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_instances; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_instances(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_instances func_DebugDraw3DStats_set_instances; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_instances; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_lines(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_lines func_DebugDraw3DStats_get_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_lines(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_lines func_DebugDraw3DStats_set_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_instances_physics(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_instances_physics func_DebugDraw3DStats_get_instances_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_instances_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_instances_physics(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_instances_physics func_DebugDraw3DStats_set_instances_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_instances_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_lines_physics(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_lines_physics func_DebugDraw3DStats_get_lines_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_lines_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_lines_physics(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_lines_physics func_DebugDraw3DStats_set_lines_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_lines_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_total_geometry(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_total_geometry func_DebugDraw3DStats_get_total_geometry; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_total_geometry; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_total_geometry(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_total_geometry func_DebugDraw3DStats_set_total_geometry; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_total_geometry; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_visible_instances(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_visible_instances func_DebugDraw3DStats_get_visible_instances; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_visible_instances; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_visible_instances(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_visible_instances func_DebugDraw3DStats_set_visible_instances; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_visible_instances; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_visible_lines(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_visible_lines func_DebugDraw3DStats_get_visible_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_visible_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_visible_lines(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_visible_lines func_DebugDraw3DStats_set_visible_lines; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_visible_lines; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_total_visible(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_total_visible func_DebugDraw3DStats_get_total_visible; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_total_visible; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_total_visible(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_total_visible func_DebugDraw3DStats_set_total_visible; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_total_visible; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_filling_buffers_instances_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_filling_buffers_instances_usec func_DebugDraw3DStats_get_time_filling_buffers_instances_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_filling_buffers_instances_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_filling_buffers_instances_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_filling_buffers_instances_usec func_DebugDraw3DStats_set_time_filling_buffers_instances_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_filling_buffers_instances_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_filling_buffers_lines_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_filling_buffers_lines_usec func_DebugDraw3DStats_get_time_filling_buffers_lines_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_filling_buffers_lines_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_filling_buffers_lines_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_filling_buffers_lines_usec func_DebugDraw3DStats_set_time_filling_buffers_lines_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_filling_buffers_lines_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec func_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec func_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec func_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec func_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_total_time_filling_buffers_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_total_time_filling_buffers_usec func_DebugDraw3DStats_get_total_time_filling_buffers_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_total_time_filling_buffers_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_total_time_filling_buffers_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_total_time_filling_buffers_usec func_DebugDraw3DStats_set_total_time_filling_buffers_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_total_time_filling_buffers_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_culling_instances_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_culling_instances_usec func_DebugDraw3DStats_get_time_culling_instances_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_culling_instances_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_culling_instances_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_culling_instances_usec func_DebugDraw3DStats_set_time_culling_instances_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_culling_instances_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_time_culling_lines_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_time_culling_lines_usec func_DebugDraw3DStats_get_time_culling_lines_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_time_culling_lines_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_time_culling_lines_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_time_culling_lines_usec func_DebugDraw3DStats_set_time_culling_lines_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_time_culling_lines_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_total_time_culling_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_total_time_culling_usec func_DebugDraw3DStats_get_total_time_culling_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_total_time_culling_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_total_time_culling_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_total_time_culling_usec func_DebugDraw3DStats_set_total_time_culling_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_total_time_culling_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_total_time_spent_usec(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_total_time_spent_usec func_DebugDraw3DStats_get_total_time_spent_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_total_time_spent_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_total_time_spent_usec(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_total_time_spent_usec func_DebugDraw3DStats_set_total_time_spent_usec; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_total_time_spent_usec; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_created_scoped_configs(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_created_scoped_configs func_DebugDraw3DStats_get_created_scoped_configs; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_created_scoped_configs; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_created_scoped_configs(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_created_scoped_configs func_DebugDraw3DStats_set_created_scoped_configs; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_created_scoped_configs; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_orphan_scoped_configs(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_orphan_scoped_configs func_DebugDraw3DStats_get_orphan_scoped_configs; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_orphan_scoped_configs; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_orphan_scoped_configs(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_orphan_scoped_configs func_DebugDraw3DStats_set_orphan_scoped_configs; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_orphan_scoped_configs; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_nodes_label3d_visible(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_nodes_label3d_visible func_DebugDraw3DStats_get_nodes_label3d_visible; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_nodes_label3d_visible; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_nodes_label3d_visible(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_nodes_label3d_visible func_DebugDraw3DStats_set_nodes_label3d_visible; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_nodes_label3d_visible; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_nodes_label3d_visible_physics(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_nodes_label3d_visible_physics func_DebugDraw3DStats_get_nodes_label3d_visible_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_nodes_label3d_visible_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_nodes_label3d_visible_physics(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_nodes_label3d_visible_physics func_DebugDraw3DStats_set_nodes_label3d_visible_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_nodes_label3d_visible_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_nodes_label3d_exists(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_nodes_label3d_exists func_DebugDraw3DStats_get_nodes_label3d_exists; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_nodes_label3d_exists; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_nodes_label3d_exists(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_nodes_label3d_exists func_DebugDraw3DStats_set_nodes_label3d_exists; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_nodes_label3d_exists; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_nodes_label3d_exists_physics(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_nodes_label3d_exists_physics func_DebugDraw3DStats_get_nodes_label3d_exists_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_nodes_label3d_exists_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_nodes_label3d_exists_physics(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_nodes_label3d_exists_physics func_DebugDraw3DStats_set_nodes_label3d_exists_physics; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_nodes_label3d_exists_physics; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate long dlgt_DebugDraw3DStats_get_nodes_label3d_exists_total(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_get_nodes_label3d_exists_total func_DebugDraw3DStats_get_nodes_label3d_exists_total; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_get_nodes_label3d_exists_total; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_set_nodes_label3d_exists_total(IntPtr inst_ptr, long val); + static dlgt_DebugDraw3DStats_set_nodes_label3d_exists_total func_DebugDraw3DStats_set_nodes_label3d_exists_total; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_set_nodes_label3d_exists_total; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DStats_create(); + static dlgt_DebugDraw3DStats_create func_DebugDraw3DStats_create; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_create; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate IntPtr dlgt_DebugDraw3DStats_create_nullptr(); + static dlgt_DebugDraw3DStats_create_nullptr func_DebugDraw3DStats_create_nullptr; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_create_nullptr; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDraw3DStats_destroy(IntPtr inst_ptr); + static dlgt_DebugDraw3DStats_destroy func_DebugDraw3DStats_destroy; static DD3DFuncLoadingResult func_load_result_DebugDraw3DStats_destroy; + + public long GetInstances() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_instances", ref func_DebugDraw3DStats_get_instances, ref func_load_result_DebugDraw3DStats_get_instances)) + return default; + return func_DebugDraw3DStats_get_instances(inst_ptr); + } + + public void SetInstances(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_instances", ref func_DebugDraw3DStats_set_instances, ref func_load_result_DebugDraw3DStats_set_instances)) + return; + func_DebugDraw3DStats_set_instances(inst_ptr, val); +#endif + } + } + + public long GetLines() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_lines", ref func_DebugDraw3DStats_get_lines, ref func_load_result_DebugDraw3DStats_get_lines)) + return default; + return func_DebugDraw3DStats_get_lines(inst_ptr); + } + + public void SetLines(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_lines", ref func_DebugDraw3DStats_set_lines, ref func_load_result_DebugDraw3DStats_set_lines)) + return; + func_DebugDraw3DStats_set_lines(inst_ptr, val); +#endif + } + } + + public long GetInstancesPhysics() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_instances_physics", ref func_DebugDraw3DStats_get_instances_physics, ref func_load_result_DebugDraw3DStats_get_instances_physics)) + return default; + return func_DebugDraw3DStats_get_instances_physics(inst_ptr); + } + + public void SetInstancesPhysics(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_instances_physics", ref func_DebugDraw3DStats_set_instances_physics, ref func_load_result_DebugDraw3DStats_set_instances_physics)) + return; + func_DebugDraw3DStats_set_instances_physics(inst_ptr, val); +#endif + } + } + + public long GetLinesPhysics() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_lines_physics", ref func_DebugDraw3DStats_get_lines_physics, ref func_load_result_DebugDraw3DStats_get_lines_physics)) + return default; + return func_DebugDraw3DStats_get_lines_physics(inst_ptr); + } + + public void SetLinesPhysics(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_lines_physics", ref func_DebugDraw3DStats_set_lines_physics, ref func_load_result_DebugDraw3DStats_set_lines_physics)) + return; + func_DebugDraw3DStats_set_lines_physics(inst_ptr, val); +#endif + } + } + + public long GetTotalGeometry() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_total_geometry", ref func_DebugDraw3DStats_get_total_geometry, ref func_load_result_DebugDraw3DStats_get_total_geometry)) + return default; + return func_DebugDraw3DStats_get_total_geometry(inst_ptr); + } + + public void SetTotalGeometry(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_total_geometry", ref func_DebugDraw3DStats_set_total_geometry, ref func_load_result_DebugDraw3DStats_set_total_geometry)) + return; + func_DebugDraw3DStats_set_total_geometry(inst_ptr, val); +#endif + } + } + + public long GetVisibleInstances() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_visible_instances", ref func_DebugDraw3DStats_get_visible_instances, ref func_load_result_DebugDraw3DStats_get_visible_instances)) + return default; + return func_DebugDraw3DStats_get_visible_instances(inst_ptr); + } + + public void SetVisibleInstances(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_visible_instances", ref func_DebugDraw3DStats_set_visible_instances, ref func_load_result_DebugDraw3DStats_set_visible_instances)) + return; + func_DebugDraw3DStats_set_visible_instances(inst_ptr, val); +#endif + } + } + + public long GetVisibleLines() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_visible_lines", ref func_DebugDraw3DStats_get_visible_lines, ref func_load_result_DebugDraw3DStats_get_visible_lines)) + return default; + return func_DebugDraw3DStats_get_visible_lines(inst_ptr); + } + + public void SetVisibleLines(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_visible_lines", ref func_DebugDraw3DStats_set_visible_lines, ref func_load_result_DebugDraw3DStats_set_visible_lines)) + return; + func_DebugDraw3DStats_set_visible_lines(inst_ptr, val); +#endif + } + } + + public long GetTotalVisible() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_total_visible", ref func_DebugDraw3DStats_get_total_visible, ref func_load_result_DebugDraw3DStats_get_total_visible)) + return default; + return func_DebugDraw3DStats_get_total_visible(inst_ptr); + } + + public void SetTotalVisible(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_total_visible", ref func_DebugDraw3DStats_set_total_visible, ref func_load_result_DebugDraw3DStats_set_total_visible)) + return; + func_DebugDraw3DStats_set_total_visible(inst_ptr, val); +#endif + } + } + + public long GetTimeFillingBuffersInstancesUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_filling_buffers_instances_usec", ref func_DebugDraw3DStats_get_time_filling_buffers_instances_usec, ref func_load_result_DebugDraw3DStats_get_time_filling_buffers_instances_usec)) + return default; + return func_DebugDraw3DStats_get_time_filling_buffers_instances_usec(inst_ptr); + } + + public void SetTimeFillingBuffersInstancesUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_filling_buffers_instances_usec", ref func_DebugDraw3DStats_set_time_filling_buffers_instances_usec, ref func_load_result_DebugDraw3DStats_set_time_filling_buffers_instances_usec)) + return; + func_DebugDraw3DStats_set_time_filling_buffers_instances_usec(inst_ptr, val); +#endif + } + } + + public long GetTimeFillingBuffersLinesUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_filling_buffers_lines_usec", ref func_DebugDraw3DStats_get_time_filling_buffers_lines_usec, ref func_load_result_DebugDraw3DStats_get_time_filling_buffers_lines_usec)) + return default; + return func_DebugDraw3DStats_get_time_filling_buffers_lines_usec(inst_ptr); + } + + public void SetTimeFillingBuffersLinesUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_filling_buffers_lines_usec", ref func_DebugDraw3DStats_set_time_filling_buffers_lines_usec, ref func_load_result_DebugDraw3DStats_set_time_filling_buffers_lines_usec)) + return; + func_DebugDraw3DStats_set_time_filling_buffers_lines_usec(inst_ptr, val); +#endif + } + } + + public long GetTimeFillingBuffersInstancesPhysicsUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec", ref func_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec, ref func_load_result_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec)) + return default; + return func_DebugDraw3DStats_get_time_filling_buffers_instances_physics_usec(inst_ptr); + } + + public void SetTimeFillingBuffersInstancesPhysicsUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec", ref func_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec, ref func_load_result_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec)) + return; + func_DebugDraw3DStats_set_time_filling_buffers_instances_physics_usec(inst_ptr, val); +#endif + } + } + + public long GetTimeFillingBuffersLinesPhysicsUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec", ref func_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec, ref func_load_result_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec)) + return default; + return func_DebugDraw3DStats_get_time_filling_buffers_lines_physics_usec(inst_ptr); + } + + public void SetTimeFillingBuffersLinesPhysicsUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec", ref func_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec, ref func_load_result_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec)) + return; + func_DebugDraw3DStats_set_time_filling_buffers_lines_physics_usec(inst_ptr, val); +#endif + } + } + + public long GetTotalTimeFillingBuffersUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_total_time_filling_buffers_usec", ref func_DebugDraw3DStats_get_total_time_filling_buffers_usec, ref func_load_result_DebugDraw3DStats_get_total_time_filling_buffers_usec)) + return default; + return func_DebugDraw3DStats_get_total_time_filling_buffers_usec(inst_ptr); + } + + public void SetTotalTimeFillingBuffersUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_total_time_filling_buffers_usec", ref func_DebugDraw3DStats_set_total_time_filling_buffers_usec, ref func_load_result_DebugDraw3DStats_set_total_time_filling_buffers_usec)) + return; + func_DebugDraw3DStats_set_total_time_filling_buffers_usec(inst_ptr, val); +#endif + } + } + + public long GetTimeCullingInstancesUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_culling_instances_usec", ref func_DebugDraw3DStats_get_time_culling_instances_usec, ref func_load_result_DebugDraw3DStats_get_time_culling_instances_usec)) + return default; + return func_DebugDraw3DStats_get_time_culling_instances_usec(inst_ptr); + } + + public void SetTimeCullingInstancesUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_culling_instances_usec", ref func_DebugDraw3DStats_set_time_culling_instances_usec, ref func_load_result_DebugDraw3DStats_set_time_culling_instances_usec)) + return; + func_DebugDraw3DStats_set_time_culling_instances_usec(inst_ptr, val); +#endif + } + } + + public long GetTimeCullingLinesUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_time_culling_lines_usec", ref func_DebugDraw3DStats_get_time_culling_lines_usec, ref func_load_result_DebugDraw3DStats_get_time_culling_lines_usec)) + return default; + return func_DebugDraw3DStats_get_time_culling_lines_usec(inst_ptr); + } + + public void SetTimeCullingLinesUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_time_culling_lines_usec", ref func_DebugDraw3DStats_set_time_culling_lines_usec, ref func_load_result_DebugDraw3DStats_set_time_culling_lines_usec)) + return; + func_DebugDraw3DStats_set_time_culling_lines_usec(inst_ptr, val); +#endif + } + } + + public long GetTotalTimeCullingUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_total_time_culling_usec", ref func_DebugDraw3DStats_get_total_time_culling_usec, ref func_load_result_DebugDraw3DStats_get_total_time_culling_usec)) + return default; + return func_DebugDraw3DStats_get_total_time_culling_usec(inst_ptr); + } + + public void SetTotalTimeCullingUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_total_time_culling_usec", ref func_DebugDraw3DStats_set_total_time_culling_usec, ref func_load_result_DebugDraw3DStats_set_total_time_culling_usec)) + return; + func_DebugDraw3DStats_set_total_time_culling_usec(inst_ptr, val); +#endif + } + } + + public long GetTotalTimeSpentUsec() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_total_time_spent_usec", ref func_DebugDraw3DStats_get_total_time_spent_usec, ref func_load_result_DebugDraw3DStats_get_total_time_spent_usec)) + return default; + return func_DebugDraw3DStats_get_total_time_spent_usec(inst_ptr); + } + + public void SetTotalTimeSpentUsec(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_total_time_spent_usec", ref func_DebugDraw3DStats_set_total_time_spent_usec, ref func_load_result_DebugDraw3DStats_set_total_time_spent_usec)) + return; + func_DebugDraw3DStats_set_total_time_spent_usec(inst_ptr, val); +#endif + } + } + + public long GetCreatedScopedConfigs() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_created_scoped_configs", ref func_DebugDraw3DStats_get_created_scoped_configs, ref func_load_result_DebugDraw3DStats_get_created_scoped_configs)) + return default; + return func_DebugDraw3DStats_get_created_scoped_configs(inst_ptr); + } + + public void SetCreatedScopedConfigs(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_created_scoped_configs", ref func_DebugDraw3DStats_set_created_scoped_configs, ref func_load_result_DebugDraw3DStats_set_created_scoped_configs)) + return; + func_DebugDraw3DStats_set_created_scoped_configs(inst_ptr, val); +#endif + } + } + + public long GetOrphanScopedConfigs() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_orphan_scoped_configs", ref func_DebugDraw3DStats_get_orphan_scoped_configs, ref func_load_result_DebugDraw3DStats_get_orphan_scoped_configs)) + return default; + return func_DebugDraw3DStats_get_orphan_scoped_configs(inst_ptr); + } + + public void SetOrphanScopedConfigs(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_orphan_scoped_configs", ref func_DebugDraw3DStats_set_orphan_scoped_configs, ref func_load_result_DebugDraw3DStats_set_orphan_scoped_configs)) + return; + func_DebugDraw3DStats_set_orphan_scoped_configs(inst_ptr, val); +#endif + } + } + + public long GetNodesLabel3dVisible() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_nodes_label3d_visible", ref func_DebugDraw3DStats_get_nodes_label3d_visible, ref func_load_result_DebugDraw3DStats_get_nodes_label3d_visible)) + return default; + return func_DebugDraw3DStats_get_nodes_label3d_visible(inst_ptr); + } + + public void SetNodesLabel3dVisible(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_nodes_label3d_visible", ref func_DebugDraw3DStats_set_nodes_label3d_visible, ref func_load_result_DebugDraw3DStats_set_nodes_label3d_visible)) + return; + func_DebugDraw3DStats_set_nodes_label3d_visible(inst_ptr, val); +#endif + } + } + + public long GetNodesLabel3dVisiblePhysics() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_nodes_label3d_visible_physics", ref func_DebugDraw3DStats_get_nodes_label3d_visible_physics, ref func_load_result_DebugDraw3DStats_get_nodes_label3d_visible_physics)) + return default; + return func_DebugDraw3DStats_get_nodes_label3d_visible_physics(inst_ptr); + } + + public void SetNodesLabel3dVisiblePhysics(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_nodes_label3d_visible_physics", ref func_DebugDraw3DStats_set_nodes_label3d_visible_physics, ref func_load_result_DebugDraw3DStats_set_nodes_label3d_visible_physics)) + return; + func_DebugDraw3DStats_set_nodes_label3d_visible_physics(inst_ptr, val); +#endif + } + } + + public long GetNodesLabel3dExists() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_nodes_label3d_exists", ref func_DebugDraw3DStats_get_nodes_label3d_exists, ref func_load_result_DebugDraw3DStats_get_nodes_label3d_exists)) + return default; + return func_DebugDraw3DStats_get_nodes_label3d_exists(inst_ptr); + } + + public void SetNodesLabel3dExists(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_nodes_label3d_exists", ref func_DebugDraw3DStats_set_nodes_label3d_exists, ref func_load_result_DebugDraw3DStats_set_nodes_label3d_exists)) + return; + func_DebugDraw3DStats_set_nodes_label3d_exists(inst_ptr, val); +#endif + } + } + + public long GetNodesLabel3dExistsPhysics() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_nodes_label3d_exists_physics", ref func_DebugDraw3DStats_get_nodes_label3d_exists_physics, ref func_load_result_DebugDraw3DStats_get_nodes_label3d_exists_physics)) + return default; + return func_DebugDraw3DStats_get_nodes_label3d_exists_physics(inst_ptr); + } + + public void SetNodesLabel3dExistsPhysics(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_nodes_label3d_exists_physics", ref func_DebugDraw3DStats_set_nodes_label3d_exists_physics, ref func_load_result_DebugDraw3DStats_set_nodes_label3d_exists_physics)) + return; + func_DebugDraw3DStats_set_nodes_label3d_exists_physics(inst_ptr, val); +#endif + } + } + + public long GetNodesLabel3dExistsTotal() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_get_nodes_label3d_exists_total", ref func_DebugDraw3DStats_get_nodes_label3d_exists_total, ref func_load_result_DebugDraw3DStats_get_nodes_label3d_exists_total)) + return default; + return func_DebugDraw3DStats_get_nodes_label3d_exists_total(inst_ptr); + } + + public void SetNodesLabel3dExistsTotal(long val) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_set_nodes_label3d_exists_total", ref func_DebugDraw3DStats_set_nodes_label3d_exists_total, ref func_load_result_DebugDraw3DStats_set_nodes_label3d_exists_total)) + return; + func_DebugDraw3DStats_set_nodes_label3d_exists_total(inst_ptr, val); +#endif + } + } + + private static IntPtr Create() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_create", ref func_DebugDraw3DStats_create, ref func_load_result_DebugDraw3DStats_create)) + return IntPtr.Zero; + return func_DebugDraw3DStats_create(); + } + + private static IntPtr CreateNullptr() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_create_nullptr", ref func_DebugDraw3DStats_create_nullptr, ref func_load_result_DebugDraw3DStats_create_nullptr)) + return IntPtr.Zero; + return func_DebugDraw3DStats_create_nullptr(); + } + + private static void Destroy(IntPtr inst_ptr) + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDraw3DStats_destroy", ref func_DebugDraw3DStats_destroy, ref func_load_result_DebugDraw3DStats_destroy)) + return; + func_DebugDraw3DStats_destroy(inst_ptr); + } + +}; // class DebugDraw3DStats + +/// +/// +/// The main singleton class that handles DebugDraw2D and DebugDraw3D. +/// +/// +/// Several additional settings can be found in the project settings. +/// +/// The following settings require a restart. +/// +/// +/// `debug_draw_3d/settings/initial_debug_state` sets the initial debugging state. +/// +/// `debug_draw_3d/settings/common/DebugDrawManager_singleton_aliases` sets aliases for DebugDrawManager to be registered as additional singletons. +/// +/// `debug_draw_3d/settings/common/DebugDraw2D_singleton_aliases` sets aliases for DebugDraw2D to be registered as additional singletons. +/// +/// `debug_draw_3d/settings/common/DebugDraw3D_singleton_aliases` sets aliases for DebugDraw3D to be registered as additional singletons. +/// +/// Using these aliases you can reference singletons with shorter words: +/// +/// +/// var _s = Dbg3.new_scoped_config().set_thickness(0.025).set_center_brightness(0.7) +/// Dbg3.draw_grid_xf(%Grid.global_transform, Vector2i(10,10), Color.LIGHT_GRAY) +/// Dbg2.set_text("Frametime", delta) +/// +/// +internal static class DebugDrawManager +{ + /// + /// Set whether to display 2D and 3D debug graphics + /// + public static bool DebugEnabled { get => IsDebugEnabled(); set => SetDebugEnabled(value); } + + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDrawManager_clear_all(); + static dlgt_DebugDrawManager_clear_all func_DebugDrawManager_clear_all; static DD3DFuncLoadingResult func_load_result_DebugDrawManager_clear_all; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate void dlgt_DebugDrawManager_set_debug_enabled(bool value); + static dlgt_DebugDrawManager_set_debug_enabled func_DebugDrawManager_set_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDrawManager_set_debug_enabled; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] delegate bool dlgt_DebugDrawManager_is_debug_enabled(); + static dlgt_DebugDrawManager_is_debug_enabled func_DebugDrawManager_is_debug_enabled; static DD3DFuncLoadingResult func_load_result_DebugDrawManager_is_debug_enabled; + + /// + /// Clear all 2D and 3D geometry + /// + public static void ClearAll() + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDrawManager_clear_all", ref func_DebugDrawManager_clear_all, ref func_load_result_DebugDrawManager_clear_all)) + return; + func_DebugDrawManager_clear_all(); +#endif + } + } + + /// + /// Set whether to display 2D and 3D debug graphics + /// + public static void SetDebugEnabled(bool value) + { +#if _DD3D_RUNTIME_CHECK_ENABLED + if (InternalDD3DApiLoaderUtils_.IsCallEnabled) +#endif + { +#if _DD3D_COMPILETIME_CHECK_ENABLED + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDrawManager_set_debug_enabled", ref func_DebugDrawManager_set_debug_enabled, ref func_load_result_DebugDrawManager_set_debug_enabled)) + return; + func_DebugDrawManager_set_debug_enabled(value); +#endif + } + } + + /// + /// Whether debug 2D and 3D graphics are disabled + /// + public static bool IsDebugEnabled() + { + if (!InternalDD3DApiLoaderUtils_.LoadFunction("DebugDrawManager_is_debug_enabled", ref func_DebugDrawManager_is_debug_enabled, ref func_load_result_DebugDrawManager_is_debug_enabled)) + return default; + return func_DebugDrawManager_is_debug_enabled(); + } + +} // class DebugDrawManager + +// End of the generated API diff --git a/addons/debug_menu/LICENSE.md b/addons/debug_menu/LICENSE.md new file mode 100644 index 0000000..54fc020 --- /dev/null +++ b/addons/debug_menu/LICENSE.md @@ -0,0 +1,21 @@ +# MIT License + +Copyright © 2023-present Hugo Locurcio and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/addons/debug_menu/debug_menu.gd b/addons/debug_menu/debug_menu.gd new file mode 100644 index 0000000..1e21a20 --- /dev/null +++ b/addons/debug_menu/debug_menu.gd @@ -0,0 +1,653 @@ +extends CanvasLayer + +@export var fps: Label +@export var frame_time: Label +@export var frame_number: Label +@export var frame_stats: Label +@export var frame_history_total_avg: Label +@export var frame_history_total_min: Label +@export var frame_history_total_max: Label +@export var frame_history_total_last: Label +@export var frame_history_cpu_avg: Label +@export var frame_history_cpu_min: Label +@export var frame_history_cpu_max: Label +@export var frame_history_cpu_last: Label +@export var frame_history_gpu_avg: Label +@export var frame_history_gpu_min: Label +@export var frame_history_gpu_max: Label +@export var frame_history_gpu_last: Label +@export var fps_graph: Panel +@export var total_graph: Panel +@export var cpu_graph: Panel +@export var gpu_graph: Panel +@export var information: Label +@export var settings: Label + +## The number of frames to keep in history for graph drawing and best/worst calculations. +## Currently, this also affects how FPS is measured. +const HISTORY_NUM_FRAMES = 150 + +var GRAPH_SIZE = Vector2(150, 25) # kept uppercase for less code change +const DEFAULT_GRAPH_SIZE = Vector2(150, 25) + +const DEFAULT_FONT_SIZE = 12.0 +const MIN_FONT_SIZE = 3.0 +const MAX_FONT_SIZE = 72.0 +const DEFAULT_FONT_OUTLINE_SIZE = 3.0 +const DEFAULT_HEADER_WIDTH = 50.0 + +const GRAPH_MIN_FPS = 10 +const GRAPH_MAX_FPS = 160 +const GRAPH_MIN_FRAMETIME = 1.0 / GRAPH_MIN_FPS +const GRAPH_MAX_FRAMETIME = 1.0 / GRAPH_MAX_FPS + +## Debug menu display style. +enum Style { + HIDDEN, ## Debug menu is hidden. + VISIBLE_COMPACT, ## Debug menu is visible, with only the FPS, FPS cap (if any) and time taken to render the last frame. + VISIBLE_DETAILED, ## Debug menu is visible with full information, including graphs. + MAX, ## Represents the size of the Style enum. +} + +## The style to use when drawing the debug menu. +var style := Style.HIDDEN: + set(value): + style = value + match style: + Style.HIDDEN: + visible = false + Style.VISIBLE_COMPACT, Style.VISIBLE_DETAILED: + visible = true + frame_number.visible = style == Style.VISIBLE_DETAILED + frame_stats.visible = style == Style.VISIBLE_DETAILED + $DebugMenu/VBoxContainer/FrameTimeHistory.visible = style == Style.VISIBLE_DETAILED + $DebugMenu/VBoxContainer/FPSGraph.visible = style == Style.VISIBLE_DETAILED + $DebugMenu/VBoxContainer/TotalGraph.visible = style == Style.VISIBLE_DETAILED + $DebugMenu/VBoxContainer/CPUGraph.visible = style == Style.VISIBLE_DETAILED + $DebugMenu/VBoxContainer/GPUGraph.visible = style == Style.VISIBLE_DETAILED + information.visible = style == Style.VISIBLE_DETAILED + settings.visible = style == Style.VISIBLE_DETAILED + +var _custom_font_size: int = DEFAULT_FONT_SIZE * 3 # 3x + +## Debug menu display size. +enum Display_Size { + SIZE_3, ## 0.25x the default scale + SIZE_6, ## 0.5x the default scale + SIZE_12_DEFAULT, ## 1.0x, the default display size + SIZE_18, ## 1.5x the default scale + SIZE_24, ## 2.0x the default scale + SIZE_30, ## 2.5x the default scale + SIZE_CUSTOM, ## Initially 3.0x the default scale, but overwritten with set_font_size() + MAX, ## Represents the size of the Display_Size enum. +} + +## The size to use when drawing the debug menu. +var display_size := Display_Size.SIZE_12_DEFAULT: + set(value): + display_size = value + match display_size: + Display_Size.SIZE_3: # 0.25x + _resize_overlay(DEFAULT_FONT_SIZE * 0.25, + 0, # no outline, makes small font look better + DEFAULT_HEADER_WIDTH* 0.25) + Display_Size.SIZE_6: # 0.5x + _resize_overlay(DEFAULT_FONT_SIZE* 0.5, + DEFAULT_FONT_OUTLINE_SIZE * 0.5, + DEFAULT_HEADER_WIDTH* 0.5) + Display_Size.SIZE_12_DEFAULT: # 1.0x + _resize_overlay(DEFAULT_FONT_SIZE, + DEFAULT_FONT_OUTLINE_SIZE, + DEFAULT_HEADER_WIDTH) + Display_Size.SIZE_18: # 1.5x + _resize_overlay(DEFAULT_FONT_SIZE * 1.5, + DEFAULT_FONT_OUTLINE_SIZE * 1.5, + DEFAULT_HEADER_WIDTH * 1.5) + Display_Size.SIZE_24: # 2.0x + _resize_overlay(DEFAULT_FONT_SIZE * 2.0, + DEFAULT_FONT_OUTLINE_SIZE * 2.0, + DEFAULT_HEADER_WIDTH * 2.0) + Display_Size.SIZE_30: # 2.5x + _resize_overlay(DEFAULT_FONT_SIZE * 2.5, + DEFAULT_FONT_OUTLINE_SIZE * 2.5, + DEFAULT_HEADER_WIDTH * 2.5) + Display_Size.SIZE_CUSTOM: # initially is 3.0x, replaced when set_font_size() is called + var new_scale: float = float(_custom_font_size / DEFAULT_FONT_SIZE) + _resize_overlay(DEFAULT_FONT_SIZE * new_scale, + DEFAULT_FONT_OUTLINE_SIZE * new_scale, + DEFAULT_HEADER_WIDTH * new_scale) + +# Value of `Time.get_ticks_usec()` on the previous frame. +var last_tick := 0 + +var thread := Thread.new() + +## Returns the sum of all values of an array (use as a parameter to `Array.reduce()`). +var sum_func := func avg(accum: float, number: float) -> float: return accum + number + +# History of the last `HISTORY_NUM_FRAMES` rendered frames. +var frame_history_total: Array[float] = [] +var frame_history_cpu: Array[float] = [] +var frame_history_gpu: Array[float] = [] +var fps_history: Array[float] = [] # Only used for graphs. + +var frametime_avg := GRAPH_MIN_FRAMETIME +var frametime_cpu_avg := GRAPH_MAX_FRAMETIME +var frametime_gpu_avg := GRAPH_MIN_FRAMETIME +var frames_per_second := float(GRAPH_MIN_FPS) +var frame_time_gradient := Gradient.new() + +func _init() -> void: + # This must be done here instead of `_ready()` to avoid having `visibility_changed` be emitted immediately. + visible = false + + if not InputMap.has_action("cycle_debug_menu"): + # Create default input action if no user-defined override exists. + # We can't do it in the editor plugin's activation code as it doesn't seem to work there. + InputMap.add_action("cycle_debug_menu") + var event := InputEventKey.new() + event.keycode = KEY_F3 + InputMap.action_add_event("cycle_debug_menu", event) + + if not InputMap.has_action("cycle_debug_menu_size"): + # Create default input action if no user-defined override exists. + # We can't do it in the editor plugin's activation code as it doesn't seem to work there. + InputMap.add_action("cycle_debug_menu_size") + var event := InputEventKey.new() + event.keycode = KEY_F4 + InputMap.action_add_event("cycle_debug_menu_size", event) + + if not InputMap.has_action("debug_menu_screenshot"): + # Create default input action if no user-defined override exists. + # We can't do it in the editor plugin's activation code as it doesn't seem to work there. + InputMap.add_action("debug_menu_screenshot") + var event := InputEventKey.new() + event.keycode = KEY_F5 + InputMap.action_add_event("debug_menu_screenshot", event) + +func _ready() -> void: + # start visibility from project settings + if ProjectSettings.has_setting("DebugMenu/settings/startup_visibility"): + style = ProjectSettings.get_setting("DebugMenu/settings/startup_visibility") + + # font size from project settings + if ProjectSettings.has_setting("DebugMenu/settings/font_size"): + set_font_size(ProjectSettings.get_setting("DebugMenu/settings/font_size")) + + fps_graph.draw.connect(_fps_graph_draw) + total_graph.draw.connect(_total_graph_draw) + cpu_graph.draw.connect(_cpu_graph_draw) + gpu_graph.draw.connect(_gpu_graph_draw) + + fps_history.resize(HISTORY_NUM_FRAMES) + frame_history_total.resize(HISTORY_NUM_FRAMES) + frame_history_cpu.resize(HISTORY_NUM_FRAMES) + frame_history_gpu.resize(HISTORY_NUM_FRAMES) + + # NOTE: Both FPS and frametimes are colored following FPS logic + # (red = 10 FPS, yellow = 60 FPS, green = 110 FPS, cyan = 160 FPS). + # This makes the color gradient non-linear. + # Colors are taken from . + frame_time_gradient.set_color(0, Color.from_rgba8(239, 68, 68)) # red-500 + frame_time_gradient.set_color(1, Color.from_rgba8(56, 189, 248)) # light-blue-400 + frame_time_gradient.add_point(0.3333, Color.from_rgba8(250, 204, 21)) # yellow-400 + frame_time_gradient.add_point(0.6667, Color.from_rgba8(128, 226, 95)) # 50-50 mix of lime-400 and green-400 + + get_viewport().size_changed.connect(update_settings_label) + + # Display loading text while information is being queried, + # in case the user toggles the full debug menu just after starting the project. + information.text = "Loading hardware information...\n\n " + settings.text = "Loading project information..." + thread.start( + func(): + # Disable thread safety checks as they interfere with this add-on. + # This only affects this particular thread, not other thread instances in the project. + # See for details. + # Use a Callable so that this can be ignored on Godot 4.0 without causing a script error + # (thread safety checks were added in Godot 4.1). + if Engine.get_version_info()["hex"] >= 0x040100: + Callable(Thread, "set_thread_safety_checks_enabled").call(false) + + # Enable required time measurements to display CPU/GPU frame time information. + # These lines are time-consuming operations, so run them in a separate thread. + RenderingServer.viewport_set_measure_render_time(get_viewport().get_viewport_rid(), true) + update_information_label() + update_settings_label() + ) + + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("cycle_debug_menu"): + style = wrapi(style + 1, 0, Style.MAX) as Style + # Only cycle size/scale when DebugMenu is visible + elif event.is_action_pressed("cycle_debug_menu_size") and style != Style.HIDDEN: + display_size = wrapi(display_size + 1, 0, Display_Size.MAX) as Display_Size + # Only take screen shot if debug menu is displayed (maybe allow this anytime?) + elif event.is_action_pressed("debug_menu_screenshot") and style != Style.HIDDEN: + do_screenshot() + +#region Scaling functions by Antz + +func _resize_overlay(font_size_in: int, outline_size: int, header_width: float): + # change font size and outline for all labels + for l in get_tree().get_nodes_in_group("debug_menu_label"): + var label : Label = l as Label + label.add_theme_font_size_override("font_size", font_size_in) + # no outline for very small fonts sizes + if font_size_in < 6: + label.add_theme_constant_override("outline_size", 0) + else: + label.add_theme_constant_override("outline_size", outline_size) + + # change header widths + for l in get_tree().get_nodes_in_group("debug_menu_header"): + var label : Label = l as Label + label.custom_minimum_size.x = header_width + + # main FPS label size is 50% bigger + fps.add_theme_font_size_override("font_size", font_size_in*1.5) + + # no outline for very small fonts sizes + if font_size_in < 6: + fps.add_theme_constant_override("outline_size", 0) + else: + fps.add_theme_constant_override("outline_size", outline_size*1.5) + + var new_scale: float = font_size_in / DEFAULT_FONT_SIZE + + # scale line spacing for multi line labels + settings.add_theme_constant_override("line_spacing", 3 * new_scale) + information.add_theme_constant_override("line_spacing", 3 * new_scale) + + # graph re-size + GRAPH_SIZE = DEFAULT_GRAPH_SIZE * new_scale + for p in get_tree().get_nodes_in_group("debug_menu_graph"): + var panel: Panel = p as Panel + panel.custom_minimum_size = GRAPH_SIZE + # this adjusts the label on the left Y minimum size, so that the graphs are spaced + panel.get_parent().find_child("Title").custom_minimum_size.y = GRAPH_SIZE.y + (2.0 * new_scale) + +## Set the font size of the Debug Menu overlay +## Sets display_size to Display_Size.SIZE_CUSTOM +## recalculates all GUI elements +func set_font_size(font_size_in: int): + if font_size_in < MIN_FONT_SIZE or font_size_in > MAX_FONT_SIZE: + printerr(str("Font size range for DebugMenu is [", MIN_FONT_SIZE," to ", MAX_FONT_SIZE ,"]")) + return + + _custom_font_size = font_size_in + display_size = Display_Size.SIZE_CUSTOM # this triggers the set, where resize_overlay() takes place + +#endregion Scaling functions + +func _exit_tree() -> void: + if thread.is_started(): + thread.wait_to_finish() + + +## Update hardware information label (this can change at runtime based on window +## size and graphics settings). This is only called when the window is resized. +## To update when graphics settings are changed, the function must be called manually +## using `DebugMenu.update_settings_label()`. +func update_settings_label() -> void: + settings.text = "" + if ProjectSettings.has_setting("application/config/version"): + settings.text += "Project Version: %s\n" % ProjectSettings.get_setting("application/config/version") + + var rendering_method := str(ProjectSettings.get_setting_with_override("rendering/renderer/rendering_method")) + var rendering_method_string := rendering_method + match rendering_method: + "forward_plus": + rendering_method_string = "Forward+" + "mobile": + rendering_method_string = "Forward Mobile" + "gl_compatibility": + rendering_method_string = "Compatibility" + settings.text += "Rendering Method: %s\n" % rendering_method_string + + var viewport := get_viewport() + + # The size of the viewport rendering, which determines which resolution 3D is rendered at. + var viewport_render_size := Vector2i() + + if viewport.content_scale_mode == Window.CONTENT_SCALE_MODE_VIEWPORT: + viewport_render_size = viewport.get_visible_rect().size + settings.text += "Viewport: %d×%d, Window: %d×%d\n" % [viewport.get_visible_rect().size.x, viewport.get_visible_rect().size.y, viewport.size.x, viewport.size.y] + else: + # Window size matches viewport size. + viewport_render_size = viewport.size + settings.text += "Viewport: %d×%d\n" % [viewport.size.x, viewport.size.y] + + # Display 3D settings only if relevant. + if viewport.get_camera_3d(): + var scaling_3d_mode_string := "(unknown)" + match viewport.scaling_3d_mode: + Viewport.SCALING_3D_MODE_BILINEAR: + scaling_3d_mode_string = "Bilinear" + Viewport.SCALING_3D_MODE_FSR: + scaling_3d_mode_string = "FSR 1.0" + Viewport.SCALING_3D_MODE_FSR2: + scaling_3d_mode_string = "FSR 2.2" + + var antialiasing_3d_string := "" + if viewport.scaling_3d_mode == Viewport.SCALING_3D_MODE_FSR2: + # The FSR2 scaling mode includes its own temporal antialiasing implementation. + antialiasing_3d_string += (" + " if not antialiasing_3d_string.is_empty() else "") + "FSR 2.2" + if viewport.scaling_3d_mode != Viewport.SCALING_3D_MODE_FSR2 and viewport.use_taa: + # Godot's own TAA is ignored when using FSR2 scaling mode, as FSR2 provides its own TAA implementation. + antialiasing_3d_string += (" + " if not antialiasing_3d_string.is_empty() else "") + "TAA" + if viewport.msaa_3d >= Viewport.MSAA_2X: + antialiasing_3d_string += (" + " if not antialiasing_3d_string.is_empty() else "") + "%d× MSAA" % pow(2, viewport.msaa_3d) + if viewport.screen_space_aa == Viewport.SCREEN_SPACE_AA_FXAA: + antialiasing_3d_string += (" + " if not antialiasing_3d_string.is_empty() else "") + "FXAA" + + settings.text += "3D scale (%s): %d%% = %d×%d" % [ + scaling_3d_mode_string, + viewport.scaling_3d_scale * 100, + viewport_render_size.x * viewport.scaling_3d_scale, + viewport_render_size.y * viewport.scaling_3d_scale, + ] + + if not antialiasing_3d_string.is_empty(): + settings.text += "\n3D Antialiasing: %s" % antialiasing_3d_string + + var environment := viewport.get_camera_3d().get_world_3d().environment + if environment: + if environment.ssr_enabled: + settings.text += "\nSSR: %d Steps" % environment.ssr_max_steps + + if environment.ssao_enabled: + settings.text += "\nSSAO: On" + if environment.ssil_enabled: + settings.text += "\nSSIL: On" + + if environment.sdfgi_enabled: + settings.text += "\nSDFGI: %d Cascades" % environment.sdfgi_cascades + + if environment.glow_enabled: + settings.text += "\nGlow: On" + + if environment.volumetric_fog_enabled: + settings.text += "\nVolumetric Fog: On" + var antialiasing_2d_string := "" + if viewport.msaa_2d >= Viewport.MSAA_2X: + antialiasing_2d_string = "%d× MSAA" % pow(2, viewport.msaa_2d) + + if not antialiasing_2d_string.is_empty(): + settings.text += "\n2D Antialiasing: %s" % antialiasing_2d_string + + +## Update hardware/software information label (this never changes at runtime). +func update_information_label() -> void: + var adapter_string := "" + # Make "NVIDIA Corporation" and "NVIDIA" be considered identical (required when using OpenGL to avoid redundancy). + if RenderingServer.get_video_adapter_vendor().trim_suffix(" Corporation") in RenderingServer.get_video_adapter_name(): + # Avoid repeating vendor name before adapter name. + # Trim redundant suffix sometimes reported by NVIDIA graphics cards when using OpenGL. + adapter_string = RenderingServer.get_video_adapter_name().trim_suffix("/PCIe/SSE2") + else: + adapter_string = RenderingServer.get_video_adapter_vendor() + " - " + RenderingServer.get_video_adapter_name().trim_suffix("/PCIe/SSE2") + + # Graphics driver version information isn't always availble. + var driver_info := OS.get_video_adapter_driver_info() + var driver_info_string := "" + if driver_info.size() >= 2: + driver_info_string = driver_info[1] + else: + driver_info_string = "(unknown)" + + var release_string := "" + if OS.has_feature("editor"): + # Editor build (implies `debug`). + release_string = "editor" + elif OS.has_feature("debug"): + # Debug export template build. + release_string = "debug" + else: + # Release export template build. + release_string = "release" + + var rendering_method := str(ProjectSettings.get_setting_with_override("rendering/renderer/rendering_method")) + var rendering_driver := str(ProjectSettings.get_setting_with_override("rendering/rendering_device/driver")) + var graphics_api_string := rendering_driver + if rendering_method != "gl_compatibility": + if rendering_driver == "d3d12": + graphics_api_string = "Direct3D 12" + elif rendering_driver == "metal": + graphics_api_string = "Metal" + elif rendering_driver == "vulkan": + if OS.has_feature("macos") or OS.has_feature("ios"): + graphics_api_string = "Vulkan via MoltenVK" + else: + graphics_api_string = "Vulkan" + else: + if rendering_driver == "opengl3_angle": + graphics_api_string = "OpenGL via ANGLE" + elif OS.has_feature("mobile") or rendering_driver == "opengl3_es": + graphics_api_string = "OpenGL ES" + elif OS.has_feature("web"): + graphics_api_string = "WebGL" + elif rendering_driver == "opengl3": + graphics_api_string = "OpenGL" + + information.text = ( + "%s, %d threads\n" % [OS.get_processor_name().replace("(R)", "").replace("(TM)", ""), OS.get_processor_count()] + + "%s %s (%s %s), %s %s\n" % [OS.get_name(), "64-bit" if OS.has_feature("64") else "32-bit", release_string, "double" if OS.has_feature("double") else "single", graphics_api_string, RenderingServer.get_video_adapter_api_version()] + + "%s, %s" % [adapter_string, driver_info_string] + ) + + +func _fps_graph_draw() -> void: + var fps_polyline := PackedVector2Array() + fps_polyline.resize(HISTORY_NUM_FRAMES) + for fps_index in fps_history.size(): + fps_polyline[fps_index] = Vector2( + remap(fps_index, 0, fps_history.size(), 0, GRAPH_SIZE.x), + remap(clampf(fps_history[fps_index], GRAPH_MIN_FPS, GRAPH_MAX_FPS), GRAPH_MIN_FPS, GRAPH_MAX_FPS, GRAPH_SIZE.y, 0.0) + ) + # Don't use antialiasing to speed up line drawing, but use a width that scales with + # viewport scale to keep the line easily readable on hiDPI displays. + fps_graph.draw_polyline(fps_polyline, frame_time_gradient.sample(remap(frames_per_second, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)), 1.0) + + +func _total_graph_draw() -> void: + var total_polyline := PackedVector2Array() + total_polyline.resize(HISTORY_NUM_FRAMES) + for total_index in frame_history_total.size(): + total_polyline[total_index] = Vector2( + remap(total_index, 0, frame_history_total.size(), 0, GRAPH_SIZE.x), + remap(clampf(frame_history_total[total_index], GRAPH_MIN_FPS, GRAPH_MAX_FPS), GRAPH_MIN_FPS, GRAPH_MAX_FPS, GRAPH_SIZE.y, 0.0) + ) + # Don't use antialiasing to speed up line drawing, but use a width that scales with + # viewport scale to keep the line easily readable on hiDPI displays. + total_graph.draw_polyline(total_polyline, frame_time_gradient.sample(remap(1000.0 / frametime_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)), 1.0) + + +func _cpu_graph_draw() -> void: + var cpu_polyline := PackedVector2Array() + cpu_polyline.resize(HISTORY_NUM_FRAMES) + for cpu_index in frame_history_cpu.size(): + cpu_polyline[cpu_index] = Vector2( + remap(cpu_index, 0, frame_history_cpu.size(), 0, GRAPH_SIZE.x), + remap(clampf(frame_history_cpu[cpu_index], GRAPH_MIN_FPS, GRAPH_MAX_FPS), GRAPH_MIN_FPS, GRAPH_MAX_FPS, GRAPH_SIZE.y, 0.0) + ) + # Don't use antialiasing to speed up line drawing, but use a width that scales with + # viewport scale to keep the line easily readable on hiDPI displays. + cpu_graph.draw_polyline(cpu_polyline, frame_time_gradient.sample(remap(1000.0 / frametime_cpu_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)), 1.0) + + +func _gpu_graph_draw() -> void: + var gpu_polyline := PackedVector2Array() + gpu_polyline.resize(HISTORY_NUM_FRAMES) + for gpu_index in frame_history_gpu.size(): + gpu_polyline[gpu_index] = Vector2( + remap(gpu_index, 0, frame_history_gpu.size(), 0, GRAPH_SIZE.x), + remap(clampf(frame_history_gpu[gpu_index], GRAPH_MIN_FPS, GRAPH_MAX_FPS), GRAPH_MIN_FPS, GRAPH_MAX_FPS, GRAPH_SIZE.y, 0.0) + ) + # Don't use antialiasing to speed up line drawing, but use a width that scales with + # viewport scale to keep the line easily readable on hiDPI displays. + gpu_graph.draw_polyline(gpu_polyline, frame_time_gradient.sample(remap(1000.0 / frametime_gpu_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)), 1.0) + + +func _process(_delta: float) -> void: + if visible: + fps_graph.queue_redraw() + total_graph.queue_redraw() + cpu_graph.queue_redraw() + gpu_graph.queue_redraw() + + # Difference between the last two rendered frames in milliseconds. + var frametime := (Time.get_ticks_usec() - last_tick) * 0.001 + + frame_history_total.push_back(frametime) + if frame_history_total.size() > HISTORY_NUM_FRAMES: + frame_history_total.pop_front() + + # Frametimes are colored following FPS logic (red = 10 FPS, yellow = 60 FPS, green = 110 FPS, cyan = 160 FPS). + # This makes the color gradient non-linear. + frametime_avg = frame_history_total.reduce(sum_func) / frame_history_total.size() + frame_history_total_avg.text = str(frametime_avg).pad_decimals(2) + frame_history_total_avg.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_min: float = frame_history_total.min() + frame_history_total_min.text = str(frametime_min).pad_decimals(2) + frame_history_total_min.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_min, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_max: float = frame_history_total.max() + frame_history_total_max.text = str(frametime_max).pad_decimals(2) + frame_history_total_max.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_max, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + frame_history_total_last.text = str(frametime).pad_decimals(2) + frame_history_total_last.modulate = frame_time_gradient.sample(remap(1000.0 / frametime, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var viewport_rid := get_viewport().get_viewport_rid() + var frametime_cpu := RenderingServer.viewport_get_measured_render_time_cpu(viewport_rid) + RenderingServer.get_frame_setup_time_cpu() + frame_history_cpu.push_back(frametime_cpu) + if frame_history_cpu.size() > HISTORY_NUM_FRAMES: + frame_history_cpu.pop_front() + + frametime_cpu_avg = frame_history_cpu.reduce(sum_func) / frame_history_cpu.size() + frame_history_cpu_avg.text = str(frametime_cpu_avg).pad_decimals(2) + frame_history_cpu_avg.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_cpu_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_cpu_min: float = frame_history_cpu.min() + frame_history_cpu_min.text = str(frametime_cpu_min).pad_decimals(2) + frame_history_cpu_min.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_cpu_min, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_cpu_max: float = frame_history_cpu.max() + frame_history_cpu_max.text = str(frametime_cpu_max).pad_decimals(2) + frame_history_cpu_max.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_cpu_max, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + frame_history_cpu_last.text = str(frametime_cpu).pad_decimals(2) + frame_history_cpu_last.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_cpu, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_gpu := RenderingServer.viewport_get_measured_render_time_gpu(viewport_rid) + frame_history_gpu.push_back(frametime_gpu) + if frame_history_gpu.size() > HISTORY_NUM_FRAMES: + frame_history_gpu.pop_front() + + frametime_gpu_avg = frame_history_gpu.reduce(sum_func) / frame_history_gpu.size() + frame_history_gpu_avg.text = str(frametime_gpu_avg).pad_decimals(2) + frame_history_gpu_avg.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_gpu_avg, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_gpu_min: float = frame_history_gpu.min() + frame_history_gpu_min.text = str(frametime_gpu_min).pad_decimals(2) + frame_history_gpu_min.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_gpu_min, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + var frametime_gpu_max: float = frame_history_gpu.max() + frame_history_gpu_max.text = str(frametime_gpu_max).pad_decimals(2) + frame_history_gpu_max.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_gpu_max, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + frame_history_gpu_last.text = str(frametime_gpu).pad_decimals(2) + frame_history_gpu_last.modulate = frame_time_gradient.sample(remap(1000.0 / frametime_gpu, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + + frames_per_second = 1000.0 / frametime_avg + fps_history.push_back(frames_per_second) + if fps_history.size() > HISTORY_NUM_FRAMES: + fps_history.pop_front() + + fps.text = str(floor(frames_per_second)) + " FPS" + var frame_time_color := frame_time_gradient.sample(remap(frames_per_second, GRAPH_MIN_FPS, GRAPH_MAX_FPS, 0.0, 1.0)) + fps.modulate = frame_time_color + + frame_time.text = str(frametime).pad_decimals(2) + " mspf" + frame_time.modulate = frame_time_color + + var vsync_string := "" + match DisplayServer.window_get_vsync_mode(): + DisplayServer.VSYNC_ENABLED: + vsync_string = "V-Sync" + DisplayServer.VSYNC_ADAPTIVE: + vsync_string = "Adaptive V-Sync" + DisplayServer.VSYNC_MAILBOX: + vsync_string = "Mailbox V-Sync" + + if Engine.max_fps > 0 or OS.low_processor_usage_mode: + # Display FPS cap determined by `Engine.max_fps` or low-processor usage mode sleep duration + # (the lowest FPS cap is used). + var low_processor_max_fps := roundi(1000000.0 / OS.low_processor_usage_mode_sleep_usec) + var fps_cap := low_processor_max_fps + if Engine.max_fps > 0: + fps_cap = mini(Engine.max_fps, low_processor_max_fps) + frame_time.text += " (cap: " + str(fps_cap) + " FPS" + + if not vsync_string.is_empty(): + frame_time.text += " + " + vsync_string + + frame_time.text += ")" + else: + if not vsync_string.is_empty(): + frame_time.text += " (" + vsync_string + ")" + + frame_number.text = "Frame: " + str(Engine.get_frames_drawn()) + + frame_stats.text = str( + &"Draw calls: %d" % Performance.get_monitor(Performance.RENDER_TOTAL_DRAW_CALLS_IN_FRAME), + &", Primitives: ", int(Performance.get_monitor(Performance.RENDER_TOTAL_PRIMITIVES_IN_FRAME)), + &", VRAM: %d" % snapped(Performance.get_monitor(Performance.RENDER_VIDEO_MEM_USED) * 0.000001, 1.0), &" MB") + + last_tick = Time.get_ticks_usec() + + +## Captures a screenshot and saves it to the user folder in user://screenshots. +func do_screenshot() -> void: + await RenderingServer.frame_post_draw # Wait until frame is drawn + var image := get_viewport().get_texture().get_image() + + # Fix image size for true pixel game, too small image output + if image.get_size().x != get_viewport().size.x or image.get_size().y != get_viewport().size.y: + image.resize(get_viewport().size.x, get_viewport().size.y, Image.INTERPOLATE_NEAREST) + + if not image: + printerr("Failed to capture screen.") + return + + # Ensure the screenshots directory exists + DirAccess.make_dir_recursive_absolute(ProjectSettings.globalize_path("user://screenshots")) + + var path := "user://screenshots/screenshot_%s.png" % Time.get_datetime_string_from_system().replace(":", "_") + var err := image.save_png(ProjectSettings.globalize_path(path)) + + if err == OK: + print_rich("🖵 [color=yellow]Screenshot saved to:[/color] ", ProjectSettings.globalize_path(path)) + OS.shell_show_in_file_manager(ProjectSettings.globalize_path(path)) + else: + printerr("Failed to save screenshot:", err) + + + +func _on_visibility_changed() -> void: + if visible: + # Reset graphs to prevent them from looking strange before `HISTORY_NUM_FRAMES` frames + # have been drawn. + var frametime_last := (Time.get_ticks_usec() - last_tick) * 0.001 + fps_history.resize(HISTORY_NUM_FRAMES) + fps_history.fill(1000.0 / frametime_last) + frame_history_total.resize(HISTORY_NUM_FRAMES) + frame_history_total.fill(frametime_last) + frame_history_cpu.resize(HISTORY_NUM_FRAMES) + var viewport_rid := get_viewport().get_viewport_rid() + frame_history_cpu.fill(RenderingServer.viewport_get_measured_render_time_cpu(viewport_rid) + RenderingServer.get_frame_setup_time_cpu()) + frame_history_gpu.resize(HISTORY_NUM_FRAMES) + frame_history_gpu.fill(RenderingServer.viewport_get_measured_render_time_gpu(viewport_rid)) diff --git a/addons/debug_menu/debug_menu.gd.uid b/addons/debug_menu/debug_menu.gd.uid new file mode 100644 index 0000000..4776661 --- /dev/null +++ b/addons/debug_menu/debug_menu.gd.uid @@ -0,0 +1 @@ +uid://cjifa1oa5wtn4 diff --git a/addons/debug_menu/debug_menu.tscn b/addons/debug_menu/debug_menu.tscn new file mode 100644 index 0000000..c7d7a53 --- /dev/null +++ b/addons/debug_menu/debug_menu.tscn @@ -0,0 +1,396 @@ +[gd_scene format=3 uid="uid://cggqb75a8w8r"] + +[ext_resource type="Script" uid="uid://cjifa1oa5wtn4" path="res://addons/debug_menu/debug_menu.gd" id="1_p440y"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ki0n8"] +bg_color = Color(0, 0, 0, 0.25098) + +[node name="CanvasLayer" type="CanvasLayer" unique_id=414397422 node_paths=PackedStringArray("fps", "frame_time", "frame_number", "frame_stats", "frame_history_total_avg", "frame_history_total_min", "frame_history_total_max", "frame_history_total_last", "frame_history_cpu_avg", "frame_history_cpu_min", "frame_history_cpu_max", "frame_history_cpu_last", "frame_history_gpu_avg", "frame_history_gpu_min", "frame_history_gpu_max", "frame_history_gpu_last", "fps_graph", "total_graph", "cpu_graph", "gpu_graph", "information", "settings")] +process_mode = 3 +layer = 128 +script = ExtResource("1_p440y") +fps = NodePath("DebugMenu/VBoxContainer/FPS") +frame_time = NodePath("DebugMenu/VBoxContainer/FrameTime") +frame_number = NodePath("DebugMenu/VBoxContainer/FrameNumber") +frame_stats = NodePath("DebugMenu/VBoxContainer/FrameStats") +frame_history_total_avg = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/TotalAvg") +frame_history_total_min = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/TotalMin") +frame_history_total_max = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/TotalMax") +frame_history_total_last = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/TotalLast") +frame_history_cpu_avg = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/CPUAvg") +frame_history_cpu_min = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/CPUMin") +frame_history_cpu_max = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/CPUMax") +frame_history_cpu_last = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/CPULast") +frame_history_gpu_avg = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/GPUAvg") +frame_history_gpu_min = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/GPUMin") +frame_history_gpu_max = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/GPUMax") +frame_history_gpu_last = NodePath("DebugMenu/VBoxContainer/FrameTimeHistory/GPULast") +fps_graph = NodePath("DebugMenu/VBoxContainer/FPSGraph/Graph") +total_graph = NodePath("DebugMenu/VBoxContainer/TotalGraph/Graph") +cpu_graph = NodePath("DebugMenu/VBoxContainer/CPUGraph/Graph") +gpu_graph = NodePath("DebugMenu/VBoxContainer/GPUGraph/Graph") +information = NodePath("DebugMenu/VBoxContainer/Information") +settings = NodePath("DebugMenu/VBoxContainer/Settings") + +[node name="DebugMenu" type="Control" parent="." unique_id=346480719] +custom_minimum_size = Vector2(400, 400) +layout_mode = 3 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -416.0 +offset_top = 8.0 +offset_right = -16.0 +offset_bottom = 408.0 +grow_horizontal = 0 +size_flags_horizontal = 8 +size_flags_vertical = 4 +mouse_filter = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="DebugMenu" unique_id=947897244] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -300.0 +offset_bottom = 374.0 +grow_horizontal = 0 +mouse_filter = 2 +theme_override_constants/separation = 0 + +[node name="FPS" type="Label" parent="DebugMenu/VBoxContainer" unique_id=997178716 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/line_spacing = 0 +theme_override_constants/outline_size = 5 +theme_override_font_sizes/font_size = 18 +text = "60 FPS" +horizontal_alignment = 2 + +[node name="FrameTime" type="Label" parent="DebugMenu/VBoxContainer" unique_id=1892289036 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "16.67 mspf (cap: 123 FPS + Adaptive V-Sync)" +horizontal_alignment = 2 + +[node name="FrameNumber" type="Label" parent="DebugMenu/VBoxContainer" unique_id=1790704468 groups=["debug_menu_label"]] +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Frame: 1234" +horizontal_alignment = 2 + +[node name="FrameStats" type="Label" parent="DebugMenu/VBoxContainer" unique_id=805680288 groups=["debug_menu_label"]] +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Stats:" +horizontal_alignment = 2 + +[node name="FrameTimeHistory" type="GridContainer" parent="DebugMenu/VBoxContainer" unique_id=209708847] +layout_mode = 2 +size_flags_horizontal = 8 +mouse_filter = 2 +theme_override_constants/h_separation = 0 +theme_override_constants/v_separation = 0 +columns = 5 + +[node name="Spacer" type="Control" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1653573840] +custom_minimum_size = Vector2(60, 0) +layout_mode = 2 +mouse_filter = 2 + +[node name="AvgHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1515213830 groups=["debug_menu_header", "debug_menu_label"]] +custom_minimum_size = Vector2(50, 0) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Average" +horizontal_alignment = 2 + +[node name="MinHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=839075582 groups=["debug_menu_header", "debug_menu_label"]] +custom_minimum_size = Vector2(50, 0) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Best" +horizontal_alignment = 2 + +[node name="MaxHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=2001207057 groups=["debug_menu_header", "debug_menu_label"]] +custom_minimum_size = Vector2(50, 0) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Worst" +horizontal_alignment = 2 + +[node name="LastHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=145277658 groups=["debug_menu_header", "debug_menu_label"]] +custom_minimum_size = Vector2(50, 0) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Last" +horizontal_alignment = 2 + +[node name="TotalHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=684135416 groups=["debug_menu_label"]] +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Total:" +horizontal_alignment = 2 + +[node name="TotalAvg" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1148307968 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="TotalMin" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=807706427 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="TotalMax" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1552303690 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="TotalLast" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=614568271 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="CPUHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=180318023 groups=["debug_menu_label"]] +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "CPU:" +horizontal_alignment = 2 + +[node name="CPUAvg" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1638494409 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="CPUMin" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1525286902 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "12.34" +horizontal_alignment = 2 + +[node name="CPUMax" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1696498522 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="CPULast" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=2040832325 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="GPUHeader" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=15556991 groups=["debug_menu_label"]] +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "GPU:" +horizontal_alignment = 2 + +[node name="GPUAvg" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1755091907 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="GPUMin" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1225652947 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "1.23" +horizontal_alignment = 2 + +[node name="GPUMax" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=1647337652 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="GPULast" type="Label" parent="DebugMenu/VBoxContainer/FrameTimeHistory" unique_id=900089497 groups=["debug_menu_label"]] +modulate = Color(0, 1, 0, 1) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "123.45" +horizontal_alignment = 2 + +[node name="FPSGraph" type="HBoxContainer" parent="DebugMenu/VBoxContainer" unique_id=2129193079] +layout_mode = 2 +mouse_filter = 2 +alignment = 2 + +[node name="Title" type="Label" parent="DebugMenu/VBoxContainer/FPSGraph" unique_id=1484247768 groups=["debug_menu_label"]] +custom_minimum_size = Vector2(0, 27) +layout_mode = 2 +size_flags_horizontal = 8 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "FPS: " +vertical_alignment = 1 + +[node name="Graph" type="Panel" parent="DebugMenu/VBoxContainer/FPSGraph" unique_id=1324384502 groups=["debug_menu_graph"]] +custom_minimum_size = Vector2(150, 25) +layout_mode = 2 +size_flags_vertical = 0 +mouse_filter = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ki0n8") + +[node name="TotalGraph" type="HBoxContainer" parent="DebugMenu/VBoxContainer" unique_id=1757012220] +layout_mode = 2 +mouse_filter = 2 +alignment = 2 + +[node name="Title" type="Label" parent="DebugMenu/VBoxContainer/TotalGraph" unique_id=1749839410 groups=["debug_menu_label"]] +custom_minimum_size = Vector2(0, 27) +layout_mode = 2 +size_flags_horizontal = 8 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Total: " +vertical_alignment = 1 + +[node name="Graph" type="Panel" parent="DebugMenu/VBoxContainer/TotalGraph" unique_id=1880596791 groups=["debug_menu_graph"]] +custom_minimum_size = Vector2(150, 25) +layout_mode = 2 +size_flags_vertical = 0 +mouse_filter = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ki0n8") + +[node name="CPUGraph" type="HBoxContainer" parent="DebugMenu/VBoxContainer" unique_id=705142964] +layout_mode = 2 +mouse_filter = 2 +alignment = 2 + +[node name="Title" type="Label" parent="DebugMenu/VBoxContainer/CPUGraph" unique_id=148522575 groups=["debug_menu_label"]] +custom_minimum_size = Vector2(0, 27) +layout_mode = 2 +size_flags_horizontal = 8 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "CPU: " +vertical_alignment = 1 + +[node name="Graph" type="Panel" parent="DebugMenu/VBoxContainer/CPUGraph" unique_id=964269529 groups=["debug_menu_graph"]] +custom_minimum_size = Vector2(150, 25) +layout_mode = 2 +size_flags_vertical = 0 +mouse_filter = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ki0n8") + +[node name="GPUGraph" type="HBoxContainer" parent="DebugMenu/VBoxContainer" unique_id=796931287] +layout_mode = 2 +mouse_filter = 2 +alignment = 2 + +[node name="Title" type="Label" parent="DebugMenu/VBoxContainer/GPUGraph" unique_id=1665497332 groups=["debug_menu_label"]] +custom_minimum_size = Vector2(0, 27) +layout_mode = 2 +size_flags_horizontal = 8 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "GPU: " +vertical_alignment = 1 + +[node name="Graph" type="Panel" parent="DebugMenu/VBoxContainer/GPUGraph" unique_id=168534966 groups=["debug_menu_graph"]] +custom_minimum_size = Vector2(150, 25) +layout_mode = 2 +size_flags_vertical = 0 +mouse_filter = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_ki0n8") + +[node name="Information" type="Label" parent="DebugMenu/VBoxContainer" unique_id=811551518 groups=["debug_menu_label"]] +modulate = Color(1, 1, 1, 0.752941) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "12th Gen Intel(R) Core(TM) i0-1234K +Windows 12 64-bit (double precision), Vulkan 1.2.34 +NVIDIA GeForce RTX 1234, 123.45.67" +horizontal_alignment = 2 + +[node name="Settings" type="Label" parent="DebugMenu/VBoxContainer" unique_id=857946198 groups=["debug_menu_label"]] +modulate = Color(0.8, 0.84, 1, 0.752941) +layout_mode = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_font_sizes/font_size = 12 +text = "Project Version: 1.2.3 +Rendering Method: Forward+ +Window: 1234×567, Viewport: 1234×567 +3D Scale (FSR 1.0): 100% = 1234×567 +3D Antialiasing: TAA + 2× MSAA + FXAA +SSR: 123 Steps +SSAO: On +SSIL: On +SDFGI: 1 Cascades +Glow: On +Volumetric Fog: On +2D Antialiasing: 2× MSAA" +horizontal_alignment = 2 + +[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"] diff --git a/addons/debug_menu/plugin.cfg b/addons/debug_menu/plugin.cfg new file mode 100644 index 0000000..2173e45 --- /dev/null +++ b/addons/debug_menu/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Antz's Debug Menu" +description="In-game debug menu displaying performance metrics and hardware information" +author="Calinou/Antz" +version="1.3.0" +script="plugin.gd" diff --git a/addons/debug_menu/plugin.gd b/addons/debug_menu/plugin.gd new file mode 100644 index 0000000..59cfbb7 --- /dev/null +++ b/addons/debug_menu/plugin.gd @@ -0,0 +1,50 @@ +@tool +extends EditorPlugin + +func _enter_tree() -> void: + if not ProjectSettings.has_setting("autoload/DebugMenu"): + add_autoload_singleton("DebugMenu", "res://addons/debug_menu/debug_menu.tscn") + + if not ProjectSettings.has_setting("application/config/version") or ProjectSettings.get_setting("application/config/version") == "": + ProjectSettings.set_setting("application/config/version", "1.0.0") + print('Debug Menu: Setting "application/config/version" was missing or empty and has been set to "1.0.0".') + + ProjectSettings.add_property_info({ + name = "application/config/version", + type = TYPE_STRING, + }) + + ProjectSettings.save() + + # Add new Project Setting for font_size + if not ProjectSettings.has_setting("DebugMenu/settings/font_size"): + ProjectSettings.set_setting("DebugMenu/settings/font_size", 12) + + var property_info = { + "name": "DebugMenu/settings/font_size", + "type": TYPE_INT, + "hint": PROPERTY_HINT_RANGE, + "hint_string" : "3,72" + } + ProjectSettings.add_property_info(property_info) + ProjectSettings.set_initial_value("DebugMenu/settings/font_size", 12) + ProjectSettings.save() + +# Add new Project Setting for startup visibility + if not ProjectSettings.has_setting("DebugMenu/settings/startup_visibility"): + ProjectSettings.set_setting("DebugMenu/settings/startup_visibility", 0) + + property_info = { + "name": "DebugMenu/settings/startup_visibility", + "type": TYPE_INT , + "hint": PROPERTY_HINT_ENUM, + "hint_string" : "hidden,visible compact,visible detailed" + } + ProjectSettings.add_property_info(property_info) + ProjectSettings.set_initial_value("DebugMenu/settings/startup_visibility", 0) + ProjectSettings.save() + +func _exit_tree() -> void: + remove_autoload_singleton("DebugMenu") + # Don't remove the project setting's value and input map action, + # as the plugin may be re-enabled in the future. diff --git a/addons/debug_menu/plugin.gd.uid b/addons/debug_menu/plugin.gd.uid new file mode 100644 index 0000000..1da9b30 --- /dev/null +++ b/addons/debug_menu/plugin.gd.uid @@ -0,0 +1 @@ +uid://dcxwqe5yhnqon diff --git a/addons/godot_state_charts/LICENSE b/addons/godot_state_charts/LICENSE new file mode 100644 index 0000000..4542e9f --- /dev/null +++ b/addons/godot_state_charts/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Jan Thomä + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/addons/godot_state_charts/all_of_guard.gd b/addons/godot_state_charts/all_of_guard.gd new file mode 100644 index 0000000..645e2f1 --- /dev/null +++ b/addons/godot_state_charts/all_of_guard.gd @@ -0,0 +1,22 @@ +@tool +@icon("all_of_guard.svg") + +## A composite guard that is satisfied when all of its guards are satisfied. +class_name AllOfGuard +extends Guard + +## The guards that need to be satisified. When empty, returns true. +@export var guards:Array[Guard] = [] + +func is_satisfied(context_transition:Transition, context_state:StateChartState) -> bool: + for guard in guards: + if not guard.is_satisfied(context_transition, context_state): + return false + return true + + +func get_supported_trigger_types() -> int: + var supported_trigger_types:int = StateChart.TriggerType.NONE + for guard in guards: + supported_trigger_types |= guard.get_supported_trigger_types() + return supported_trigger_types diff --git a/addons/godot_state_charts/all_of_guard.gd.uid b/addons/godot_state_charts/all_of_guard.gd.uid new file mode 100644 index 0000000..e0219eb --- /dev/null +++ b/addons/godot_state_charts/all_of_guard.gd.uid @@ -0,0 +1 @@ +uid://bxprlw40wl0c3 diff --git a/addons/godot_state_charts/all_of_guard.svg b/addons/godot_state_charts/all_of_guard.svg new file mode 100644 index 0000000..8dd5e06 --- /dev/null +++ b/addons/godot_state_charts/all_of_guard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/all_of_guard.svg.import b/addons/godot_state_charts/all_of_guard.svg.import new file mode 100644 index 0000000..295941f --- /dev/null +++ b/addons/godot_state_charts/all_of_guard.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ux4ia8xhhjrx" +path="res://.godot/imported/all_of_guard.svg-49642db22a4a20844b2d39e67c930c8b.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/all_of_guard.svg" +dest_files=["res://.godot/imported/all_of_guard.svg-49642db22a4a20844b2d39e67c930c8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/animation_player_state.gd b/addons/godot_state_charts/animation_player_state.gd new file mode 100644 index 0000000..4d6285d --- /dev/null +++ b/addons/godot_state_charts/animation_player_state.gd @@ -0,0 +1,63 @@ +@tool +@icon("animation_player_state.svg") +class_name AnimationPlayerState +extends AtomicState + +## Animation player that this state will use. +@export_node_path("AnimationPlayer") var animation_player: NodePath: + set(value): + animation_player = value + update_configuration_warnings() + +## The name of the animation that should be played when this state is entered. +## When this is empty, the name of this state will be used. +@export var animation_name: StringName = "" + +## A custom blend time for the animation. The default value of -1.0 will use the +## default blend time of the animation player. +@export var custom_blend: float = -1.0 + +## A custom speed for the animation. Use negative values to play the animation +## backwards. +@export var custom_speed: float = 1.0 + +## Whether the animation should be played from the end. +@export var from_end: bool = false + +var _animation_player: AnimationPlayer + +func _ready() -> void: + if Engine.is_editor_hint(): + return + + super._ready() + _animation_player = get_node_or_null(animation_player) + + if not is_instance_valid(_animation_player): + push_error("The animation player is invalid. This node will not work.") + +func _state_enter(transition_target:StateChartState) -> void: + super._state_enter(transition_target) + + if not is_instance_valid(_animation_player): + return + + var target_animation := animation_name + if target_animation == "": + target_animation = get_name() + + if _animation_player.current_animation == target_animation and _animation_player.is_playing(): + return + + _animation_player.play(target_animation, custom_blend, custom_speed, from_end) + +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super._get_configuration_warnings() + warnings.append("This node is deprecated and will be removed in a future version.") + + if animation_player.is_empty(): + warnings.append("No animation player is set.") + elif get_node_or_null(animation_player) == null: + warnings.append("The animation player path is invalid.") + + return warnings diff --git a/addons/godot_state_charts/animation_player_state.gd.uid b/addons/godot_state_charts/animation_player_state.gd.uid new file mode 100644 index 0000000..8cb20a1 --- /dev/null +++ b/addons/godot_state_charts/animation_player_state.gd.uid @@ -0,0 +1 @@ +uid://b5vawfqxn7cyf diff --git a/addons/godot_state_charts/animation_player_state.svg b/addons/godot_state_charts/animation_player_state.svg new file mode 100644 index 0000000..69a041e --- /dev/null +++ b/addons/godot_state_charts/animation_player_state.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/animation_player_state.svg.import b/addons/godot_state_charts/animation_player_state.svg.import new file mode 100644 index 0000000..2669f80 --- /dev/null +++ b/addons/godot_state_charts/animation_player_state.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3m20gsesp4i0" +path="res://.godot/imported/animation_player_state.svg-1acd03c414690dd7446458c5293935cb.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/animation_player_state.svg" +dest_files=["res://.godot/imported/animation_player_state.svg-1acd03c414690dd7446458c5293935cb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/animation_tree_state.gd b/addons/godot_state_charts/animation_tree_state.gd new file mode 100644 index 0000000..b210f06 --- /dev/null +++ b/addons/godot_state_charts/animation_tree_state.gd @@ -0,0 +1,63 @@ +@tool +@icon("animation_tree_state.svg") +class_name AnimationTreeState +extends AtomicState + + +## Animation tree that this state will use. +@export_node_path("AnimationTree") var animation_tree:NodePath: + set(value): + animation_tree = value + update_configuration_warnings() + +## The name of the state that should be activated in the animation tree +## when this state is entered. If this is empty, the name of this state +## will be used. +@export var state_name:StringName = "" + + +var _animation_tree_state_machine:AnimationNodeStateMachinePlayback + +func _ready() -> void: + if Engine.is_editor_hint(): + return + + super._ready() + + _animation_tree_state_machine = null + var the_tree := get_node_or_null(animation_tree) + + if is_instance_valid(the_tree): + var state_machine = the_tree.get("parameters/playback") + if state_machine is AnimationNodeStateMachinePlayback: + _animation_tree_state_machine = state_machine + else: + push_error("The animation tree does not have a state machine as root node. This node will not work.") + else: + push_error("The animation tree is invalid. This node will not work.") + + +func _state_enter(transition_target:StateChartState) -> void: + super._state_enter(transition_target) + + if not is_instance_valid(_animation_tree_state_machine): + return + + var target_state := state_name + if target_state == "": + target_state = get_name() + + # mirror this state to the animation tree + _animation_tree_state_machine.travel(target_state) + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super._get_configuration_warnings() + warnings.append("This node is deprecated and will be removed in a future version.") + + if animation_tree.is_empty(): + warnings.append("No animation tree is set.") + elif get_node_or_null(animation_tree) == null: + warnings.append("The animation tree path is invalid.") + + return warnings diff --git a/addons/godot_state_charts/animation_tree_state.gd.uid b/addons/godot_state_charts/animation_tree_state.gd.uid new file mode 100644 index 0000000..a586eac --- /dev/null +++ b/addons/godot_state_charts/animation_tree_state.gd.uid @@ -0,0 +1 @@ +uid://488xerv8d0xh diff --git a/addons/godot_state_charts/animation_tree_state.svg b/addons/godot_state_charts/animation_tree_state.svg new file mode 100644 index 0000000..ceeed5a --- /dev/null +++ b/addons/godot_state_charts/animation_tree_state.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/animation_tree_state.svg.import b/addons/godot_state_charts/animation_tree_state.svg.import new file mode 100644 index 0000000..2d0095e --- /dev/null +++ b/addons/godot_state_charts/animation_tree_state.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3wqyduuj0fq" +path="res://.godot/imported/animation_tree_state.svg-b99077fc178cfa1e23b2c854c7735c4a.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/animation_tree_state.svg" +dest_files=["res://.godot/imported/animation_tree_state.svg-b99077fc178cfa1e23b2c854c7735c4a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/any_of_guard.gd b/addons/godot_state_charts/any_of_guard.gd new file mode 100644 index 0000000..ee3ff2b --- /dev/null +++ b/addons/godot_state_charts/any_of_guard.gd @@ -0,0 +1,21 @@ +@tool +@icon("any_of_guard.svg") + +## A composite guard, that is satisfied if any of the guards are satisfied. +class_name AnyOfGuard +extends Guard + +## The guards of which at least one must be satisfied. If empty, this guard is not satisfied. +@export var guards: Array[Guard] = [] + +func is_satisfied(context_transition:Transition, context_state:StateChartState) -> bool: + for guard in guards: + if guard.is_satisfied(context_transition, context_state): + return true + return false + +func get_supported_trigger_types() -> int: + var supported_trigger_types:int = StateChart.TriggerType.NONE + for guard in guards: + supported_trigger_types |= guard.get_supported_trigger_types() + return supported_trigger_types diff --git a/addons/godot_state_charts/any_of_guard.gd.uid b/addons/godot_state_charts/any_of_guard.gd.uid new file mode 100644 index 0000000..80d9422 --- /dev/null +++ b/addons/godot_state_charts/any_of_guard.gd.uid @@ -0,0 +1 @@ +uid://duv2yyvlunsi8 diff --git a/addons/godot_state_charts/any_of_guard.svg b/addons/godot_state_charts/any_of_guard.svg new file mode 100644 index 0000000..76884b1 --- /dev/null +++ b/addons/godot_state_charts/any_of_guard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/any_of_guard.svg.import b/addons/godot_state_charts/any_of_guard.svg.import new file mode 100644 index 0000000..9d25797 --- /dev/null +++ b/addons/godot_state_charts/any_of_guard.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbf5ogymlonu4" +path="res://.godot/imported/any_of_guard.svg-3b1aa026a997dbfebde2cc5993b5c820.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/any_of_guard.svg" +dest_files=["res://.godot/imported/any_of_guard.svg-3b1aa026a997dbfebde2cc5993b5c820.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/atomic_state.gd b/addons/godot_state_charts/atomic_state.gd new file mode 100644 index 0000000..78eca31 --- /dev/null +++ b/addons/godot_state_charts/atomic_state.gd @@ -0,0 +1,25 @@ +@tool +@icon("atomic_state.svg") +## This is a state that has no sub-states. +class_name AtomicState +extends StateChartState + +func _handle_transition(transition:Transition, source:StateChartState) -> void: + # resolve the target state + var target := transition.resolve_target() + if target == null: + push_error("The target state '" + str(transition.to) + "' of the transition from '" + source.name + "' is not a state.") + return + # atomic states cannot transition, so we need to ask the parent + # ask the parent + get_parent()._handle_transition(transition, source) + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super._get_configuration_warnings() + # check if we have any child nodes which are not transitions + for child in get_children(): + if child is StateChartState: + warnings.append("Atomic states cannot have child states. These will be ignored.") + break + return warnings diff --git a/addons/godot_state_charts/atomic_state.gd.uid b/addons/godot_state_charts/atomic_state.gd.uid new file mode 100644 index 0000000..4300e8d --- /dev/null +++ b/addons/godot_state_charts/atomic_state.gd.uid @@ -0,0 +1 @@ +uid://cytafq8i1y8qm diff --git a/addons/godot_state_charts/atomic_state.svg b/addons/godot_state_charts/atomic_state.svg new file mode 100644 index 0000000..a9daf25 --- /dev/null +++ b/addons/godot_state_charts/atomic_state.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/atomic_state.svg.import b/addons/godot_state_charts/atomic_state.svg.import new file mode 100644 index 0000000..dbe7085 --- /dev/null +++ b/addons/godot_state_charts/atomic_state.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4ojtah20jtxc" +path="res://.godot/imported/atomic_state.svg-5ab16e5747cef5b5980c4bf84ef9b1af.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/atomic_state.svg" +dest_files=["res://.godot/imported/atomic_state.svg-5ab16e5747cef5b5980c4bf84ef9b1af.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/compound_state.gd b/addons/godot_state_charts/compound_state.gd new file mode 100644 index 0000000..967e4b7 --- /dev/null +++ b/addons/godot_state_charts/compound_state.gd @@ -0,0 +1,268 @@ +@tool +@icon("compound_state.svg") +## A compound state is a state that has multiple sub-states of which exactly one can +## be active at any given time. +class_name CompoundState +extends StateChartState + +## Called when a child state is entered. +signal child_state_entered() + +## Called when a child state is exited. +signal child_state_exited() + +## The initial state which should be activated when this state is activated. +@export_node_path("StateChartState") var initial_state:NodePath: + get: + return initial_state + set(value): + initial_state = value + update_configuration_warnings() + + +## The currently active substate. +var _active_state:StateChartState = null + +## The initial state +@onready var _initial_state:StateChartState = get_node_or_null(initial_state) + +## The history states of this compound state. +var _history_states:Array[HistoryState] = [] +## Whether any of the history states needs a deep history. +var _needs_deep_history:bool = false + +func _init() -> void: + # subscribe to the child_entered_tree signal in edit mode so we can + # automatically set the initial state when a new sub-state is added + if Engine.is_editor_hint(): + child_entered_tree.connect( + func(child:Node): + # when a child is added in the editor and the child is a state + # and we don't have an initial state yet, set the initial state + # to the newly added child + if child is StateChartState and initial_state.is_empty(): + # the newly added node may have a random name now, + # so we need to defer the call to build a node path + # to the next frame, so the editor has time to rename + # the node to its final name + (func(): initial_state = get_path_to(child)).call_deferred() + ) + + +func _state_init() -> void: + super._state_init() + + # check if we have any history states + for child in get_children(): + if child is HistoryState: + var child_as_history_state:HistoryState = child as HistoryState + _history_states.append(child_as_history_state) + # remember if any of the history states needs a deep history + _needs_deep_history = _needs_deep_history or child_as_history_state.deep + + # initialize all substates. find all children of type State and call _state_init on them. + for child in get_children(): + if child is StateChartState: + var child_as_state:StateChartState = child as StateChartState + child_as_state._state_init() + child_as_state.state_entered.connect(func(): child_state_entered.emit()) + child_as_state.state_exited.connect(func(): child_state_exited.emit()) + +func _state_enter(transition_target:StateChartState) -> void: + super._state_enter(transition_target) + + # activate the initial state _unless_ one of these are true + # - the transition target is a descendant of this state + # - we already have an active state because entering the state triggered an immediate transition to a child state + # - we are no longer active becasue entering the state triggered an immediate transition to some other state + var target_is_descendant := false + if transition_target != null and is_ancestor_of(transition_target): + target_is_descendant = true + + if not target_is_descendant and not is_instance_valid(_active_state) and _state_active: + if _initial_state != null: + if _initial_state is HistoryState: + _restore_history_state(_initial_state) + else: + _active_state = _initial_state + _active_state._state_enter(null) + else: + push_error("No initial state set for state '" + name + "'.") + +func _state_step() -> void: + super._state_step() + if _active_state != null: + _active_state._state_step() + +func _state_save(saved_state:SavedState, child_levels:int = -1) -> void: + super._state_save(saved_state, child_levels) + + # in addition save all history states, as they are never active and normally would not be saved + var parent := saved_state.get_substate_or_null(self) + if parent == null: + push_error("Probably a bug: The state of '" + name + "' was not saved.") + return + + for history_state in _history_states: + history_state._state_save(parent, child_levels) + +func _state_restore(saved_state:SavedState, child_levels:int = -1) -> void: + super._state_restore(saved_state, child_levels) + + # in addition check if we are now active and if so determine the current active state + if active: + # find the currently active child + for child in get_children(): + if child is StateChartState and child.active: + _active_state = child + break + +func _state_exit() -> void: + # if we have any history states, we need to save the current active state + if _history_states.size() > 0: + var saved_state := SavedState.new() + # we save the entire hierarchy if any of the history states needs a deep history + # otherwise we only save this level. This way we can save memory and processing time + _state_save(saved_state, -1 if _needs_deep_history else 1) + + # now save the saved state in all history states + for history_state in _history_states: + # when saving history it's ok when we save deep history in a history state that doesn't need it + # because at restore time we will use the state's deep flag to determine if we need to restore + # the entire hierarchy or just this level. This way we don't need multiple copies of the same + # state hierarchy. + history_state.history = saved_state + + # deactivate the current state + if _active_state != null: + _active_state._state_exit() + _active_state = null + super._state_exit() + + +func _process_transitions(trigger_type:StateChart.TriggerType, event:StringName = "") -> bool: + if not active: + return false + + # forward to the active state + if is_instance_valid(_active_state): + if _active_state._process_transitions(trigger_type, event): + # emit the event_received signal when the trigger type is event + if trigger_type == StateChart.TriggerType.EVENT: + self.event_received.emit(event) + return true + + # if the event was not handled by the active state, we handle it here + # base class will also emit the event_received signal + return super._process_transitions(trigger_type, event) + + +func _handle_transition(transition:Transition, source:StateChartState) -> void: + # print("CompoundState._handle_transition: " + name + " from " + source.name + " to " + str(transition.to)) + # resolve the target state + var target := transition.resolve_target() + if target == null: + push_error("The target state '" + str(transition.to) + "' of the transition from '" + source.name + "' is not a state.") + return + + # the target state can be + # 0. this state. in this case exit this state and re-enter it. This can happen when + # a child state transfers to its parent state. + # 1. a direct child of this state. this is the easy case in which + # we will deactivate the current _active_state and activate the target + # 2. a descendant of this state. in this case we find the direct child which + # is the ancestor of the target state, activate it and then ask it to perform + # the transition. + # 3. no descendant of this state. in this case, we ask our parent state to + # perform the transition + + if target == self: + # exit this state and re-enter it + _state_exit() + _state_enter(target) + return + + if target in get_children(): + # all good, now first deactivate the current state + if is_instance_valid(_active_state): + _active_state._state_exit() + + # now check if the target is a history state, if this is the + # case, we need to restore the saved state + if target is HistoryState: + _restore_history_state(target) + return + + # else, just activate the target state + _active_state = target + _active_state._state_enter(target) + return + + if self.is_ancestor_of(target): + # find the child which is the ancestor of the new target. + for child in get_children(): + if child is StateChartState and child.is_ancestor_of(target): + # found it. + # change active state if necessary + if _active_state != child: + if is_instance_valid(_active_state): + _active_state._state_exit() + + _active_state = child + # give the transition target because we will send + # the transition to the child state right after we activate it. + # this avoids the child needlessly entering the initial state + _active_state._state_enter(target) + + # ask child to handle the transition + child._handle_transition(transition, source) + return + return + + # ask the parent + get_parent()._handle_transition(transition, source) + + +func _restore_history_state(target:HistoryState) -> void: + # print("Target is history state, restoring saved state.") + var saved_state := target.history + if saved_state != null: + # restore the saved state + _state_restore(saved_state, -1 if target.deep else 1) + return + # print("No history saved so far, activating default state.") + # if we don't have history, we just activate the default state + var default_state := target.get_node_or_null(target.default_state) as StateChartState + if is_instance_valid(default_state): + _active_state = default_state + _active_state._state_enter(null) + return + else: + push_error("The default state '" + str(target.default_state) + "' of the history state '" + target.name + "' cannot be found.") + return + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings := super._get_configuration_warnings() + + # count the amount of child states + var child_count := 0 + for child in get_children(): + if child is StateChartState: + child_count += 1 + + if child_count < 1: + warnings.append("Compound states should have at least one child state.") + + elif child_count < 2: + warnings.append("Compound states with only one child state are not very useful. Consider adding more child states or removing this compound state.") + + var the_initial_state := get_node_or_null(initial_state) + + if not is_instance_valid(the_initial_state): + warnings.append("Initial state could not be resolved, is the path correct?") + + elif the_initial_state.get_parent() != self: + warnings.append("Initial state must be a direct child of this compound state.") + + return warnings diff --git a/addons/godot_state_charts/compound_state.gd.uid b/addons/godot_state_charts/compound_state.gd.uid new file mode 100644 index 0000000..86d9082 --- /dev/null +++ b/addons/godot_state_charts/compound_state.gd.uid @@ -0,0 +1 @@ +uid://jk2jm1g6q853 diff --git a/addons/godot_state_charts/compound_state.svg b/addons/godot_state_charts/compound_state.svg new file mode 100644 index 0000000..170d6d3 --- /dev/null +++ b/addons/godot_state_charts/compound_state.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/addons/godot_state_charts/compound_state.svg.import b/addons/godot_state_charts/compound_state.svg.import new file mode 100644 index 0000000..a073c11 --- /dev/null +++ b/addons/godot_state_charts/compound_state.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbudjoa3ds4qj" +path="res://.godot/imported/compound_state.svg-84780d78ec1f15e1cbb9d20f4df031a7.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/godot_state_charts/compound_state.svg" +dest_files=["res://.godot/imported/compound_state.svg-84780d78ec1f15e1cbb9d20f4df031a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/godot_state_charts/csharp/CompoundState.cs b/addons/godot_state_charts/csharp/CompoundState.cs new file mode 100644 index 0000000..fdef872 --- /dev/null +++ b/addons/godot_state_charts/csharp/CompoundState.cs @@ -0,0 +1,66 @@ + + +// ReSharper disable once CheckNamespace +namespace GodotStateCharts +{ + using System; + using Godot; + + /// + /// Wrapper around the compound state node. + /// + public class CompoundState : StateChartState + { + /// + /// Called when a child state is entered. + /// + public event Action ChildStateEntered + { + add => Wrapped.Connect(SignalName.ChildStateEntered, Callable.From(value)); + remove => Wrapped.Disconnect(SignalName.ChildStateEntered, Callable.From(value)); + } + + /// + /// Called when a child state is exited. + /// + public event Action ChildStateExited + { + add => Wrapped.Connect(SignalName.ChildStateExited, Callable.From(value)); + remove => Wrapped.Disconnect(SignalName.ChildStateExited, Callable.From(value)); + } + + private CompoundState(Node wrapped) : base(wrapped) + { + } + + /// + /// Creates a wrapper object around the given node and verifies that the node + /// is actually a compound state. The wrapper object can then be used to interact + /// with the compound state chart from C#. + /// + /// the node that is the state + /// a State wrapper. + /// ArgumentException if the node is not a state. + public new static CompoundState Of(Node state) + { + if (state.GetScript().As